SadConsole 9.0.0-alpha5

A library that emulates old-school console and command prompt style graphics. Targets .NET Standard 2.1.

This is a prerelease version of SadConsole.
There is a newer version of this package available.
See the version list below for details.
Install-Package SadConsole -Version 9.0.0-alpha5
dotnet add package SadConsole --version 9.0.0-alpha5
<PackageReference Include="SadConsole" Version="9.0.0-alpha5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SadConsole --version 9.0.0-alpha5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SadConsole, 9.0.0-alpha5"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install SadConsole as a Cake Addin
#addin nuget:?package=SadConsole&version=9.0.0-alpha5&prerelease

// Install SadConsole as a Cake Tool
#tool nuget:?package=SadConsole&version=9.0.0-alpha5&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
  • Moved SadConsole.Global into the GameHost.
  • Rewrote the UI control framework, removing the need for ControlsConsole. Any console can now add the UI.ControlHost component and support controls.
    • ControlsConsole still exists as a simple way to automatically add the ControlHost.
  • Settings now expose the defaults for UseKeyboard and UseMouse for screen objects.
  • Moved SadConsole.Global into the GameHost.
  • Rewrote the UI control framework, removing the need for ControlsConsole. Any console can now add the UI.ControlHost component and support controls.
    • ControlsConsole still exists as a simple way to automatically add the ControlHost.
  • Settings now expose the defaults for UseKeyboard and UseMouse for screen objects.

Release Notes

A lot of structual changes to split out rendering from SadConsole. You now need to add SadConsole.Host.MonoGame
or SadConsole.Host SFML to your project.

Major changes:

- Object model has changed a lot. Console types no longer inherit from CellSurface and are based on a few different base
classes and interfaces implemented through ScreenObject. Everything in SadConsole is now a ScreenObject.

- Console.Surface represents the cell surface of the console. Extension methods are provided so that you can use
Console.Print and related methods. If you coding inside a Console instance though, the extension methods only work if
you qualify the call with this.Print.

- Font/FontMaster are now merged into a single type: Font.

- Font sizes are always represented in an X,Y value now, and are seperate from the font itself. This means every
console has a Font and FontSize property now instead of a single Font property.

- All UI objects were moved into the SadConsole.UI namespace.

- The theme system was overhauled (and mostly backported to SadConsole v8).

- A lot of misc name changes, swapping out where it specified Console and substituting ScreenObject. For example,
SadConsole.Input.MouseConsoleState is now SadConsole.Input.MouseScreenObjectState

- SadConsole.Global had a lot of changes and not longer exists. Properties from Global are now available on SadConsole.GameHost.Instance.

- SadConsole.GameHost.Instance.Screen is the root console displayed on the screen to which all other objects are attached to. It is a console
and you cannot change this. It makes it simpler for new users. To disable it, disable the renderer: SadConsole.GameHost.Instance.Screen.Renderer = null.
Objects added to the Children collection will still work; SadConsole will not bother drawing the root console itself.

- ControlConsole no longer provides the logic for the GUI system. This was migrated to a new component: ControlHost. The host can be added to any console
you want to be able to display controls. The ControlsConsole type remains for ease of use. It now provides a ControlHostComponent property with direct
access to the component instance automatically added to the console.

- Entity is no longer a Console but a ScreenObject.

- App creation is slightly different with a few names migrated and events for draw/update callbacks

 SadConsole.Game.Create(80, 25);
 SadConsole.Game.Instance.OnStart = Init;
 SadConsole.Game.Instance.FrameUpdate += Instance_FrameUpdate;
 SadConsole.Game.Instance.Run();
 SadConsole.Game.Instance.Dispose();

NuGet packages (6)

Showing the top 5 NuGet packages that depend on SadConsole:

Package Downloads
SadConsole.Host.MonoGame
A graphics hosting library for SadConsole. Targets MonoGame and .NET Standard 2.1.
SadConsole.Host.SFML
A graphics hosting library for SadConsole. Targets SFML and .NET Standard 2.1.
SadConsole.GoRogueHelpers
A helper library for SadConsole games built with GoRogue.
SadConsole.Extended
A library of common classes that extend SadConsole with new controls, windows, and more.
Highbyte.DotNet6502.SadConsoleHost
A SadConsole support library for running 6502 code in Highbyte.DotNet6502 CPU emulator and interacting with a SadConsole window on the host.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on SadConsole:

Repository Stars
Thraka/SadConsole
A .NET ascii/ansi console engine written in C# for MonoGame and XNA. Create your own text roguelike (or other) games!

Version History

Version Downloads Last updated
9.0.0 323 6/6/2021
9.0.0-debug 76 6/6/2021
9.0.0-beta4 187 1/15/2021
9.0.0-beta3 244 12/19/2020
9.0.0-beta2 206 10/9/2020
9.0.0-beta1 292 8/1/2020
9.0.0-alpha9 329 7/25/2020
9.0.0-alpha8 186 7/13/2020
9.0.0-alpha7 229 7/11/2020
9.0.0-alpha6 350 5/28/2020
9.0.0-alpha5 254 5/26/2020
9.0.0-alpha4 203 5/1/2020
9.0.0-alpha3 245 5/1/2020
9.0.0-alpha2 236 3/14/2020
9.0.0-alpha1 422 1/26/2020
8.99.3 1,718 8/15/2020
8.99.3-debug 159 8/15/2020
8.99.2 330 7/14/2020
8.99.2-debug 174 7/14/2020
8.99.1 891 4/11/2020
8.99.1-debug 240 4/11/2020
8.99.0 813 11/27/2019
8.99.0-debug 220 11/27/2019
8.9.1 521 11/5/2019
8.9.1-debug 209 11/5/2019
8.9.0 700 9/7/2019
8.9.0-debug 324 9/7/2019
8.8.1 609 7/28/2019
8.8.1-debug 336 7/28/2019
8.8.0 373 7/27/2019
8.8.0-debug 324 7/27/2019
8.7.1 493 6/22/2019
8.7.1-debug 344 6/22/2019
8.7.0 357 6/22/2019
8.7.0-debug 336 6/22/2019
8.6.0 644 4/14/2019
8.6.0-debug 365 4/14/2019
8.5.0 476 4/2/2019
8.5.0-debug 367 4/2/2019
8.4.1 482 3/19/2019
8.4.1-debug 368 3/19/2019
8.4.0 388 3/17/2019
8.4.0-debug 364 3/17/2019
8.3.0 423 3/10/2019
8.3.0-debug 364 3/10/2019
8.2.0 442 3/2/2019
8.2.0-debug 391 3/2/2019
8.1.0 420 2/28/2019
8.1.0-debug 376 2/28/2019
8.0.0 457 2/24/2019
8.0.0-pre5 437 2/19/2019
8.0.0-pre4 441 1/31/2019
8.0.0-pre2 480 12/30/2018
8.0.0-pre1 434 12/30/2018
7.3.0 535 12/29/2018
7.2.0 649 11/20/2018
7.1.0 664 10/19/2018
7.0.4 636 9/8/2018
7.0.3 523 9/8/2018
7.0.2 834 8/31/2018
7.0.0 570 8/29/2018
7.0.0-pre1 532 8/22/2018
6.5.0 726 6/12/2018
6.4.11 788 4/13/2018
6.4.11-pre1 750 4/6/2018
6.4.10 703 3/18/2018
6.4.9 645 3/18/2018
6.4.8 647 3/18/2018
6.4.7 664 3/16/2018
6.4.6 879 2/14/2018
6.4.5 714 2/3/2018
6.4.3 748 11/14/2017
6.4.2 819 8/11/2017
6.4.1 643 8/10/2017
6.4.0 694 7/25/2017
6.3.0 764 6/9/2017
6.2.2 708 5/20/2017
6.2.1 811 4/23/2017
6.2.0 669 4/22/2017
6.1.4 692 4/17/2017
6.1.3 1,328 4/3/2017
6.1.2 657 4/1/2017
6.1.1 670 4/1/2017
6.1.0 652 3/31/2017
6.0.1 729 3/19/2017
6.0.0 637 3/18/2017
Show less