diff --git a/README.md b/README.md index 78bc6ef6..23692a5d 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ SadConsole is a C#-based .NET cross-platform terminal, ascii, console, game engi While SadConsole is a generic library that doesn't provide any rendering capabilities, "host" libraries are provided that add renderers to SadConsole. The two hosts provided by this library are for **SadConsole.Host.MonoGame** and **SadConsole.Host.SFML**. When adding a host library to your project, you don't need to reference the base **SadConsole** package. If you use MonoGame, you'll also need to add a rendering NuGet package, such as **MonoGame.Framework.DesktopGL**. -_SadConsole currently targets .NET 6, .NET 7, and .NET 8_ +_SadConsole currently targets .NET 6, .NET 7, .NET 8, and .NET 9_ For the latest changes in this release, see the [notes below](#latest-changes) @@ -119,11 +119,9 @@ End Module ## Latest changes -v10.4.2 (10/23/2024) - -- [Core] Fixed small bug when cursor's effect was removed. -- [Core] `StringParser`'s base command object has a virtual `Removed` method. -- [Core] `StringParser`'s Recolor command can use 'w' in place of length to specify that it recolors 'word' length: until a space or \0 character is reached. -- [Core] `StringParser`'s Blink command now has the blink effect `RestoreCellOnRemoved` set to true. -- [Core] `NamedColor` supporting type which is just a collection of named color values for serialization. -- [Core] Fix some spelling errors. +- [All] Add .NET 9 target. This will be the last release for .NET 6 and .NET 7. +- [Core] Some components that used their own renderers weren't disposing the ones they replaced. +- [UI] Fix bug with mouse moving over composite controls such as the list box. +- [Extended] Rework `DebugMouseTint` class and add `DebugFocusedTint` class. Both settable as configuration builder options now. +- [MonoGame] Use `TitleContainer` for serialization. This was previously removed for some reason. Configurable through the `UseTitleContainer` configuration builder option. +- [Debug Library] Release the first version of the `SadConsole.Debug.MonoGame` library. This also adds general **ImGui** support. diff --git a/SadConsole/SadConsole.xml b/SadConsole/SadConsole.xml index 403a2579..642c30ed 100644 --- a/SadConsole/SadConsole.xml +++ b/SadConsole/SadConsole.xml @@ -2759,23 +2759,6 @@ The string "Console". - - - A debugging screen that takes the place of the active and displays information about SadConsole. - - - - - Displays the debugger. - - The font to use the debugging screen. - The size of the font. - - - - Shows the debug screen with the default font and size. - - A draw call that invokes an delegate. @@ -11056,16 +11039,6 @@ A message to provide to the result if the validation fails. The validation result. - - - Pattern:
- [a-zA-Z]
- Explanation:
- - ○ Match a character in the set [A-Za-z].
-
-
-
A color that can be adjusted by brightness and mapped to a color. @@ -15125,44 +15098,5 @@ The text to use for the colored string. A new colored string object. - - Custom -derived type for the LettersOnly method. - - - Cached, thread-safe singleton instance. - - - Initializes the instance. - - - Provides a factory for creating instances to be used by methods on . - - - Creates an instance of a used by methods on . - - - Provides the runner that contains the custom logic implementing the specified regular expression. - - - Scan the starting from base.runtextstart for the next match. - The text being scanned by the regular expression. - - - Search starting from base.runtextpos for the next location a match could possibly start. - The text being scanned by the regular expression. - true if a possible match was found; false if no more matches are possible. - - - Helper methods used by generated -derived implementations. - - - Default timeout value set in , or if none was set. - - - Whether is non-infinite. - - - Supports searching for characters in or not in "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz". - diff --git a/nuget/build.ps1 b/nuget/build.ps1 index 76d1a124..1e9641e5 100644 --- a/nuget/build.ps1 +++ b/nuget/build.ps1 @@ -53,8 +53,41 @@ if ($foundPackage){ $projects = "SadConsole.Extended", "SadConsole.Host.MonoGame", "SadConsole.Host.SFML", "SadConsole.Host.FNA", "SadConsole.Debug.MonoGame" foreach ($project in $projects) { - - # SadConsole Extended + + # Special condition for debug package + if ($project -eq "SadConsole.Debug.MonoGame") { + + + $timeout = New-TimeSpan -Minutes 10 + $timer = [Diagnostics.StopWatch]::StartNew() + [Boolean]$foundPackage = $false + + Write-Output "Processing SadConsole.Debug.MonoGame project, waiting on MonoGame host package" + + # Loop searching for the new MonoGame package + while ($timer.elapsed -lt $timeout){ + + $existingVersions = (Invoke-WebRequest "https://api-v2v3search-0.nuget.org/query?q=PackageId:SadConsole.Host.MonoGame&prerelease=true").Content | ConvertFrom-Json + + if ($existingVersions.totalHits -eq 0) { + throw "Unable to get any results from NuGet" + } + + if ($null -eq ($existingVersions.data.versions | Where-Object version -eq $version)) { + Write-Output "Waiting 30 seconds to retry..." + Start-Sleep -Seconds 30 + } + else { + Write-Output "Found package. Waiting 1 extra minute to let things settle" + $foundPackage = $true + Start-Sleep -Seconds 60 + break + } + } + + } + + # Build package Write-Output "Building $project Debug and Release" $output = Invoke-Expression "dotnet build ..\$project\$project.csproj -c Debug -p:UseProjectReferences=false --no-cache"; if ($LASTEXITCODE -ne 0) { Write-Error "Failed"; Write-Output $output; throw } $output = Invoke-Expression "dotnet build ..\$project\$project.csproj -c Release -p:UseProjectReferences=false --no-cache"; if ($LASTEXITCODE -ne 0) { Write-Error "Failed"; Write-Output $output; throw } @@ -72,3 +105,4 @@ if ($foundPackage){ # Archive the packages Move-Item "*.nupkg","*.snupkg" .\archive\ -force } + diff --git a/templates/SadConsole.Templates.csproj b/templates/SadConsole.Templates.csproj index d8aa978b..0193bdfa 100644 --- a/templates/SadConsole.Templates.csproj +++ b/templates/SadConsole.Templates.csproj @@ -2,7 +2,7 @@ Template - 10.4.5 + 10.5.0 SadConsole.Templates SadConsole Game Templates Thraka diff --git a/templates/template_code/SadConsole.Examples.Demo.CSharp/.template.config/template.json b/templates/template_code/SadConsole.Examples.Demo.CSharp/.template.config/template.json index c30b5698..3f56feb0 100644 --- a/templates/template_code/SadConsole.Examples.Demo.CSharp/.template.config/template.json +++ b/templates/template_code/SadConsole.Examples.Demo.CSharp/.template.config/template.json @@ -20,7 +20,7 @@ { "modifiers": [ { - "copyOnly": [ "*.MonoGame.cs", "*.SFML.cs", "Program.cs" ] + "copyOnly": [ "*.MonoGame.cs", "*.SFML.cs", "*.FNA.cs", "Program.cs" ] } ] } diff --git a/templates/template_code/SadConsole.Examples.Demo.CSharp/Examples.csproj b/templates/template_code/SadConsole.Examples.Demo.CSharp/Examples.csproj index fdaa22c5..26aa5355 100644 --- a/templates/template_code/SadConsole.Examples.Demo.CSharp/Examples.csproj +++ b/templates/template_code/SadConsole.Examples.Demo.CSharp/Examples.csproj @@ -27,9 +27,9 @@ - - - + + + diff --git a/templates/template_code/SadConsole.Project.MonoGame.CSharp/MyGame.csproj b/templates/template_code/SadConsole.Project.MonoGame.CSharp/MyGame.csproj index 1376f91e..02f20332 100644 --- a/templates/template_code/SadConsole.Project.MonoGame.CSharp/MyGame.csproj +++ b/templates/template_code/SadConsole.Project.MonoGame.CSharp/MyGame.csproj @@ -17,8 +17,8 @@ - - + + diff --git a/templates/template_code/SadConsole.Project.SFML.CSharp/MyGame.csproj b/templates/template_code/SadConsole.Project.SFML.CSharp/MyGame.csproj index 3c296bca..aa7a001b 100644 --- a/templates/template_code/SadConsole.Project.SFML.CSharp/MyGame.csproj +++ b/templates/template_code/SadConsole.Project.SFML.CSharp/MyGame.csproj @@ -16,8 +16,8 @@ - - + +