From a397cf1c71dc29cef080aa30f855c1a00471bfd9 Mon Sep 17 00:00:00 2001 From: haven1433 Date: Mon, 19 Jun 2023 22:00:16 -0500 Subject: [PATCH] "add" button for new scripts --- .../ViewModels/Map/IEventViewModel.cs | 13 ++++++++++++- src/HexManiac.WPF/Controls/MapTab.xaml | 5 +++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/HexManiac.Core/ViewModels/Map/IEventViewModel.cs b/src/HexManiac.Core/ViewModels/Map/IEventViewModel.cs index 93c4c111..64bf7733 100644 --- a/src/HexManiac.Core/ViewModels/Map/IEventViewModel.cs +++ b/src/HexManiac.Core/ViewModels/Map/IEventViewModel.cs @@ -1274,11 +1274,22 @@ show: public int ScriptAddress { get => element.GetAddress("script"); - set => element.SetAddress("script", value); + set { + element.SetAddress("script", value); + NotifyPropertyChanged(nameof(CanCreateScript)); + } } public void GotoScript() => gotoAddress(ScriptAddress); + public bool CanCreateScript => ScriptAddress == Pointer.NULL; + public void CreateScript() { + var start = element.Model.FindFreeSpace(element.Model.FreeSpaceStart, 0x10); + Token.ChangeData(element.Model, start, 2); + ScriptAddress = start; + gotoAddress(start); + } + private string scriptAddressText; public string ScriptAddressText { get { diff --git a/src/HexManiac.WPF/Controls/MapTab.xaml b/src/HexManiac.WPF/Controls/MapTab.xaml index 6855ac32..3e641764 100644 --- a/src/HexManiac.WPF/Controls/MapTab.xaml +++ b/src/HexManiac.WPF/Controls/MapTab.xaml @@ -703,6 +703,11 @@ Width="22" Height="18" IsTabStop="False" Padding="0,2" BorderBrush="{DynamicResource Backlight}"> + + +