From 407c7ce813c8a98c9d9c6ccdc6a8633510aacfb2 Mon Sep 17 00:00:00 2001 From: Rikux3 Date: Mon, 4 Nov 2019 18:48:31 +0100 Subject: [PATCH] adjustments to the objentry structure Spawner objects, as shown here https://www.youtube.com/watch?v=nfbpGqJgH68 --- OpenKh.Kh2/Objentry.cs | 11 ++++++--- .../ViewModels/ObjentryViewModel.cs | 13 +++++++---- .../Views/ObjentryView.xaml | 23 +++++++++++++++---- 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/OpenKh.Kh2/Objentry.cs b/OpenKh.Kh2/Objentry.cs index 8e3793a74..8230ded33 100644 --- a/OpenKh.Kh2/Objentry.cs +++ b/OpenKh.Kh2/Objentry.cs @@ -7,7 +7,8 @@ public class Objentry { [Data] public ushort ObjectId { get; set; } [Data] public ushort Unknown02 { get; set; } - [Data] public ushort ObjectType { get; set; } + [Data] public byte ObjectType { get; set; } + [Data] public byte Unknown05{ get; set; } [Data] public byte Unknown06 { get; set; } [Data] public byte WeaponJoint { get; set; } [Data(Count = 32)] public byte[] ModelName { get; set; } @@ -16,8 +17,12 @@ public class Objentry [Data] public ushort NeoStatus { get; set; } [Data] public ushort NeoMoveset { get; set; } [Data] public uint Unknown50 { get; set; } - [Data] public uint Unknown54 { get; set; } - [Data] public uint Unknown58 { get; set; } + [Data] public byte SpawnLimiter { get; set; } + [Data] public byte Unknown55 { get; set; } + [Data] public byte Unknown56{ get; set; } + [Data] public byte Unknown57{ get; set; } + [Data] public ushort SpawnObject1 { get; set; } + [Data] public ushort SpawnObject2 { get; set; } [Data] public uint Unknown5c { get; set; } public static BaseTable Read(Stream stream) => BaseTable.Read(stream); diff --git a/OpenKh.Tools.ObjentryEditor/ViewModels/ObjentryViewModel.cs b/OpenKh.Tools.ObjentryEditor/ViewModels/ObjentryViewModel.cs index 62d2397ac..776d46a0d 100644 --- a/OpenKh.Tools.ObjentryEditor/ViewModels/ObjentryViewModel.cs +++ b/OpenKh.Tools.ObjentryEditor/ViewModels/ObjentryViewModel.cs @@ -27,13 +27,14 @@ public ObjentryEntryViewModel(Objentry entry) public ushort ObjectId { get => Objentry.ObjectId; set => Objentry.ObjectId = value; } public ushort Unknown02 { get => Objentry.Unknown02; set => Objentry.Unknown02 = value; } - public ushort ObjectType { get => Objentry.ObjectType; set => Objentry.ObjectType = value; } + public byte ObjectType { get => Objentry.ObjectType; set => Objentry.ObjectType = value; } + public byte Unknown05 { get => Objentry.Unknown05; set => Objentry.Unknown05 = value; } public byte Unknown06 { get => Objentry.Unknown06; set => Objentry.Unknown06 = value; } public byte WeaponJoint { get => Objentry.WeaponJoint; set => Objentry.WeaponJoint = value; } public string ModelName { get { return Objentry.ModelName == null ? string.Empty : Encoding.Default.GetString(Objentry.ModelName); } - set { Objentry.ModelName = Encoding.Default.GetBytes(value); OnPropertyChanged("Name"); } + set { Objentry.ModelName = Encoding.Default.GetBytes(value); OnPropertyChanged(nameof(Name)); } } public string AnimationName { @@ -44,8 +45,12 @@ public string AnimationName public ushort NeoStatus { get => Objentry.NeoStatus; set => Objentry.NeoStatus = value; } public ushort NeoMoveset { get => Objentry.NeoMoveset; set => Objentry.NeoMoveset = value; } public uint Unknown50 { get => Objentry.Unknown50; set => Objentry.Unknown50 = value; } - public uint Unknown54 { get => Objentry.Unknown54; set => Objentry.Unknown54 = value; } - public uint Unknown58 { get => Objentry.Unknown58; set => Objentry.Unknown58 = value; } + public byte SpawnLimiter { get => Objentry.SpawnLimiter; set => Objentry.SpawnLimiter = value; } + public byte Unknown55 { get => Objentry.Unknown55; set => Objentry.Unknown55 = value; } + public byte Unknown56 { get => Objentry.Unknown56; set => Objentry.Unknown56 = value; } + public byte Unknown57 { get => Objentry.Unknown57; set => Objentry.Unknown57 = value; } + public ushort SpawnObject1 { get => Objentry.SpawnObject1; set => Objentry.SpawnObject1 = value; } + public ushort SpawnObject2 { get => Objentry.SpawnObject2; set => Objentry.SpawnObject2 = value; } public uint Unknown5c { get => Objentry.Unknown5c; set => Objentry.Unknown5c = value; } public override string ToString() => Name; diff --git a/OpenKh.Tools.ObjentryEditor/Views/ObjentryView.xaml b/OpenKh.Tools.ObjentryEditor/Views/ObjentryView.xaml index eaa186a1c..4d9d02f10 100644 --- a/OpenKh.Tools.ObjentryEditor/Views/ObjentryView.xaml +++ b/OpenKh.Tools.ObjentryEditor/Views/ObjentryView.xaml @@ -77,6 +77,9 @@ + + + @@ -102,11 +105,23 @@ - - + + - - + + + + + + + + + + + + + +