* Update Platformer 2D to Godot v4.3
Before this change, if you tries to import the Platformer 2D project
using Godot v4.3 (the latest stable version of Godot, at the moment),
you would get the following warning:
> Warning: This project was last edited in Godot 4.2.
> Opening will change it to Godot 4.3.
>
> Open anyway? Project will be modified.
This change updates the project to Godot 4.3 so that that warning no
longer appears. When you upgrade to a newer version of Godot, sometimes
certain files will automatically be updated by the Godot Editor after
the upgrade has been completed. Specifically, the files won’t get
updated until after they’re opened in the Godot Editor. When creating
this commit, I tried to open every single file for Platformer 2D in the
Godot Editor to make sure that all of those automatic changes are
included in this commit.
* Replace Platformer2D’s TileMap with a TileMapLayer
Before this change, the Platformer 2D used a TileMap Node. TileMaps are
deprecated. TileMapLayers should be used instead [1].
[1]: <https://docs.godotengine.org/en/4.3/classes/class_tilemap.html#tilemap>
Make it more obvious to newcomers how this demo works so they can
replicate it in their projects.
Change the text to point to how this is working.
Add Editor Descriptions to make it clearer how this is setup.
Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
- Increase physics ticks per second to 120, so that UI interactions feel
smoother and have lower input lag. This happens since input is governed
by the physics tick due to the use of physics picking.
- Add a placeholder to the LineEdit and select a default option in the OptionButton.
Physics picking requires that the SubViewport has a consistent state
of the mouse-enter/exit notifications.
Godot V4.3 was changed in comparison to V4.2, so that it now requires
this additional step.
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
Four moods are available: sunrise, day, sunset, night. Sunset and night
also feature artificial point lights placed in the town scene.
The mood can be set on the main menu before playing. It can also be cycled
during gameplay by pressing M or D-Pad Down.
This comes with other improvements:
- Demos now work on desktop and mobile browsers, as ETC2 import is now
automatically enabled before exporting each demo.
- Progressive web app is available for each project.
- Can be added to the home screen on a device for a closer-to-native experience.
- Cross-origin isolation headers are automatically added, so that the export
works with threads enabled despite being hosted on GitHub Pages
(which doesn't send these headers).
Several demos will need further tweaks to look better when using
the Compatibility rendering method. Currently, many 3D demos appear
too bright due to lights with shadows enabled using sRGB blending.
Also, many demos will need to be modified to indicate which parts
of them are not supported when running on the web platform, or
when using the Compatibility rendering method.
- Display more return values of Engine/OS methods such as system fonts,
memory information and security information.
- Add headless support (the generated report is also printed to stdout).
- Improve theming in the generated report.
- Hide video adapter type if this information can't be queried in the
current rendering method.
- Update C# script for Godot 4.x platform names.
- Add reflection probes for each test sphere, which can be toggled using
a new dropdown with 3 options (no reflection probe, reflection only,
reflection + ambient). The cull and reflection masks are configured
on each reflection probe so that spheres don't self-reflect, but other
spheres still appear in each sphere's reflections. Probe extents are made
very large to prevent any visible fading, and the test beds don't
receive the reflection probe's ambient or reflection.
- Improve ice material visuals by giving it some opacity.
- Use lossless compression on all textures, as their relatively low
resolution and count by today's standards makes them not use much VRAM
anyway.
* These changes allow the project to start and run in Godot 4.2
I hit some of the files with my formatter, if whitespace updates are not wanted I can remove those.
The project doesn't entirely work yet, but it runs. I am still working on making it work properly fully, but at least it starts now instead of crashing.
* Center text to match Godot 3 example better.
3.x -> 4.x:
`font_color_shadow` -> `font_shadow_color`
`font_color_selected` -> `font_selected_color`
`hseparation` -> `h_separation`
`vseparation` -> `v_separation`
`shadow_as_outline` -> `shadow_outline_size`
`panelf` and `panelnc` were removed in 3.2, as the options were never used.
See: godotengine/godot#28639
`font_color_shadow` is not a property of ProgressBar's theme, and there
doesn't seem to be an equivalent. The term "shadow" does not appear in any of:
{scene/{gui/{progress_bar,range,control},main/{canvas_item,node}},core/object/object}.{cpp,h}