Releases: PurpleKingdomGames/roguelike-starterkit
0.5.0
New, Noteworthy, and Breaking Changes!
Scala.js 1.15.0
All PKG libs aim to stay current with Scala.js, and so the RLSK has been upgrade to 1.15.0. You will need to upgrade too!
Bugfix: Generated FontInfo
no longer breaks Scala.js linker
A couple of versions back, full character support was added to the generated tile information including FontInfo
instances, and this led to nondeterministic failures in the Scala.js linker. This wasn't Scala.js's fault, the implementation in this library was poor, and has now been fixed.
Breaking Change: FOV / Bresenham's line algorithm removed!
It has been transferred to Indigo, but otherwise works identically:
https://github.com/PurpleKingdomGames/indigo/releases/tag/v0.16.0
Breaking Change: PathFinder removed!
The implementation of path finding in the RLSK was not much better than Indigo's soon-to-be-deprecated SearchGrid
, please use Indigo's new PathFinder
instead:
https://github.com/PurpleKingdomGames/indigo/releases/tag/v0.16.0
TerminalEmulator is now backed by SparseGrid data type
The original terminal emulator was backed by Indigo's old QuadTree implementation, but version 0.16.0 of Indigo has completely reworked that to the extent that it is no longer suitable for the terminal's use case. Instead the TerminalEmulator is now backed by the SparseGrid type, which is much more appropriate and slightly more performant.
General improvements:
Generated Notes:
What's Changed
- Generated FontInfo breaks Scala.js linker by @davesmith00000 in #54
- Sparse grid data type by @davesmith00000 in #53
- Removed PathFinder by @davesmith00000 in #55
Full Changelog: v0.4.0...v0.5.0
0.4.0
Breaking and noteworthy
- This release contains a prototype version of a UI system for roguelikes. Currently includes
Window
,Button
,Label
andComponentGroup
types. - Deprecated
TerminalEntity
- this was the original terminal rendering solution, but it has long been superseded byCloneTiles
. - Top level package is now simply
roguelikestarterkit
(i.e.import roguelikestarterkit
), this is to be consistent with how the rest of the PKG libs are packaged. PathFinder
has had some work to make it simpler and more user friendly. This does not make it better at finding paths! (It may even be worse, test suggest not but...?)
Bug fixes
General improvements
MapTile
now haswithColors
methodTerminalEmulator
screenSize
renames tosize
to be consistent withRogueTerminalEmulator
RogueTerminalEmulator
has aclone()
method, for when you really want a copy.- Methods to allow conversion between
RogueTerminalEmulator
andTerminalEmulator
types - Able to render regions of a terminal
TerminalClones
have convenienttoSceneUpdateFragment
method- You can now modify clone instances during creation, for exciting new effects!
- Terminals have new modifiers like
map
,fillCircle
, andmodifyAt
to name a few. import roguelikestarterkit.syntax
contains atoPoints
extension method forRectangle
s that produces a grid of points.PathFinder
has anextMove
method to give you just the ...next move!PathFinder
no longer needs a dice instance, it is not random.PathFinder
chooses the tile most directly heading towards the target.PathFinder
'slocatePath
no longer includes with current position / start.- Preserve tile sheet colours - If a tilesheet include colours, we now ignore those and only tint the grey scale values.
- Add support for dynamic lighting.
Full Changelog: v0.3.2...v0.4.0
0.3.2
This release introduces higher-performance nearly-drop-in alternatives to two of the standard components, both with their own trade-off's.
RogueTerminalEmulator
is a faster, more dangerous version ofTerminalEmulator
. It is a mutable structure and so is much faster, but requires a little more thought in it's use (perhaps). Unlike the original, it is packed, not sparse for more constant memory usage.TerminalMaterial
is a leaner version ofTerminalText
, with the (slightly dubious) drop shadow functionality removed. It requires less data all round, and has simpler, faster shader code.
What's Changed
- Benchmarking the TerminalEmulator by @davesmith00000 in #12
- Fixed #10: Added TerminalMaterial by @davesmith00000 in #13
Full Changelog: v0.3.1...v0.3.2
0.3.1
Minor improves and fixes release:
- Upgrade to Scala.js 0.14.0
TerminalClones
now form a Monoid (#6)Tile
has a 'safe'fromInt
constructor (#7)- Generated tiles include null and nbsp characters (#9)
- Bug Fix: You can now use two different tile sheets at the same time (#8)
Full Changelog: v0.3.0...v0.3.1
0.3.0
Functionally identical to previous release. Built against Indigo 0.15.0, Scala 3.3.1, and Scala.js 1.13.2.
0.3.0-RC2
Brings the Roguelike-Starterkit up to date with Indigo 0.15.0-RC2 and Scala 3.3.0. No functional changes.
0.3.0-RC1
This release is an RC release as it depends on Indigo 0.15.0-RC1
.
This release brings the Roguelike Starterkit up to date with Indigo 0.15.0-RC1, and also ports all of it's shaders to Ultraviolet.
Additionally, all foreground text colour values have been converted from RGB
to RGBA
and you can now optionally render a hard 1 pixel drop shadow at no additional cost.
0.2.0
An absolutely tiny release to keep the Roguelike-Starterkit in lock-step with the new Indigo version (0.14.0) and it's dependencies.
0.1.0
This is the first official release of the Roguelike-StarterKit, which provides terminal rendering tools for Indigo games based on the Dwarf Fortress asset packs.
I have been using this myself for quite a long time now and it's pretty stable.