Commit Graph

3845 Commits

Author SHA1 Message Date
3da74f0703 Added get_global_class_name method to Script. Now GDScriptParser uses this first to determine global class names, instead of parsing the script file again. 2024-02-13 20:09:46 +01:00
e615073951 Bump version. 2024-02-09 22:35:50 +01:00
03b70b0a2b Updated the changelog file. 2024-02-09 09:25:09 +01:00
088049f177 Updated the sample module config file with the new modules. 2024-02-08 23:58:47 +01:00
5f91eb3e44 Set version to stable. 2024-02-08 23:49:30 +01:00
7ce8e97b13 Disabled the WindowServer for now. 2024-02-08 23:45:33 +01:00
2abfd57704 Fix error. 2024-02-08 22:44:02 +01:00
a5fcaa536f Fix errors during filtering Nodes in the editor. 2024-02-08 22:42:42 +01:00
f4118ae3fb Updated the last backported commit. 2024-02-08 22:11:42 +01:00
deec900b5e Ported: Update the logic used to start / stop the GL thread
Currently the GL thread is started / stopped when the activity is respectively resumed / paused. However, according to the `GLSurfaceView` documentation, this should be done instead when the activity is started / stopped, so this change updates the start / stop logic for the GL thread to match the documentation.
- m4gr3d
194452bf38
2024-02-08 22:10:48 +01:00
da41965485 Added back ResourceImporterOBJ from godot. 2024-02-08 21:52:13 +01:00
a5d8696021 Ported: Vertex cache optimizer
Optimizes indices to make good use of vertex cache on GPU.
- lawnjelly
0aa22b8f13
2024-02-08 21:35:01 +01:00
14d1c0ad66 Added a commit as a todo. 2024-02-08 21:17:14 +01:00
c3c6d64a50 Portred: Add MergeGroup node to simplify merging Meshes at runtime.
- lawnjelly
8b79135538
2024-02-08 21:00:07 +01:00
8b9b77dd60 Fix windows compile. 2024-02-08 20:36:43 +01:00
ae7409bf52 Ported: Fix signed distance field font rendering
This fix works in both GLES3 and GLES2.
The rendering formula in the shader was adjusted to further improve the
sharpness/antialiasing quality balance.
- lawnjelly and Calinou
bc607fb607
2024-02-08 19:11:34 +01:00
1a3f34dbf8 Mark skipped commit. 2024-02-08 18:51:50 +01:00
5d2a594843 Ported: Shadow volume culling and tighter shadow caster culling
Existing shadow caster culling using the BVH takes no account of the camera. This PR adds the highly encapsulated class VisualServerLightCuller which can cut down the casters in the shadow volume to only those which can cast shadows on the camera frustum.
This is used to:
* More accurately defer dirty updates to shadows when the shadow volume does not intersect the camera frustum.
* Tighter cull shadow casters to the view frustum.
Lights dirty state is now automatically managed:
* Continuous (tighter caster culling)
* Static (all casters are rendered)
- lawnjelly
8ca631a466
2024-02-08 18:40:44 +01:00
af518b2d3b Ported parts of: [3.x] Add Selected Collision Group in TileSet Editor
Also moves the TileSet Script property down to its own category.
- Mickeon
211c707e67
2024-02-08 18:11:25 +01:00
513fde6cd4 Updated year in version.py. 2024-02-08 17:49:22 +01:00
02e3210a60 Updated copyright info in pandemonium_res.rc. 2024-02-08 17:48:38 +01:00
37d2f96834 Fix more errors. 2024-02-08 17:43:26 +01:00
09ccc16b86 mbedtls: Update to upstream version 2.28.7 2024-02-08 17:41:31 +01:00
22a829a740 certs: Sync with Mozilla bundle as of Dec 13, 2023
bagder/ca-bundle@bef37a9
2024-02-08 17:38:20 +01:00
f63ed4be75 Sync controller mappings DB with SDL2 community repo
Synced with mdqinc/SDL_GameControllerDB@232c738
2024-02-08 17:37:12 +01:00
4836053b07 Fix build. 2024-02-08 17:30:15 +01:00
Hugo Locurcio
19be158d88 Fix build on X11 following 64-bit detection changes
This also ports over the cross-compilation logic to the `server`
platform, and allows Embree to be used in server tools builds on aarch64.
2024-02-08 15:23:22 +01:00
Mikael Klasson
6fa76aca7e Fix invalid Python escape sequences
(cherry picked from commit 4986d6d317e592db86603ae14a72fe0a96a3f538)
2024-02-08 15:20:50 +01:00
Rémi Verschelde
fae5c7f2f8 SCons: Fix Python 3.12 SyntaxError with regex escape sequences
(cherry picked from commit b362976504c3346b9f34b69dcad0838d1d381037)
2024-02-08 15:20:45 +01:00
Rémi Verschelde
1089d60dae Linux: Remove hardcoded lib path for x86 cross-compilation
This breaks the build with our updated i686 Linux SDK which doesn't contain
this path, and may not be needed at all.

(cherry picked from commit 63153c9d36768b1e5ab9c1562f400a2bd8c2f8cd)
2024-02-08 15:20:35 +01:00
Rémi Verschelde
5f0558c000 CI: Update mymindstorm/setup-emsdk to v14, should fix cache folder conflicts
https://github.com/mymindstorm/setup-emsdk/releases/tag/v14

Co-authored-by: Yuri Sizov <yuris@humnom.net>
(cherry picked from commit 35ef0b32b328d9e5ed15f86a0f4a4d29518dec12)
2024-02-08 15:15:55 +01:00
Rémi Verschelde
1361f07395 Style: Mark clang-format 16 as supported for pre-commit hook
It only introduced a difference in a .glsl file, which I've worked
around by removing an empty line. This keeps formatting consistent
between clang-format 15 and 16.

Also added a change in the 3-to-4 project converter to fix bogus
formatting in clang-format < 17.

(cherry picked from commit 49f4860ce3e4122e17c869229701f7d86aa6956c)
2024-02-08 15:15:30 +01:00
Rémi Verschelde
326a098dac SCons: Fix Web build when compiler version isn't properly detected
Quick fix for #82585.

A better fix requires refactoring the way we detect the compiler version
to make it more reliable, and get a consistent output. But I prefer to
keep changes minimal for 3.x branches at this point.

Also set CI version to 3.1.39, which is what we use for official 3.6 builds
since 3.6-beta4.
2024-02-08 15:15:14 +01:00
lawnjelly
61645f36f3 Portals - Improve conversion logging
Logging is now allowed in any TOOLS build (rather than just in the editor), but still prevented in final exports.
Logging can be switched off via project settings.
Autoplacement is now logged.
2024-02-08 15:12:23 +01:00
lawnjelly
f09cdf5954 Portals - include in bound and special cases in start room
* Re-introduces a property for portals to decide whether they are included in room bounds during room conversion.
* Adds a special case for portals that extend into the start room, which may be caused by level design inaccuracies.
2024-02-08 15:10:00 +01:00
Rémi Verschelde
f073af9af6 zlib/minizip: Update to version 1.3
Remove `infback.c` which we don't need.

The `OF` macro was also removed so I can drop the patch where I yell
at Gentoo developers.

(cherry picked from commits e0e1f2e4a2056db1a908af75612daaaf5b129ebd
and 071499ac0d8e33e6f269437c3ce4fab52cc43f90)
2024-02-08 15:06:20 +01:00
Rémi Verschelde
4e199523f9 minizip: Backport patch to fix CVE-2023-45853
(cherry picked from commit c8dee05bf09cefdc33941aec1a76d3c563899995)
2024-02-08 15:05:47 +01:00
Rémi Verschelde
18047141eb brotli: Sync with upstream 1.1.0
https://github.com/google/brotli/releases/tag/v1.1.0
(cherry picked from commit 0402205ce66779805dcfbbc3e14c5756448f3bc7)
2024-02-08 15:05:40 +01:00
Rémi Verschelde
b44ee23cee Web: Clarify that OS.get_unique_id is not supported
Remove the base error message in `OS`, we no longer really error out this
way for not implemented methods. Instead, each platform should override them
to provide the context they want.

Fixes #82439.

(cherry picked from commit 0a10f09ce4321695940a626eef9c64b36f599193)
2024-02-08 15:05:20 +01:00
floatingpointer
808103890a Add XInput device ID for wireless Series 2 Elite controller
(cherry picked from commit 81f9c0345c963ab1f06c2ed1d2d76368bdbd8f56)
2024-02-08 15:05:04 +01:00
nikitalita
cda33386ca SCons: Add stack_size and default_pthread_stack_size options to Web target
(cherry picked from commit 6788bc6bc2be68db9b9f1a37bf5edb8497eafb93)
2024-02-08 15:04:41 +01:00
Adam Scott
89ebe3f570 Set what were default values for some emscripten linkflags
- Set `-sSTACK_SIZE` to what it was before emscripten 3.1.27.
  It was renamed in 3.1.25 so also set `-sTOTAL_SIZE` for older
  versions for consistency.
- Set `-sDEFAULT_PTHREAD_STACK_SIZE` to what it was before 3.1.30.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
(cherry picked from commit 8e5fbd43488ad39a9b987c9abc38134841f44024)
2024-02-08 15:02:18 +01:00
Max Hilbrunner
0d560ab6f6 Fix generating vsproj with SCons 4.6.0+
(cherry picked from commit 72110134d62b82b0a3a98cffddb6e60948831edf)
2024-02-08 15:02:04 +01:00
Rémi Verschelde
d111a460b3 Linux: Add support for arm64 and arm32 export templates
This is done in a hacky way, mostly to keep it simple and avoid having
to do a refactoring of the `EditorExportPlatform` interface.

Only Windows and Linux use `EditorExportPlatformPC`, and thus to
handle the new architectures for Linux, we simply do a few checks here
and there with a couple new methods to register the export template
names for Linux arm64 and arm32.

For Godot 4.0, we did refactor everything to allow exporting binaries
for different architectures cleanly. For 3.6, which is likely the last
feature release for the 3.x branch, I tend to cut corners as these
improvements will be shorter lived and thus new tech debt isn't as big
a concern.
2024-02-08 15:01:00 +01:00
lawnjelly
3a04d5adfe GLES2 / GLES3 - Use gl_FragColor temporary
On some hardware, modifying gl_FragColor multiple times can cause large performance drops. This PR writes to a standard temporary variable instead, and copies across to gl_FragColor once only at the end of the fragment shader.

This could potentially lead to large gains in performance on affected hardware.
2024-02-08 14:58:12 +01:00
Micky
e53dcc1432 Mention InputEventJoypadButton's pressure not working 2024-02-08 14:57:01 +01:00
Micky
d1621245e6 Add Editor Description group
Backport from 4.0
2024-02-08 14:56:04 +01:00
Danil Alexeev
0c92de12c1 GDScript: Fix get_method_list for custom functions 2024-02-08 14:50:56 +01:00
Zach Coleman
92a8e047e0 Add APP_PAUSED and APP_RESUMED MainLoop notifications 2024-02-08 14:49:18 +01:00
Bartłomiej T. Listwon
7101e4aed7 Prevent shuffling custom shader functions (shader cache requires determinism) 2024-02-08 14:48:50 +01:00