From aeb2315abbadbada39640fd5db769f91b84228f4 Mon Sep 17 00:00:00 2001 From: Jamiras Date: Sat, 20 Jun 2026 17:19:28 -0600 Subject: [PATCH] include local notes when creating new script --- Source/ViewModels/NewScriptDialogViewModel.cs | 44 +++++++++++-------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/Source/ViewModels/NewScriptDialogViewModel.cs b/Source/ViewModels/NewScriptDialogViewModel.cs index f2145039..9306c544 100644 --- a/Source/ViewModels/NewScriptDialogViewModel.cs +++ b/Source/ViewModels/NewScriptDialogViewModel.cs @@ -249,31 +249,37 @@ private void LoadLeaderboards() } } - private void LoadNotes() + private void LoadNote(CodeNote note) { - _publishedAssets.LoadNotes(); + var memoryAccessor = new MemoryAccessorAlias(note.Address, note); + var index = _memoryAccessors.BinarySearch(memoryAccessor, memoryAccessor); - foreach (var note in _publishedAssets.Notes.Values) + var size = note.Size; + switch (size) { - var memoryAccessor = new MemoryAccessorAlias(note.Address, note); - var index = _memoryAccessors.BinarySearch(memoryAccessor, memoryAccessor); - - if (index >= 0) - continue; + case FieldSize.None: + case FieldSize.Array: + // these sizes don't have accessor functions, fallback to byte() + size = FieldSize.Byte; + break; + } - var size = note.Size; - switch (size) - { - case FieldSize.None: - case FieldSize.Array: - // these sizes don't have accessor functions, fallback to byte() - size = FieldSize.Byte; - break; - } + memoryAccessor.ReferenceSize(size); - memoryAccessor.ReferenceSize(size); + if (index >= 0) + _memoryAccessors[index] = memoryAccessor; + else _memoryAccessors.Insert(~index, memoryAccessor); - } + } + + private void LoadNotes() + { + _publishedAssets.LoadNotes(); + foreach (var note in _publishedAssets.Notes.Values) + LoadNote(note); + + foreach (var note in _localAssets.Notes) + LoadNote(new CodeNote(note.Key, note.Value)); } private static int CompareMemoryItems(MemoryItem left, MemoryItem right)