Skip to content

Releases: LukeZurg22/SKSSL

Version 1.9.0

Choose a tag to compare

@LukeZurg22 LukeZurg22 released this 23 Jun 23:05

Tweaked

  • Engine config now to one class w. better defaults.
  • Refactor / Reworked Entity & EntityUid Handling in ECS
  • Cleaned away a lot of needless logic in Refactor.
  • Greatly simplified ECS w. respect to world. Kept direct-system functions virtual in entities for versatility.
  • Improved Prototype Registration

Added

  • Checksum.cs class w. Generate(). Partially fixes #30

This kinda sucks, but it works...? Add call for use; I can't insert it into the engine's base class without cheap tricks to ensure it's called after Extended-Class LoadContent calls complete.

  • Added in-depth engine config class w. Documentation.
  • Added KeyListPrototype data sets w. optional explicit keys which fixes #23
  • Added SpriteComponent, AnimatedSpriteComponent, Transform2DComponent, Transform3DComponent, and MeshComponent basic component types.
  • Added full load order support.
  • Added in-built [de]serializable statistics & modifiers. (Closes #25).

Statistics do not require the ECS to work, but do work on the Master Registry.

  • Added UidPacker utility class.

Fixed

  • Screen Settings are now bound to SSLGame initialize.

Version 1.8.2

Choose a tag to compare

@LukeZurg22 LukeZurg22 released this 06 Jun 06:19
e9864b9

Added

  • Added Mip-Mapping Support
  • Added EntitySystem Event Support
  • Added EntityContext "Context" Shortcut in Entity System Inheritance
  • Added ImGUI Support & ImGuiWindow Template
  • Added New ECS Extension Methods
  • Added In-Build Console & Command Support

Other

  • Finished Shunting Yard Algorithm
  • Updated Camera3D
  • Tuned DustLogger for File Output
  • Refactored ECS Component Registry & ECS Extensions
  • Tuned Entity Types now directly spawnable / registerable in the system according to #15
  • Switched Localization to Fluent.NET Handling in Refactor (Won't affect existing calls)
  • Refactored System Registry to Source Generators (For Performance Reasons)

This should not affect the registration of EntitySystems in any way. The Attribute and a good compile should be enough for the library / engine to do its thing. Existing projects might break in terms of references? They shouldn't given namespace fixes.

Refactor of ECS for better [de]serialization. Versions .1 to here are omitted from releases.

Version 1.7

Choose a tag to compare

@LukeZurg22 LukeZurg22 released this 04 Apr 08:24
  • Drastically improved Texture Loader to accommodate game content. Fixing #8
  • Added Sin3D Classes w. modifications.
  • Added Support for additional content managers. This is for externally-referenced libraries.
  • A host of minor improvements. See following full changelog for more.

Full Changelog: v1.6...v1.7

Version 1.6

Choose a tag to compare

@LukeZurg22 LukeZurg22 released this 11 Mar 09:28
  • Refined ECS Toggling System
  • Refactored a significant portion of the code, especially involving directory passes. This includes an overhaul of the Texture Loader.
  • Split EntityRegistry from EntityManager. The registry only stores definitions whilst the Manager manages them.
  • Added "tagging" to yaml files and optional method to trace origin, whether it be mod or game.
  • Gutted StaticLoader system in favor of more dynamic pathing. Mod support is innate, now.

Full Changelog: v1.5...v1.6

Version 1.5

Choose a tag to compare

@LukeZurg22 LukeZurg22 released this 03 Mar 08:32
  • Updated crucial ECS systems to be a bit more verbose.
  • ECS systems now accommodate a static context from dynamic scene changes. (Aka: based on current world, and not current context)
  • Documentation cleanups.

Full Changelog: v1.4...v1.5

Version 1.4

Choose a tag to compare

@LukeZurg22 LukeZurg22 released this 25 Feb 07:30
792f95b

Yaml Yaml Yaml

  • Yaml Loader supports files containing multiple definition types.
  • Removed Obsolete Yaml Loader Code
  • Switched from YamlDotNet to VYaml wholesale
    Resolves #6.

Full Changelog: v1.3...v1.4

Truly I wish there was more to say, but the vast majority of the work for this release has been spent into (or at least, attempting) perfecting YamlLoader.cs for wide-applicable use.

Version 1.3

Choose a tag to compare

@LukeZurg22 LukeZurg22 released this 19 Feb 04:24
  • Yaml Loader is severely overhauled in some parts.
    Note: Though there isn't much to this release, it is still part of a progressive drift away from YAMLDotNet to VYaml, despite the inferior error handling as of 20260218 for that package. #6 still resides with reference to the still-present usage of YamlDotNet references in SKSSL, which should be removed and the code involving such refactored or removed alongside it.

Regardless of the status of the packages and the worst of the code, overall this release brings about a (tested, and functional) change to the YAML Loader at the cost of less verbose error reporting. Projects using the old version of this loader—especially the bulk loader—WILL break.

  • Merged Base Yaml Types.
    All YAML types now derived from what used to be the separate but certainly not equal BaseYaml and BaseLocalizedYaml classes. Localization was merged into BaseYaml, made virtual and nullable (as to become optional, as per the class split's intentions to begin with) and as a result will break every project that depended on BaseLocalizedYaml. The solution is simply to remove the word "Localized" in the class-type reference.

Full Changelog: v1.2...v1.3

Version 1.2

Choose a tag to compare

@LukeZurg22 LukeZurg22 released this 16 Jan 06:19

Changes

Resolves #5 and resolves #4

  • Added basics for rendering spaces. (DO IT YOURSELF!)
  • Added SKCamera
    Note: To help with 3D spaces, i'm not a monster!
  • Added Additional Documentation
  • Severely Overhauled ECS to depend less on static types.
  • A metric ton of cleanup and commentation.
    Note: There is still way more to go.
  • Added UML diagram
    Note: It's not perfect. I am breaking a lot of consistency here. But at least it's somewhat legible and can be followed as you're going through the classes. It helps, and that's what it's for.

Full Changelog: v1.1...v1.2

Version 1.1

Choose a tag to compare

@LukeZurg22 LukeZurg22 released this 15 Jan 08:31
a0616b5

Changes

  • Added Vector2Int
  • A metric ton of small fixes.
  • Fixes to ECS to read components properly.
  • Added default call to register all components.
    Note: This forces the ECS to no longer be optional. I'm reconsidering how I want to have the ECS put in. I think i may need to graph everything and their relations so I can find what to isolate.

What's Changed

Full Changelog: v1.0...v1.1

Version 1.0

Choose a tag to compare

@LukeZurg22 LukeZurg22 released this 12 Jan 22:19
99598ad

First published version of SKSSL. Includes but not limited to:

  • Working "Pure" ECS (n:m)
  • DustLogger (performance-efficient logging)
  • RegistrySystem
    Comment: Frankly, I don't really like my own generic registry system. However I don't have the heart to remove it, especially as it has its uses in one of my other projects. However it isn't perfect and the ECS overshadows it in most aspects. As a result, it may be simplified in the future where the ECS will take precedent.
  • Plenty of Utilities and Extensions
  • Custom and Simple Localization Manager
  • Texture Handling (outside of MonoGame Content Manager)
    Comment: If i remember correctly there is still one call to the MonoGame content manager specifically for loading game content otherwise not found in the game files.

Game folder layouts are rather specific, though I've done my best thus far to make it such that these layouts can be changed.