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}
The 3D demos aren't very demanding and Godot has been optimized
a bit since 4.0's release, so we can afford using higher quality
shadow settings for less noisy shadow filtering.
This also tweaks shadow bias to reduce shadow acne in the Voxel demo.
The time slider in the Physical Light and Camera units demo now
allows for more precise adjustments.
- Make the attractor in the example dynamic to better showcase its functionality,
and add a visual representation to it.
- Tweak the appearance of attracted particles.
- Fix force field particle display (it wasn't using Local Coords as intended).
- Lower the sun angle to make the background darker (and particles easier to see).
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).
* Use match case instead of if else
This is my first pull request.
* Apply suggestions from code review
---------
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
```
ERROR: Cannot create tile. The tile is outside the texture or tiles are already present in the space the tile would cover.
at: (scene\resources\2d\tile_set.cpp:4963)
ERROR: The TileSetAtlasSource atlas has no tile at (1, 0).
at: (scene\resources\2d\tile_set.cpp:5400)
ERROR: TileSetAtlasSource has no tile at (1, 0).
at: (scene\resources\2d\tile_set.cpp:5348)
```