Skip to content

Commit 30502aa

Browse files
authored
Merge branch 'godotengine:master' into streaming-texture
2 parents 5612995 + c646b57 commit 30502aa

2,923 files changed

Lines changed: 389074 additions & 199131 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-format

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# If you change this file, please format all files of the codebase as part of your PR:
2+
# pre-commit run clang-format --all
3+
14
# Commented out parameters are those with the same value as base LLVM style.
25
# We can uncomment them if we want to change their value, or enforce the
36
# chosen value in case the base style changes (last sync: Clang 18.1.8).
@@ -38,7 +41,7 @@ AlignAfterOpenBracket: DontAlign
3841
# AcrossEmptyLines: false
3942
# AcrossComments: false
4043
# AlignCaseColons: false
41-
# AlignEscapedNewlines: Right
44+
AlignEscapedNewlines: DontAlign # Aligning leads to long diffs
4245
AlignOperands: DontAlign
4346
AlignTrailingComments:
4447
Kind: Never

.clang-tidy

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,25 @@
1+
# If you change this file, please format all files of the codebase as part of your PR:
2+
# pre-commit run --hook-stage manual clang-tidy --all
3+
14
Checks:
25
- -*
3-
- cppcoreguidelines-pro-type-member-init
6+
- bugprone-use-after-move
47
- modernize-deprecated-headers
58
- modernize-redundant-void-arg
69
- modernize-use-bool-literals
7-
- modernize-use-default-member-init
10+
# - modernize-use-default-member-init # TODO Re-activate
811
- modernize-use-nullptr
912
- readability-braces-around-statements
1013
- readability-redundant-member-init
14+
- readability-operators-representation
1115
HeaderFileExtensions: ["", h, hh, hpp, hxx, inc, glsl]
1216
ImplementationFileExtensions: [c, cc, cpp, cxx, m, mm, java]
1317
HeaderFilterRegex: (core|doc|drivers|editor|main|modules|platform|scene|servers|tests)/
1418
FormatStyle: file
1519
CheckOptions:
16-
cppcoreguidelines-pro-type-member-init.IgnoreArrays: true
17-
cppcoreguidelines-pro-type-member-init.UseAssignment: true
1820
modernize-deprecated-headers.CheckHeaderFile: true
1921
modernize-use-bool-literals.IgnoreMacros: false
2022
modernize-use-default-member-init.IgnoreMacros: false
2123
modernize-use-default-member-init.UseAssignment: true
24+
readability-operators-representation.BinaryOperators: "&&;&=;&;|;~;!;!=;||;|=;^;^="
25+
readability-operators-representation.OverloadedOperators: "&&;&=;&;|;~;!;!=;||;|=;^;^="

.git-blame-ignore-revs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,18 @@ e06d83860d798b6766b23d6eae48557387a7db85
7272

7373
# Style: Replace header guards with `#pragma once`
7474
324512e11c1b7663c3cf47bec6ddbe65c6b8db2b
75+
76+
# Style: Don't right-align escaped newlines
77+
c5df0cb82bc539eff7dcfb2add99d60771fc50c5
78+
79+
# Style: Convert `*.gen.inc` to `*.gen.h`
80+
7dae5da1982f4a55ba91557814905faef9ce461b
81+
82+
# Move RenderingServer enums to a dedicated RenderingServerEnums (`RSE`) namespace
83+
f5a290ac462765afca34e64dd39f883511510147
84+
85+
# Style: Add `class_db.h` includes explicitly
86+
e380a417526c11f15a9ddb3997292409b10da2af
87+
88+
# Move DisplayServer enums and typedefs to DisplayServerEnums
89+
a447ac95ec170ee117c2eae55f1bfff0d0cf0dce

.github/CODEOWNERS

Lines changed: 72 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
# Doc
1414

1515
/doc/ @godotengine/documentation
16+
/doc/translations/ @godotengine/i18n
1617

1718
# Drivers
1819

@@ -26,6 +27,9 @@
2627
/drivers/winmidi/ @godotengine/audio
2728
/drivers/xaudio2/ @godotengine/audio
2829

30+
## Input
31+
/drivers/sdl/ @godotengine/input
32+
2933
## Rendering
3034
/drivers/d3d12/ @godotengine/rendering
3135
/drivers/dummy/ @godotengine/rendering
@@ -40,29 +44,27 @@
4044
/drivers/windows/ @godotengine/windows
4145

4246
## Misc
43-
/drivers/png/ @godotengine/import
47+
/drivers/png/ @godotengine/asset-pipeline
4448

4549
# Editor
4650

47-
/editor/ @godotengine/docks
48-
/editor/animation/ @godotengine/animation
49-
/editor/audio/ @godotengine/audio
50-
/editor/debugger/ @godotengine/debugger
51-
/editor/doc/ @godotengine/documentation
52-
/editor/docks/ @godotengine/docks
53-
/editor/gui/ @godotengine/usability @godotengine/gui-nodes
54-
/editor/icons/ @godotengine/usability
55-
/editor/import/ @godotengine/import
56-
/editor/inspector/ @godotengine/docks
57-
/editor/scene/2d/ @godotengine/2d-editor
58-
/editor/scene/2d/physics/ @godotengine/2d-editor @godotengine/physics
59-
/editor/scene/3d/ @godotengine/3d-editor
60-
/editor/scene/3d/physics/ @godotengine/3d-editor @godotengine/physics
61-
/editor/scene/gui/ @godotengine/gui-nodes
62-
/editor/script/ @godotengine/script-editor
63-
/editor/shader/ @godotengine/script-editor @godotengine/shaders
64-
/editor/themes/ @godotengine/usability @godotengine/gui-nodes
65-
/editor/translations/ @godotengine/usability
51+
/editor/ @godotengine/editor
52+
/editor/animation/ @godotengine/editor @godotengine/animation
53+
/editor/audio/ @godotengine/editor @godotengine/audio
54+
/editor/debugger/ @godotengine/editor @godotengine/debugger
55+
/editor/doc/ @godotengine/editor @godotengine/documentation
56+
/editor/gui/ @godotengine/editor @godotengine/gui-nodes
57+
/editor/icons/ @godotengine/editor
58+
/editor/import/ @godotengine/editor @godotengine/asset-pipeline
59+
/editor/scene/2d/ @godotengine/editor @godotengine/2d-nodes
60+
/editor/scene/2d/physics/ @godotengine/editor @godotengine/physics
61+
/editor/scene/3d/ @godotengine/editor @godotengine/3d-nodes
62+
/editor/scene/3d/physics/ @godotengine/editor @godotengine/physics
63+
/editor/scene/gui/ @godotengine/editor @godotengine/gui-nodes
64+
/editor/script/ @godotengine/editor @godotengine/script-editor
65+
/editor/shader/ @godotengine/editor @godotengine/script-editor @godotengine/shaders
66+
/editor/themes/ @godotengine/editor @godotengine/gui-nodes
67+
/editor/translations/ @godotengine/i18n
6668

6769
# Main
6870

@@ -78,37 +80,42 @@
7880
## Audio (+ video)
7981
/modules/interactive_music/ @godotengine/audio
8082
/modules/interactive_music/doc_classes/ @godotengine/audio @godotengine/documentation
83+
/modules/interactive_music/editor/ @godotengine/audio @godotengine/editor
8184
/modules/mp3/ @godotengine/audio
8285
/modules/mp3/doc_classes/ @godotengine/audio @godotengine/documentation
8386
/modules/ogg/ @godotengine/audio
8487
/modules/ogg/doc_classes/ @godotengine/audio @godotengine/documentation
8588
/modules/theora/ @godotengine/audio
8689
/modules/theora/doc_classes/ @godotengine/audio @godotengine/documentation
90+
/modules/theora/editor/ @godotengine/audio @godotengine/editor
8791
/modules/vorbis/ @godotengine/audio
8892
/modules/vorbis/doc_classes/ @godotengine/audio @godotengine/documentation
8993

9094
## Import
91-
/modules/astcenc/ @godotengine/import
92-
/modules/basis_universal/ @godotengine/import
93-
/modules/bcdec/ @godotengine/import
94-
/modules/betsy/ @godotengine/import
95-
/modules/bmp/ @godotengine/import
96-
/modules/cvtt/ @godotengine/import
97-
/modules/dds/ @godotengine/import
98-
/modules/etcpak/ @godotengine/import
99-
/modules/fbx/ @godotengine/import
100-
/modules/fbx/doc_classes/ @godotengine/import @godotengine/documentation
101-
/modules/gltf/ @godotengine/import
102-
/modules/gltf/doc_classes/ @godotengine/import @godotengine/documentation
103-
/modules/gltf/tests/ @godotengine/import @godotengine/tests
104-
/modules/hdr/ @godotengine/import
105-
/modules/jpg/ @godotengine/import
106-
/modules/ktx/ @godotengine/import
107-
/modules/squish/ @godotengine/import
108-
/modules/svg/ @godotengine/import
109-
/modules/tga/ @godotengine/import
110-
/modules/tinyexr/ @godotengine/import
111-
/modules/webp/ @godotengine/import
95+
/modules/astcenc/ @godotengine/asset-pipeline
96+
/modules/basis_universal/ @godotengine/asset-pipeline
97+
/modules/bcdec/ @godotengine/asset-pipeline
98+
/modules/betsy/ @godotengine/asset-pipeline
99+
/modules/bmp/ @godotengine/asset-pipeline
100+
/modules/cvtt/ @godotengine/asset-pipeline
101+
/modules/dds/ @godotengine/asset-pipeline
102+
/modules/dds/tests/ @godotengine/asset-pipeline @godotengine/tests
103+
/modules/etcpak/ @godotengine/asset-pipeline
104+
/modules/fbx/ @godotengine/asset-pipeline
105+
/modules/fbx/doc_classes/ @godotengine/asset-pipeline @godotengine/documentation
106+
/modules/fbx/editor/ @godotengine/asset-pipeline @godotengine/editor
107+
/modules/gltf/ @godotengine/asset-pipeline
108+
/modules/gltf/doc_classes/ @godotengine/asset-pipeline @godotengine/documentation
109+
/modules/gltf/editor/ @godotengine/asset-pipeline @godotengine/editor
110+
/modules/gltf/tests/ @godotengine/asset-pipeline @godotengine/tests
111+
/modules/hdr/ @godotengine/asset-pipeline
112+
/modules/jpg/ @godotengine/asset-pipeline
113+
/modules/ktx/ @godotengine/asset-pipeline
114+
/modules/squish/ @godotengine/asset-pipeline
115+
/modules/svg/ @godotengine/asset-pipeline
116+
/modules/tga/ @godotengine/asset-pipeline
117+
/modules/tinyexr/ @godotengine/asset-pipeline
118+
/modules/webp/ @godotengine/asset-pipeline
112119

113120
## Network
114121
/modules/enet/ @godotengine/network
@@ -117,18 +124,21 @@
117124
/modules/mbedtls/tests/ @godotengine/network @godotengine/tests
118125
/modules/multiplayer/ @godotengine/network
119126
/modules/multiplayer/doc_classes/ @godotengine/network @godotengine/documentation
127+
/modules/multiplayer/editor/ @godotengine/network @godotengine/editor
128+
/modules/multiplayer/icons/ @godotengine/network
120129
/modules/multiplayer/tests/ @godotengine/network @godotengine/tests
121130
/modules/upnp/ @godotengine/network
122131
/modules/upnp/doc_classes/ @godotengine/network @godotengine/documentation
123132
/modules/webrtc/ @godotengine/network
124133
/modules/webrtc/doc_classes/ @godotengine/network @godotengine/documentation
125134
/modules/websocket/ @godotengine/network
126135
/modules/websocket/doc_classes/ @godotengine/network @godotengine/documentation
136+
/modules/websocket/editor/ @godotengine/network @godotengine/editor
127137

128138
## Physics
129139
/modules/godot_physics_2d/ @godotengine/physics
130140
/modules/godot_physics_3d/ @godotengine/physics
131-
/modules/jolt_physics/ @godotengine/physics
141+
/modules/jolt_physics/ @godotengine/physics @godotengine/jolt-physics
132142

133143
## Rendering
134144
/modules/glslang/ @godotengine/rendering
@@ -141,13 +151,15 @@
141151
## Scripting
142152
/modules/gdscript/ @godotengine/gdscript
143153
/modules/gdscript/doc_classes/ @godotengine/gdscript @godotengine/documentation
144-
/modules/gdscript/icons/ @godotengine/gdscript @godotengine/usability
154+
/modules/gdscript/editor/ @godotengine/gdscript @godotengine/script-editor
155+
/modules/gdscript/icons/ @godotengine/gdscript
145156
/modules/gdscript/tests/ @godotengine/gdscript @godotengine/tests
146157
/modules/jsonrpc/ @godotengine/gdscript @godotengine/network
147158
/modules/jsonrpc/tests/ @godotengine/gdscript @godotengine/network @godotengine/tests
148159
/modules/mono/ @godotengine/dotnet
149160
/modules/mono/doc_classes/ @godotengine/dotnet @godotengine/documentation
150-
/modules/mono/icons/ @godotengine/dotnet @godotengine/usability
161+
/modules/mono/editor/ @godotengine/dotnet @godotengine/script-editor
162+
/modules/mono/icons/ @godotengine/dotnet
151163

152164
## Text
153165
/modules/freetype/ @godotengine/buildsystem
@@ -163,29 +175,38 @@
163175
/modules/mobile_vr/doc_classes/ @godotengine/xr @godotengine/documentation
164176
/modules/openxr/ @godotengine/xr
165177
/modules/openxr/doc_classes/ @godotengine/xr @godotengine/documentation
178+
/modules/openxr/editor/ @godotengine/xr @godotengine/editor
166179
/modules/webxr/ @godotengine/xr
167180
/modules/webxr/doc_classes/ @godotengine/xr @godotengine/documentation
168181

169182
## Misc
170183
/modules/csg/ @godotengine/3d-nodes
171184
/modules/csg/doc_classes/ @godotengine/3d-nodes @godotengine/documentation
172-
/modules/csg/icons/ @godotengine/3d-nodes @godotengine/usability
185+
/modules/csg/editor/ @godotengine/3d-nodes @godotengine/editor
186+
/modules/csg/icons/ @godotengine/3d-nodes
187+
/modules/csg/tests/ @godotengine/3d-nodes @godotengine/tests
173188
/modules/gridmap/ @godotengine/3d-nodes
174189
/modules/gridmap/doc_classes/ @godotengine/3d-nodes @godotengine/documentation
175-
/modules/gridmap/icons/ @godotengine/3d-nodes @godotengine/usability
190+
/modules/gridmap/editor/ @godotengine/3d-nodes @godotengine/editor
191+
/modules/gridmap/icons/ @godotengine/3d-nodes
176192
/modules/navigation_2d/ @godotengine/navigation
193+
/modules/navigation_2d/editor/ @godotengine/navigation @godotengine/editor
177194
/modules/navigation_3d/ @godotengine/navigation
195+
/modules/navigation_3d/editor/ @godotengine/navigation @godotengine/editor
178196
/modules/noise/ @godotengine/core
179197
/modules/noise/doc_classes/ @godotengine/core @godotengine/documentation
180-
/modules/noise/icons/ @godotengine/core @godotengine/usability
198+
/modules/noise/editor/ @godotengine/core @godotengine/editor
199+
/modules/noise/icons/ @godotengine/core
181200
/modules/noise/tests/ @godotengine/core @godotengine/tests
201+
/modules/objectdb_profiler/ @godotengine/debugger
202+
/modules/objectdb_profiler/editor/ @godotengine/debugger @godotengine/editor
182203
/modules/regex/ @godotengine/core
183204
/modules/regex/doc_classes/ @godotengine/core @godotengine/documentation
184-
/modules/regex/icons/ @godotengine/core @godotengine/usability
205+
/modules/regex/icons/ @godotengine/core
185206
/modules/regex/tests/ @godotengine/core @godotengine/tests
186207
/modules/zip/ @godotengine/core
187208
/modules/zip/doc_classes/ @godotengine/core @godotengine/documentation
188-
/modules/zip/tests @godotengine/core @godotengine/tests
209+
/modules/zip/tests/ @godotengine/core @godotengine/tests
189210

190211
# Platform
191212

@@ -227,7 +248,7 @@
227248
/scene/resources/text_* @godotengine/gui-nodes
228249
/scene/resources/visual_shader* @godotengine/shaders
229250
/scene/theme/ @godotengine/gui-nodes
230-
/scene/theme/icons/ @godotengine/gui-nodes @godotengine/usability
251+
/scene/theme/icons/ @godotengine/gui-nodes
231252

232253
# Servers
233254

@@ -249,6 +270,7 @@
249270
# Thirdparty
250271

251272
/thirdparty/ @godotengine/buildsystem
273+
/thirdparty/jolt_physics/ @godotengine/buildsystem @godotengine/jolt-physics
252274

253275
# Buildsystem (After everything to catch all)
254276

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ Please target the `master` branch in priority.
44
Relevant fixes are cherry-picked for stable branches as needed by maintainers.
55
66
To speed up the contribution process and avoid CI errors, please set up pre-commit hooks locally:
7-
https://contributing.godotengine.org/en/latest/engine/guidelines/code_style.html
7+
https://contributing.godotengine.org/en/latest/engine/introduction.html#setting-up-a-dev-environment
88
-->
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Godot hash compatibility test
2+
description: Check if methods with given hashes used by the older GDExtensions still can be loaded with given Godot version.
3+
4+
inputs:
5+
bin:
6+
description: Path to the Godot binary.
7+
required: true
8+
type: string
9+
reftags:
10+
description: Reference tags of Godot versions to check (comma separated).
11+
required: true
12+
type: string
13+
14+
runs:
15+
using: composite
16+
steps:
17+
- name: Extract GDExtension interface
18+
shell: sh
19+
run: |
20+
${{ inputs.bin }} --headless --dump-gdextension-interface
21+
mkdir tests/compatibility_test/src/deps/
22+
mv gdextension_interface.h tests/compatibility_test/src/deps/
23+
24+
- name: Build minimal GDExtension
25+
shell: sh
26+
run: scons --directory=./tests/compatibility_test
27+
28+
- name: Download reference GDExtension API JSON and try to load it
29+
shell: sh
30+
env:
31+
GODOT4_BIN: ${{ inputs.bin }}
32+
REFTAGS: ${{ inputs.reftags }}
33+
run: ./tests/compatibility_test/run_compatibility_test.py

.github/actions/godot-cpp-build/action.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,6 @@ runs:
3535

3636
- name: SCons Build
3737
shell: sh
38+
env:
39+
SCONS_CACHE: ${{ inputs.scons-cache }}
3840
run: scons --directory=./godot-cpp/test "gdextension_dir=${{ github.workspace }}" ${{ inputs.scons-flags }}

0 commit comments

Comments
 (0)