* Add player_state dictionary to manage player state names for FSM demo
* Use a constant typed Dictionary of StringNames and update to Godot 4.5
---------
Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
This leads to code that is easier to understand and runs
faster thanks to GDScript's typed instructions.
The untyped declaration warning is now enabled on all projects
where type hints were added. All projects currently run without
any untyped declration warnings.
Dodge the Creeps and Squash the Creeps demos intentionally don't
use type hints to match the documentation, where type hints haven't
been adopted yet (given its beginner focus).
This clears out some errors that happen on every load of this demo in Godot 4 onward.
It also makes the fonts actually work, as they did not before.
We probably don't strictly **need** these font settings for a demo, but they were here before.
I don't think `SourceCodePro-Black.ttf` was ever used, based on looking at history. So I removed it.
Both `.tres` files are gone too, as those are not used in Godot 4.
I have updated everything that used `SourceCodePro-Bold.ttf` to the new setup.
This makes demos render correctly on hiDPI displays,
while also demonstrating how to handle multiple resolutions.
The 3D in 2D demo now uses "3D No-Effects" for the 3D viewport,
which is faster to render. Thanks to this, 4× MSAA is now enabled
for a better result.
The background loading demo now uses mipmaps for better-looking images.
The material testers demo now samples mouse input in a
resolution-independent manner when panning.
Default clear colors were also changed in some projects for visual
consistency with the project's theme.
Opened them, saved all scenes, ran the project. Did necessary fixes here and there,
fixed some warnings (but some remain in bigger demos).
Did not port JRPG demo yet (#306) nor the two platformer demos.
Now there's a base state_machine script, the StateMachine is separate from the physics body.
I reworked the code to follow the GDscript guidelines in the official manual.