From d2bb4adbe2d433ba7de52b1e946f4003cd417fff Mon Sep 17 00:00:00 2001 From: Benjamin Popp Date: Sat, 19 Oct 2019 21:26:02 -0500 Subject: [PATCH] Updates for Gaia All tests pass now. The results for gaia are a bit different, but still acceptable. --- src/HexManiac.Core/Models/Runs/ArrayRun.cs | 1 + src/HexManiac.Tests/AutoSearchTests.cs | 11 +++++------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/HexManiac.Core/Models/Runs/ArrayRun.cs b/src/HexManiac.Core/Models/Runs/ArrayRun.cs index 0257539d..a0aff9c6 100644 --- a/src/HexManiac.Core/Models/Runs/ArrayRun.cs +++ b/src/HexManiac.Core/Models/Runs/ArrayRun.cs @@ -101,6 +101,7 @@ namespace HavenSoft.HexManiac.Core.Models.Runs { while (Start + byteLength + ElementLength <= nextRun.Start && DataMatchesElementFormat(owner, Start + byteLength, ElementContent, flags, nextRun)) { byteLength += ElementLength; elementCount++; + if (elementCount == 100) flags |= FormatMatchFlags.AllowJunkAfterText; } LengthFromAnchor = string.Empty; ElementCount = Math.Max(1, elementCount); // if the user said there's a format here, then there is, even if the format it wrong. diff --git a/src/HexManiac.Tests/AutoSearchTests.cs b/src/HexManiac.Tests/AutoSearchTests.cs index de95323a..2caf2ce0 100644 --- a/src/HexManiac.Tests/AutoSearchTests.cs +++ b/src/HexManiac.Tests/AutoSearchTests.cs @@ -44,7 +44,7 @@ namespace HavenSoft.HexManiac.Tests { var address = model.GetAddressFromAnchor(noChange, -1, EggMoveRun.PokemonNameTable); var run = (ArrayRun)model.GetNextAnchor(address); - if (game.Contains("Gaia")) Assert.Equal(925, run.ElementCount); + if (game.Contains("Gaia")) Assert.Equal(1111, run.ElementCount); else Assert.Equal(412, run.ElementCount); } @@ -105,7 +105,7 @@ namespace HavenSoft.HexManiac.Tests { var address = model.GetAddressFromAnchor(noChange, -1, "types"); var run = (ArrayRun)model.GetNextAnchor(address); if (game.Contains("Clover")) Assert.Equal(24, run.ElementCount); - else if (game.Contains("Gaia")) Assert.Equal(24, run.ElementCount); + else if (game.Contains("Gaia")) Assert.Equal(25, run.ElementCount); else Assert.Equal(18, run.ElementCount); } @@ -233,8 +233,7 @@ namespace HavenSoft.HexManiac.Tests { var compatibilityLocation = model.GetAddressFromAnchor(noChange, -1, AutoSearchModel.TutorCompatibility); // ruby and sapphire have no tutors - // Gaia has move tutors, but it does a bunch of custom stuff (multiple tables) so I don't feel bad about not supporting it by default. - if (game.Contains("Ruby") || game.Contains("Sapphire") || game.Contains("Gaia")) { + if (game.Contains("Ruby") || game.Contains("Sapphire")) { Assert.Equal(Pointer.NULL, movesLocation); Assert.Equal(Pointer.NULL, compatibilityLocation); return; @@ -284,9 +283,9 @@ namespace HavenSoft.HexManiac.Tests { editor.Add(viewPort); var expandTutors = editor.QuickEdits.Single(edit => edit.Name == "Make Tutors Expandable"); - // ruby/sapphire/gaia do not support this quick-edit + // ruby/sapphire do not support this quick-edit var canRun = expandTutors.CanRun(viewPort); - if (game.Contains("Ruby") || game.Contains("Sapphire") || game.Contains("Gaia")) { + if (game.Contains("Ruby") || game.Contains("Sapphire")) { Assert.False(canRun); return; } else {