SadConsole 9.0.0-alpha8

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-alpha8
dotnet add package SadConsole --version 9.0.0-alpha8
<PackageReference Include="SadConsole" Version="9.0.0-alpha8" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SadConsole --version 9.0.0-alpha8
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SadConsole, 9.0.0-alpha8"
#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-alpha8&prerelease

// Install SadConsole as a Cake Tool
#tool nuget:?package=SadConsole&version=9.0.0-alpha8&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
  • Fixed a lot of LayeredScreenSurface bugs.
  • SFML: Renamed Renderers.LayeredScreenObject to Renderers.LayeredScreenSurface
  • Removed TintBeforeDrawCall. Not a good design.
  • Added SadConsole.Instructions.AnimatedValue to animate a value over a duration.
  • Updated SadConsole.Instructions.FadeTextSurfaceTint to use AnimatedValue.
  • Renderers.ScreenSurfaceRenderer has an Opaqueness setting to render a console surface transparent.
  • Fixed a lot of LayeredScreenSurface bugs.
  • SFML: Renamed Renderers.LayeredScreenObject to Renderers.LayeredScreenSurface
  • Removed TintBeforeDrawCall. Not a good design.
  • Added SadConsole.Instructions.AnimatedValue to animate a value over a duration.
  • Updated SadConsole.Instructions.FadeTextSurfaceTint to use AnimatedValue.
  • Renderers.ScreenSurfaceRenderer has an Opaqueness setting to render a console surface transparent.

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 separate 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 260 6/6/2021
9.0.0-debug 67 6/6/2021
9.0.0-beta4 176 1/15/2021
9.0.0-beta3 244 12/19/2020
9.0.0-beta2 206 10/9/2020
9.0.0-beta1 287 8/1/2020
9.0.0-alpha9 325 7/25/2020
9.0.0-alpha8 182 7/13/2020
9.0.0-alpha7 225 7/11/2020
9.0.0-alpha6 346 5/28/2020
9.0.0-alpha5 250 5/26/2020
9.0.0-alpha4 199 5/1/2020
9.0.0-alpha3 241 5/1/2020
9.0.0-alpha2 236 3/14/2020
9.0.0-alpha1 422 1/26/2020
8.99.3 1,695 8/15/2020
8.99.3-debug 155 8/15/2020
8.99.2 329 7/14/2020
8.99.2-debug 174 7/14/2020
8.99.1 880 4/11/2020
8.99.1-debug 236 4/11/2020
8.99.0 809 11/27/2019
8.99.0-debug 219 11/27/2019
8.9.1 516 11/5/2019
8.9.1-debug 205 11/5/2019
8.9.0 699 9/7/2019
8.9.0-debug 324 9/7/2019
8.8.1 608 7/28/2019
8.8.1-debug 336 7/28/2019
8.8.0 368 7/27/2019
8.8.0-debug 320 7/27/2019
8.7.1 488 6/22/2019
8.7.1-debug 340 6/22/2019
8.7.0 356 6/22/2019
8.7.0-debug 336 6/22/2019
8.6.0 638 4/14/2019
8.6.0-debug 361 4/14/2019
8.5.0 475 4/2/2019
8.5.0-debug 367 4/2/2019
8.4.1 476 3/19/2019
8.4.1-debug 363 3/19/2019
8.4.0 382 3/17/2019
8.4.0-debug 360 3/17/2019
8.3.0 418 3/10/2019
8.3.0-debug 360 3/10/2019
8.2.0 439 3/2/2019
8.2.0-debug 391 3/2/2019
8.1.0 415 2/28/2019
8.1.0-debug 372 2/28/2019
8.0.0 455 2/24/2019
8.0.0-pre5 436 2/19/2019
8.0.0-pre4 441 1/31/2019
8.0.0-pre2 480 12/30/2018
8.0.0-pre1 430 12/30/2018
7.3.0 531 12/29/2018
7.2.0 644 11/20/2018
7.1.0 658 10/19/2018
7.0.4 634 9/8/2018
7.0.3 521 9/8/2018
7.0.2 828 8/31/2018
7.0.0 565 8/29/2018
7.0.0-pre1 531 8/22/2018
6.5.0 723 6/12/2018
6.4.11 781 4/13/2018
6.4.11-pre1 744 4/6/2018
6.4.10 700 3/18/2018
6.4.9 642 3/18/2018
6.4.8 640 3/18/2018
6.4.7 657 3/16/2018
6.4.6 872 2/14/2018
6.4.5 707 2/3/2018
6.4.3 746 11/14/2017
6.4.2 817 8/11/2017
6.4.1 641 8/10/2017
6.4.0 692 7/25/2017
6.3.0 762 6/9/2017
6.2.2 706 5/20/2017
6.2.1 809 4/23/2017
6.2.0 667 4/22/2017
6.1.4 690 4/17/2017
6.1.3 1,326 4/3/2017
6.1.2 651 4/1/2017
6.1.1 664 4/1/2017
6.1.0 646 3/31/2017
6.0.1 722 3/19/2017
6.0.0 635 3/18/2017
Show less