Skip to content

Releases: CSharpGodotTools/Template

v1.1.4

01 Feb 05:50

Choose a tag to compare

Changelog

  • All reflection netcode has been removed.
    • PacketRegistry.cs is generated by the source gen increasing game startup performance.
    • Each Write and Read method for ServerPacket and ClientPacket are generated by the source gen increasing performance whenever packets are written or read.
    • If the Write or Read method are present then no code will be generated. Manually write the Write and Read methods out yourself if you want full control over the send order.
    • The [NetSend(SendOrder)] attribute has been completely removed.
  • Profiler methods have been made static.

Contributors: @valkyrienyanko
Git Diff: v1.1.3...v1.1.4

v1.1.3

29 Jan 05:14

Choose a tag to compare

Small hotfix to bring countless updates from GodotUtils and bring all of netcode from GodotUtils to Framework by @valkyrienyanko

Git Diff: v1.1.2...v1.1.3

v1.1.2

29 Jan 03:37

Choose a tag to compare

Framework has now been completely decoupled from Template. This means any updates to Framework will no longer require re-cloning Template and remaking your game from scratch.

Changelog

  • Autoloads.cs and Game.cs have been moved out of Framework to the root of res://
  • Expose API from AutoloadsFramework.cs to Autoloads.cs
  • Godot overrides (_Ready(), _Process(), _PhysicsProcess()) are now hidden from Autoloads.cs (forcing the game developer to use the new API methods) _(Input has been left has a Godot override for performance reasons)
  • Improve comments in Game.cs and Autoloads.cs
  • Setup no longer tries to change namespaces in Framework folder
  • All namespaces in Framework have been renamed from TEMPLATE to Framework
  • Game.cs is now in TEMPLATE namespace while Autoloads.cs is in Framework namespace

Contributors: @valkyrienyanko
Git Diff: v1.1.1...v1.1.2

v1.1.1

29 Jan 02:39

Choose a tag to compare

Small hotfix to prevent redundant git diffs from certain Godot files (*.import, *.translation, *.tres) by @valkyrienyanko

Git Diff: v1.1...v1.1.1

v1.1

29 Jan 02:21
d747b4f

Choose a tag to compare

What's Changed

Changelog

  • All framework files have been moved to a separate git submodule
  • Project has been upgraded to Godot 4.6 stable
  • Removed no-op in MetricsOverlay.cs
  • NETCODE_ENABLED constant was removed entirely
  • Removed redundant and problematic ignores in .gitignore
  • Removed redundant physics API methods from MetricsOverlay and Profiler
  • Icon.svg was moved outside of res://Framework to res://
  • BaseAutoloads was renamed to Autoloads
  • DLLs were moved from res://addons to res://Framework/Libraries
  • Fixed translation files being broken due to corrupt .import file
  • Replaced all #region occurences with comment headers

Git Diff: v1.0.11...v1.1

v1.0.11

01 Jan 01:18

Choose a tag to compare

Changelog

  • Exposed Game.cs and Autoloads.cs to the game developer
  • Fixed bug where namespaces were not being renamed during setup process
  • Fixed bug where setup script was being modified during setup process
  • Fixed bug showing missing icons when using Visualize
  • Fixed bug causing Visualize to error out when clicking on the Visualize icons
  • Removed params from PreSceneChanged and PostSceneChanged due to an inconsistency
  • Added more documentation to setup scripts

Merged PRs

Visualize

I've ran into two common mistakes that can cause lots of confusion when working with Visualize. Unfortunately I have no easy fix for these on my end so you will just have to take care.

If the script with the Visualize code is placed on a Node2D or Control but the script itself does not extend from Node2D or Control the visual panel will be placed at (0, 0). There is no way for me to check for this, you will just have to remember to make the script extend from the appropriate type.

If Visualize.Register(this) is called in _EnterTree, you will get a null reference exception. This is because Visualize did not have time to initialize and you must instead call it in _Ready.


Contributors: @valkyrienyanko
Git Diff: v1.0.10...v1.0.11

Major Tween Overhaul

23 Dec 23:17

Choose a tag to compare

Changelog

GodotTween is now called NodeTween, NodeTween2D or NodeTweenControl. There is also NodeTweenProp, ShaderTween, ShaderTweenProp. (see https://github.com/CSharpGodotTools/Template/wiki/Simplified-Tweens for how NodeTween is used).

NodeTween2D and NodeTweenControl add additional helper methods for their respective types (e.g. AnimateColor(...), AnimatePosition(...), AnimateGlobalRotation(...), and so on...) (dev note: these were made because not every property in a Node2D is shared across a Control, the only properties shared between the two are the CanvasItem properties because both extend from CanvasItem).

Fixed a bug where ShaderTween would only work on Node2D and not Control.

Added more documentation to tween scripts.

Related commits and PRs from GodotUtils

Add NodeTween2D and NodeTweenControl types
Major refactor to Godot tween helper scripts


Contributors: @valkyrienyanko
Git Diff: v1.0.9...v1.0.10

v1.0.9

14 Dec 09:38
d0f3687

Choose a tag to compare

What's Changed

  • Added animated focus outline,
  • Added titles to option sections
  • Improved button neighbor navigation

See full changelog here.

Contributors: @valkyrienyanko
Related PR: #191
Git Diff: v1.0.7...v1.0.9

Preview.mp4

v1.0.8

03 Dec 23:18
ee41d88

Choose a tag to compare

Changelog

  • Changed the gray theme to a darker theme
  • Removed visual artifacts from pressed buttons by setting anti aliasing to false
  • Removed the visual button pressed state from all OptionButton's as it did not look right
  • Fixed the text "MOUSE_SENSITIVITY" in options not being translated
  • Fixed crash on startup in credits scene along with other improvements
  • Added extensive error checking to Game.cs that is only done in non-release builds
  • Improved readability of several scripts

Before:
image

After:
image

Contributors: @valkyrienyanko
Related PR: #189
Git Diff: v1.0.7...v1.0.8

v1.0.7

03 Dec 19:31
cd31ae6

Choose a tag to compare

What's Changed

  • Remove singleton pattern, add static game class, pool sfx players, cleanup events, docs and more by @valkyrienyanko in #188

Full Changelog

Added

  • Added static game class for ease of access to all manager scripts e.g. Game.Scene.SwitchToMainMenu() or Game.Audio.PlaySFX
  • Added convenience methods for scene switching in SceneManager

Removed

  • Removed singleton pattern from all manager scripts (access them through Game.cs now)
  • Removed all GodotUtil namespaces and changed them to __TEMPLATE__

Fixed

  • Fixed Godot not restarting on completing setup process
  • Fixed Godot corrupting [Export]'s after completing setup process
  • Fixed crash from game console being assigned too early in popup menu
  • Fixed SFX players not being cleaned up properly
  • Fixed SFX players in AudioManager not being pooled to save a ton of performance

Documentation

  • All XML documentation in GodotUtils is now exposed (before it was not even showing up)
  • Improved documentation for AudioManager

Git Changelog: v1.0.5...v1.0.7