summaryrefslogtreecommitdiffstats
path: root/misc
diff options
context:
space:
mode:
Diffstat (limited to 'misc')
-rw-r--r--misc/dist/macos_tools.app/Contents/Info.plist17
-rw-r--r--misc/dist/windows/godot.iss2
-rw-r--r--misc/extension_api_validation/4.2-stable_4.3-stable.expected (renamed from misc/extension_api_validation/4.2-stable.expected)22
-rw-r--r--misc/extension_api_validation/4.3-stable.expected16
-rw-r--r--misc/msvs/vcxproj.filters.template5
-rwxr-xr-xmisc/scripts/header_guards.py37
-rwxr-xr-xmisc/scripts/install_d3d12_sdk_windows.py29
7 files changed, 76 insertions, 52 deletions
diff --git a/misc/dist/macos_tools.app/Contents/Info.plist b/misc/dist/macos_tools.app/Contents/Info.plist
index 90888719f8..9078701c91 100644
--- a/misc/dist/macos_tools.app/Contents/Info.plist
+++ b/misc/dist/macos_tools.app/Contents/Info.plist
@@ -17,17 +17,19 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>4.3</string>
+ <string>4.4</string>
<key>CFBundleSignature</key>
- <string>godot</string>
+ <string>GODO</string>
<key>CFBundleVersion</key>
- <string>4.3</string>
+ <string>4.4</string>
<key>NSMicrophoneUsageDescription</key>
<string>Microphone access is required to capture audio.</string>
<key>NSCameraUsageDescription</key>
<string>Camera access is required to capture video.</string>
<key>NSRequiresAquaSystemAppearance</key>
<false/>
+ <key>NSCameraUseContinuityCameraDeviceType</key>
+ <true/>
<key>NSHumanReadableCopyright</key>
<string>© 2007-present Juan Linietsky, Ariel Manzur &amp; Godot Engine contributors</string>
<key>CFBundleSupportedPlatforms</key>
@@ -38,10 +40,15 @@
<string>NSApplication</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.developer-tools</string>
- <key>LSMinimumSystemVersion</key>
- <string>10.12</string>
+ <key>LSArchitecturePriority</key>
+ <array>
+ <string>arm64</string>
+ <string>x86_64</string>
+ </array>
<key>LSMinimumSystemVersionByArchitecture</key>
<dict>
+ <key>arm64</key>
+ <string>11.0</string>
<key>x86_64</key>
<string>10.12</string>
</dict>
diff --git a/misc/dist/windows/godot.iss b/misc/dist/windows/godot.iss
index 6ce51e4bab..35f318cc12 100644
--- a/misc/dist/windows/godot.iss
+++ b/misc/dist/windows/godot.iss
@@ -1,5 +1,5 @@
#define MyAppName "Godot Engine"
-#define MyAppVersion "4.3"
+#define MyAppVersion "4.4"
#define MyAppPublisher "Godot Engine contributors"
#define MyAppURL "https://godotengine.org/"
#define MyAppExeName "godot.exe"
diff --git a/misc/extension_api_validation/4.2-stable.expected b/misc/extension_api_validation/4.2-stable_4.3-stable.expected
index 7b93df70fa..ce8f24c7a9 100644
--- a/misc/extension_api_validation/4.2-stable.expected
+++ b/misc/extension_api_validation/4.2-stable_4.3-stable.expected
@@ -254,13 +254,6 @@ Validate extension JSON: API was removed: classes/VisualShaderNodeComment/method
Validate extension JSON: API was removed: classes/VisualShaderNodeComment/properties/title
-GH-87888
---------
-Validate extension JSON: API was removed: classes/Skeleton3D/properties/animate_physical_bones
-
-These base class is changed to SkeletonModifier3D which is processed by Skeleton3D with the assumption that it is Skeleton3D's child.
-
-
GH-90575
--------
Validate extension JSON: API was removed: classes/BoneAttachment3D/methods/on_bone_pose_update
@@ -372,3 +365,18 @@ GH-91382
Validate extension JSON: Error: Field 'classes/AudioStreamPlaybackPolyphonic/methods/play_stream/arguments': size changed value in new API, from 4 to 6.
Optional arguments added. Compatibility methods registered.
+
+
+GH-93982
+--------
+Validate extension JSON: Error: Field 'classes/Sprite3D/properties/frame_coords': type changed value in new API, from "Vector2" to "Vector2i".
+
+The type was wrong to begin with and has been corrected. Vector2 and Vector2i are convertible, so it should be compatible.
+
+
+GH-94243
+--------
+Validate extension JSON: Error: Field 'classes/Image/methods/get_mipmap_offset/return_value': meta changed value in new API, from "int32" to "int64".
+
+Type changed to int64_t to support baking large lightmaps.
+No compatibility method needed, both GDExtension and C# generate it as int64_t anyway.
diff --git a/misc/extension_api_validation/4.3-stable.expected b/misc/extension_api_validation/4.3-stable.expected
new file mode 100644
index 0000000000..24c7702090
--- /dev/null
+++ b/misc/extension_api_validation/4.3-stable.expected
@@ -0,0 +1,16 @@
+This file contains the expected output of --validate-extension-api when run against the extension_api.json of the
+4.3-stable tag (the basename of this file).
+
+Only lines that start with "Validate extension JSON:" matter, everything else is considered a comment and ignored. They
+should instead be used to justify these changes and describe how users should work around these changes.
+
+Add new entries at the end of the file.
+
+## Changes between 4.3-stable and 4.4-stable
+
+GH-95374
+--------
+Validate extension JSON: Error: Field 'classes/ShapeCast2D/properties/collision_result': getter changed value in new API, from "_get_collision_result" to &"get_collision_result".
+Validate extension JSON: Error: Field 'classes/ShapeCast3D/properties/collision_result': getter changed value in new API, from "_get_collision_result" to &"get_collision_result".
+
+These getters have been renamed to expose them. GDExtension language bindings couldn't have exposed these properties before.
diff --git a/misc/msvs/vcxproj.filters.template b/misc/msvs/vcxproj.filters.template
index 11d331d15d..4fe7822bfd 100644
--- a/misc/msvs/vcxproj.filters.template
+++ b/misc/msvs/vcxproj.filters.template
@@ -7,12 +7,9 @@
<Filter Include="Header Files">
<UniqueIdentifier>%%UUID2%%</UniqueIdentifier>
</Filter>
- <Filter Include="Resource Files">
+ <Filter Include="Other Files">
<UniqueIdentifier>%%UUID3%%</UniqueIdentifier>
</Filter>
- <Filter Include="Scripts">
- <UniqueIdentifier>%%UUID4%%</UniqueIdentifier>
- </Filter>
%%FILTERS%%
</ItemGroup>
<ItemGroup>
diff --git a/misc/scripts/header_guards.py b/misc/scripts/header_guards.py
index b554be5159..fed418db1e 100755
--- a/misc/scripts/header_guards.py
+++ b/misc/scripts/header_guards.py
@@ -8,22 +8,38 @@ if len(sys.argv) < 2:
print("Invalid usage of header_guards.py, it should be called with a path to one or multiple files.")
sys.exit(1)
-HEADER_CHECK_OFFSET = 30
-HEADER_BEGIN_OFFSET = 31
-HEADER_END_OFFSET = -1
-
changed = []
invalid = []
for file in sys.argv[1:]:
- with open(file, "rt", encoding="utf-8", newline="\n") as f:
+ header_start = -1
+ HEADER_CHECK_OFFSET = -1
+
+ with open(file.strip(), "rt", encoding="utf-8", newline="\n") as f:
lines = f.readlines()
- if len(lines) <= HEADER_BEGIN_OFFSET:
- continue # Most likely a dummy file.
+ for idx, line in enumerate(lines):
+ sline = line.strip()
+
+ if header_start < 0:
+ if sline == "": # Skip empty lines at the top.
+ continue
+
+ if sline.startswith("/**********"): # Godot header starts this way.
+ header_start = idx
+ else:
+ HEADER_CHECK_OFFSET = 0 # There is no Godot header.
+ break
+ else:
+ if not sline.startswith("*") and not sline.startswith("/*"): # Not in the Godot header anymore.
+ HEADER_CHECK_OFFSET = idx + 1 # The include should be two lines below the Godot header.
+ break
+
+ if HEADER_CHECK_OFFSET < 0:
+ continue
- if lines[HEADER_CHECK_OFFSET].startswith("#import"):
- continue # Early catch obj-c file.
+ HEADER_BEGIN_OFFSET = HEADER_CHECK_OFFSET + 1
+ HEADER_END_OFFSET = len(lines) - 1
split = file.split("/") # Already in posix-format.
@@ -82,6 +98,9 @@ for file in sys.argv[1:]:
objc = False
for idx, line in enumerate(lines):
+ if line.startswith("// #import"): # Some dummy obj-c files only have commented out import lines.
+ objc = True
+ break
if not line.startswith("#"):
continue
elif line.startswith("#ifndef") and header_check == -1:
diff --git a/misc/scripts/install_d3d12_sdk_windows.py b/misc/scripts/install_d3d12_sdk_windows.py
index d7574e6222..2e5e4fce18 100755
--- a/misc/scripts/install_d3d12_sdk_windows.py
+++ b/misc/scripts/install_d3d12_sdk_windows.py
@@ -25,12 +25,6 @@ if deps_folder:
else:
deps_folder = os.path.join("bin", "build_deps")
-# DirectX Shader Compiler
-# Check for latest version: https://github.com/microsoft/DirectXShaderCompiler/releases/latest
-dxc_version = "v1.8.2403.2"
-dxc_filename = "dxc_2024_03_29.zip"
-dxc_archive = os.path.join(deps_folder, dxc_filename)
-dxc_folder = os.path.join(deps_folder, "dxc")
# Mesa NIR
# Check for latest version: https://github.com/godotengine/godot-nir-static/releases/latest
mesa_version = "23.1.9"
@@ -54,25 +48,8 @@ agility_sdk_folder = os.path.join(deps_folder, "agility_sdk")
if not os.path.exists(deps_folder):
os.makedirs(deps_folder)
-# DirectX Shader Compiler
-print("\x1b[1m[1/4] DirectX Shader Compiler\x1b[0m")
-if os.path.isfile(dxc_archive):
- os.remove(dxc_archive)
-print(f"Downloading DirectX Shader Compiler {dxc_filename} ...")
-urllib.request.urlretrieve(
- f"https://github.com/microsoft/DirectXShaderCompiler/releases/download/{dxc_version}/{dxc_filename}",
- dxc_archive,
-)
-if os.path.exists(dxc_folder):
- print(f"Removing existing local DirectX Shader Compiler installation in {dxc_folder} ...")
- shutil.rmtree(dxc_folder)
-print(f"Extracting DirectX Shader Compiler {dxc_filename} to {dxc_folder} ...")
-shutil.unpack_archive(dxc_archive, dxc_folder)
-os.remove(dxc_archive)
-print(f"DirectX Shader Compiler {dxc_filename} installed successfully.\n")
-
# Mesa NIR
-print("\x1b[1m[2/4] Mesa NIR\x1b[0m")
+print("\x1b[1m[1/3] Mesa NIR\x1b[0m")
if os.path.isfile(mesa_archive):
os.remove(mesa_archive)
print(f"Downloading Mesa NIR {mesa_filename} ...")
@@ -99,7 +76,7 @@ if dlltool == "":
dlltool = shutil.which("x86_64-w64-mingw32-dlltool") or ""
has_mingw = gendef != "" and dlltool != ""
-print("\x1b[1m[3/4] WinPixEventRuntime\x1b[0m")
+print("\x1b[1m[2/3] WinPixEventRuntime\x1b[0m")
if os.path.isfile(pix_archive):
os.remove(pix_archive)
print(f"Downloading WinPixEventRuntime {pix_version} ...")
@@ -130,7 +107,7 @@ else:
print(f"WinPixEventRuntime {pix_version} installed successfully.\n")
# DirectX 12 Agility SDK
-print("\x1b[1m[4/4] DirectX 12 Agility SDK\x1b[0m")
+print("\x1b[1m[3/3] DirectX 12 Agility SDK\x1b[0m")
if os.path.isfile(agility_sdk_archive):
os.remove(agility_sdk_archive)
print(f"Downloading DirectX 12 Agility SDK {agility_sdk_version} ...")