Hi,

This is an update to Godot version 3.6. No major changes, just some of
the usual churn... Some input from op@ on an earlier version that was
missing sndio support.

Release
notes: https://godotengine.org/article/godot-3-6-finally-released/

ok?
Index: Makefile
===================================================================
RCS file: /cvs/ports/games/godot/Makefile,v
diff -u -p -r1.55 Makefile
--- Makefile	26 Sep 2023 20:44:06 -0000	1.55
+++ Makefile	2 Oct 2024 13:32:58 -0000
@@ -4,7 +4,7 @@ COMMENT-main =	2D and 3D game engine
 COMMENT-tools=	2D and 3D game engine (with tools)
 COMMENT-sharp=	.NET libs for mono/C# module of Godot
 
-V =		3.5.3
+V =		3.6
 SHARPFILES_V =	3.5.2
 DISTNAME =	godot-${V}-stable
 PKGNAME =	godot-${V}
Index: distinfo
===================================================================
RCS file: /cvs/ports/games/godot/distinfo,v
diff -u -p -r1.23 distinfo
--- distinfo	26 Sep 2023 20:44:06 -0000	1.23
+++ distinfo	2 Oct 2024 13:32:58 -0000
@@ -1,8 +1,8 @@
 SHA256 (CoaguCo-Industries-GodotSteam-v3.20.tar.gz) = FoAl3iZ+1CWwIPXwJZ9S7q3QMn//RslYT06tXkc38QU=
 SHA256 (godot-3.5.2-mono-glue.tar.gz) = ezUneQt2JzlsQPF4FvSCcNtJiYbdb3NEY4Lvjj/gz64=
 SHA256 (godot-3.5.2-nuget-packages.tar.xz) = RXlTjB1IgjZEP2ZJY05xoGQv8XTRKHxwPaMmiNdduQE=
-SHA256 (godot-3.5.3-stable.tar.xz) = PLSBJrdoWPQM9UvTRbuE3B9J2eb4pKdCWthugF05cB0=
+SHA256 (godot-3.6-stable.tar.xz) = W+0gpwVtTMPMo0ABdSEJgJrXriAFSOmMe7xq+60Y7ac=
 SIZE (CoaguCo-Industries-GodotSteam-v3.20.tar.gz) = 253832
 SIZE (godot-3.5.2-mono-glue.tar.gz) = 1094618
 SIZE (godot-3.5.2-nuget-packages.tar.xz) = 55742184
-SIZE (godot-3.5.3-stable.tar.xz) = 24072964
+SIZE (godot-3.6-stable.tar.xz) = 24345708
Index: patches/patch-core_object_cpp
===================================================================
RCS file: /cvs/ports/games/godot/patches/patch-core_object_cpp,v
diff -u -p -r1.1 patch-core_object_cpp
--- patches/patch-core_object_cpp	14 Aug 2023 12:40:50 -0000	1.1
+++ patches/patch-core_object_cpp	2 Oct 2024 13:32:58 -0000
@@ -3,7 +3,7 @@ when building without tools, don't warn 
 Index: core/object.cpp
 --- core/object.cpp.orig
 +++ core/object.cpp
-@@ -2067,8 +2067,13 @@ RWLock ObjectDB::rw_lock;
+@@ -2071,8 +2071,13 @@ RWLock ObjectDB::rw_lock;
  void ObjectDB::cleanup() {
  	rw_lock.write_lock();
  	if (instances.size()) {
Index: patches/patch-drivers_unix_os_unix_cpp
===================================================================
RCS file: /cvs/ports/games/godot/patches/patch-drivers_unix_os_unix_cpp,v
diff -u -p -r1.12 patch-drivers_unix_os_unix_cpp
--- patches/patch-drivers_unix_os_unix_cpp	10 Oct 2022 18:39:05 -0000	1.12
+++ patches/patch-drivers_unix_os_unix_cpp	2 Oct 2024 13:32:59 -0000
@@ -4,7 +4,7 @@ https://github.com/godotengine/godot/pul
 Index: drivers/unix/os_unix.cpp
 --- drivers/unix/os_unix.cpp.orig
 +++ drivers/unix/os_unix.cpp
-@@ -497,12 +497,6 @@ String OS_Unix::get_executable_path() const {
+@@ -484,12 +484,6 @@ String OS_Unix::get_executable_path() const {
  		return OS::get_executable_path();
  	}
  	return b;
@@ -17,7 +17,7 @@ Index: drivers/unix/os_unix.cpp
  #elif defined(__FreeBSD__)
  	int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 };
  	char buf[MAXPATHLEN];
-@@ -529,7 +523,6 @@ String OS_Unix::get_executable_path() const {
+@@ -516,7 +510,6 @@ String OS_Unix::get_executable_path() const {
  
  	return path;
  #else
Index: patches/patch-modules_mono_csharp_script_cpp
===================================================================
RCS file: /cvs/ports/games/godot/patches/patch-modules_mono_csharp_script_cpp,v
diff -u -p -r1.1 patch-modules_mono_csharp_script_cpp
--- patches/patch-modules_mono_csharp_script_cpp	24 Sep 2023 19:08:52 -0000	1.1
+++ patches/patch-modules_mono_csharp_script_cpp	2 Oct 2024 13:32:59 -0000
@@ -4,7 +4,7 @@ an rvalue of type 'nullptr_t'
 Index: modules/mono/csharp_script.cpp
 --- modules/mono/csharp_script.cpp.orig
 +++ modules/mono/csharp_script.cpp
-@@ -2310,7 +2310,7 @@ bool CSharpScript::_update_exports(PlaceHolderScriptIn
+@@ -2302,7 +2302,7 @@ bool CSharpScript::_update_exports(PlaceHolderScriptIn
  
  			GDMonoMethod *ctor = script_class->get_method(CACHED_STRING_NAME(dotctor), 0);
  
@@ -13,7 +13,7 @@ Index: modules/mono/csharp_script.cpp
  					"Cannot construct temporary MonoObject because the class does not define a parameterless constructor: '" + get_path() + "'.");
  
  			MonoException *ctor_exc = NULL;
-@@ -2891,10 +2891,10 @@ bool CSharpScript::can_instance() const {
+@@ -2885,10 +2885,10 @@ bool CSharpScript::can_instance() const {
  	if (extra_cond && !script_class) {
  		if (GDMono::get_singleton()->get_project_assembly() == NULL) {
  			// The project assembly is not loaded
Index: patches/patch-modules_mono_godotsharp_dirs_cpp
===================================================================
RCS file: /cvs/ports/games/godot/patches/patch-modules_mono_godotsharp_dirs_cpp,v
diff -u -p -r1.1 patch-modules_mono_godotsharp_dirs_cpp
--- patches/patch-modules_mono_godotsharp_dirs_cpp	24 Sep 2023 19:08:52 -0000	1.1
+++ patches/patch-modules_mono_godotsharp_dirs_cpp	2 Oct 2024 13:32:59 -0000
@@ -4,7 +4,7 @@ make data_editor_prebuilt_api_dir() avai
 Index: modules/mono/godotsharp_dirs.cpp
 --- modules/mono/godotsharp_dirs.cpp.orig
 +++ modules/mono/godotsharp_dirs.cpp
-@@ -97,6 +97,8 @@ class _GodotSharpDirs { (public)
+@@ -98,6 +98,8 @@ class _GodotSharpDirs { (public)
  	String res_temp_assemblies_dir;
  	String mono_user_dir;
  	String mono_logs_dir;
@@ -13,7 +13,7 @@ Index: modules/mono/godotsharp_dirs.cpp
  
  #ifdef TOOLS_ENABLED
  	String mono_solutions_dir;
-@@ -106,8 +108,6 @@ class _GodotSharpDirs { (public)
+@@ -107,8 +109,6 @@ class _GodotSharpDirs { (public)
  	String sln_filepath;
  	String csproj_filepath;
  
@@ -22,7 +22,7 @@ Index: modules/mono/godotsharp_dirs.cpp
  #else
  	// Equivalent of res_assemblies_dir, but in the data directory rather than in 'res://'.
  	// Only defined on export templates. Used when exporting assemblies outside of PCKs.
-@@ -177,20 +177,20 @@ class _GodotSharpDirs { (public)
+@@ -172,20 +172,20 @@ class _GodotSharpDirs { (public)
  #endif
  
  		String exe_dir = OS::get_singleton()->get_executable_path().get_base_dir();
@@ -48,7 +48,7 @@ Index: modules/mono/godotsharp_dirs.cpp
  #endif
  
  #ifdef WINDOWS_ENABLED
-@@ -214,6 +214,7 @@ class _GodotSharpDirs { (public)
+@@ -209,6 +209,7 @@ class _GodotSharpDirs { (public)
  
  #else
  
@@ -56,7 +56,7 @@ Index: modules/mono/godotsharp_dirs.cpp
  		String appname = ProjectSettings::get_singleton()->get("application/config/name");
  		String appname_safe = OS::get_singleton()->get_safe_dir_name(appname);
  		String data_dir_root = exe_dir.plus_file("data_" + appname_safe);
-@@ -223,11 +224,12 @@ class _GodotSharpDirs { (public)
+@@ -218,11 +219,12 @@ class _GodotSharpDirs { (public)
  
  		String data_mono_root_dir = data_dir_root.plus_file("Mono");
  		data_mono_etc_dir = data_mono_root_dir.plus_file("etc");
@@ -70,7 +70,7 @@ Index: modules/mono/godotsharp_dirs.cpp
  		data_game_assemblies_dir = data_dir_root.plus_file("Assemblies");
  #endif
  
-@@ -299,6 +301,10 @@ String get_mono_logs_dir() {
+@@ -294,6 +296,10 @@ String get_mono_logs_dir() {
  	return _GodotSharpDirs::get_singleton().mono_logs_dir;
  }
  
@@ -81,7 +81,7 @@ Index: modules/mono/godotsharp_dirs.cpp
  #ifdef TOOLS_ENABLED
  String get_mono_solutions_dir() {
  	return _GodotSharpDirs::get_singleton().mono_solutions_dir;
-@@ -324,9 +330,6 @@ String get_data_editor_tools_dir() {
+@@ -319,9 +325,6 @@ String get_data_editor_tools_dir() {
  	return _GodotSharpDirs::get_singleton().data_editor_tools_dir;
  }
  
Index: patches/patch-platform_x11_detect_py
===================================================================
RCS file: patches/patch-platform_x11_detect_py
diff -N patches/patch-platform_x11_detect_py
--- patches/patch-platform_x11_detect_py	10 Oct 2022 18:39:05 -0000	1.13
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,71 +0,0 @@
-- remove hardcoded -O2, found by bcallah@
-- add sndio
-- enable joydev
-- disable template binaries (requires GNU ld but is broken on GCC-arches)
-
-Index: platform/x11/detect.py
---- platform/x11/detect.py.orig
-+++ platform/x11/detect.py
-@@ -90,29 +90,6 @@ def get_flags():
- def configure(env):
-     ## Build type
- 
--    if env["target"] == "release":
--        if env["optimize"] == "speed":  # optimize for speed (default)
--            env.Prepend(CCFLAGS=["-O3"])
--        elif env["optimize"] == "size":  # optimize for size
--            env.Prepend(CCFLAGS=["-Os"])
--
--        if env["debug_symbols"]:
--            env.Prepend(CCFLAGS=["-g2"])
--
--    elif env["target"] == "release_debug":
--        if env["optimize"] == "speed":  # optimize for speed (default)
--            env.Prepend(CCFLAGS=["-O2"])
--        elif env["optimize"] == "size":  # optimize for size
--            env.Prepend(CCFLAGS=["-Os"])
--
--        if env["debug_symbols"]:
--            env.Prepend(CCFLAGS=["-g2"])
--
--    elif env["target"] == "debug":
--        env.Prepend(CCFLAGS=["-ggdb"])
--        env.Prepend(CCFLAGS=["-g3"])
--        env.Append(LINKFLAGS=["-rdynamic"])
--
-     ## Architecture
- 
-     is64 = sys.maxsize > 2**32
-@@ -363,6 +340,10 @@ def configure(env):
-     else:
-         print("Warning: ALSA libraries not found. Disabling the ALSA audio driver.")
- 
-+    print("Enabling sndio")
-+    env.Append(CPPDEFINES=["SNDIO_ENABLED"])
-+    env.Append(LINKFLAGS=["-lsndio"])
-+
-     if env["pulseaudio"]:
-         if os.system("pkg-config --exists libpulse") == 0:  # 0 means found
-             env.Append(CPPDEFINES=["PULSEAUDIO_ENABLED"])
-@@ -381,6 +362,9 @@ def configure(env):
-     else:
-         env["udev"] = False  # Linux specific
- 
-+    if platform.system() == "OpenBSD":
-+        env.Append(CPPDEFINES=["JOYDEV_ENABLED"])
-+
-     # Linkflags below this line should typically stay the last ones
-     if not env["builtin_zlib"]:
-         env.ParseConfig("pkg-config zlib --cflags --libs")
-@@ -413,11 +397,6 @@ def configure(env):
-             print(
-                 "Warning: Creating template binaries enabled for PCK embedding is currently only supported with GNU ld, not gold or LLD."
-             )
--        else:
--            if float(gnu_ld_version.group(1)) >= 2.30:
--                env.Append(LINKFLAGS=["-T", "platform/x11/pck_embed.ld"])
--            else:
--                env.Append(LINKFLAGS=["-T", "platform/x11/pck_embed.legacy.ld"])
- 
-     ## Cross-compilation
- 
Index: patches/patch-platform_x11_os_x11_cpp
===================================================================
RCS file: /cvs/ports/games/godot/patches/patch-platform_x11_os_x11_cpp,v
diff -u -p -r1.13 patch-platform_x11_os_x11_cpp
--- patches/patch-platform_x11_os_x11_cpp	2 Aug 2023 22:01:51 -0000	1.13
+++ patches/patch-platform_x11_os_x11_cpp	2 Oct 2024 13:32:59 -0000
@@ -16,7 +16,7 @@ Index: platform/x11/os_x11.cpp
  // ICCCM
  #define WM_NormalState 1L // window normal state
  #define WM_IconicState 3L // window minimized
-@@ -173,7 +177,7 @@ Error OS_X11::initialize(const VideoMode &p_desired, i
+@@ -219,7 +223,7 @@ Error OS_X11::initialize(const VideoMode &p_desired, i
  	int xrandr_minor = 0;
  	int event_base, error_base;
  	xrandr_ext_ok = XRRQueryExtension(x11_display, &event_base, &error_base);
@@ -25,7 +25,7 @@ Index: platform/x11/os_x11.cpp
  	if (!xrandr_handle) {
  		err = dlerror();
  		// For some arcane reason, NetBSD now ships libXrandr.so.3 while the rest of the world has libXrandr.so.2...
-@@ -610,9 +614,13 @@ Error OS_X11::initialize(const VideoMode &p_desired, i
+@@ -664,9 +668,13 @@ Error OS_X11::initialize(const VideoMode &p_desired, i
  
  	window_has_focus = true; // Set focus to true at init
  #ifdef JOYDEV_ENABLED
@@ -40,7 +40,7 @@ Index: platform/x11/os_x11.cpp
  	power_manager = memnew(PowerX11);
  
  	if (p_desired.layered) {
-@@ -4414,6 +4422,11 @@ void OS_X11::update_real_mouse_position() {
+@@ -4474,6 +4482,11 @@ void OS_X11::update_real_mouse_position() {
  }
  
  OS_X11::OS_X11() {
Index: patches/patch-platform_x11_os_x11_h
===================================================================
RCS file: /cvs/ports/games/godot/patches/patch-platform_x11_os_x11_h,v
diff -u -p -r1.6 patch-platform_x11_os_x11_h
--- patches/patch-platform_x11_os_x11_h	11 Aug 2022 19:40:59 -0000	1.6
+++ patches/patch-platform_x11_os_x11_h	2 Oct 2024 13:32:59 -0000
@@ -16,7 +16,7 @@ Index: platform/x11/os_x11.h
  #include "main/input_default.h"
  #include "power_x11.h"
  #include "servers/audio_server.h"
-@@ -199,7 +200,7 @@ class OS_X11 : public OS_Unix {
+@@ -203,7 +204,7 @@ class OS_X11 : public OS_Unix {
  	InputDefault *input;
  
  #ifdef JOYDEV_ENABLED
@@ -25,7 +25,7 @@ Index: platform/x11/os_x11.h
  #endif
  
  #ifdef ALSA_ENABLED
-@@ -208,6 +209,10 @@ class OS_X11 : public OS_Unix {
+@@ -212,6 +213,10 @@ class OS_X11 : public OS_Unix {
  
  #ifdef ALSAMIDI_ENABLED
  	MIDIDriverALSAMidi driver_alsamidi;
Index: patches/patch-servers_visual_shader_language_cpp
===================================================================
RCS file: /cvs/ports/games/godot/patches/patch-servers_visual_shader_language_cpp,v
diff -u -p -r1.3 patch-servers_visual_shader_language_cpp
--- patches/patch-servers_visual_shader_language_cpp	13 Aug 2023 12:34:23 -0000	1.3
+++ patches/patch-servers_visual_shader_language_cpp	2 Oct 2024 13:32:59 -0000
@@ -4,7 +4,7 @@ instead
 Index: servers/visual/shader_language.cpp
 --- servers/visual/shader_language.cpp.orig
 +++ servers/visual/shader_language.cpp
-@@ -596,6 +596,7 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
+@@ -598,6 +598,7 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
  							}
  						}
  
@@ -12,7 +12,7 @@ Index: servers/visual/shader_language.cp
  						if (error) {
  							if (hexa_found) {
  								return _make_token(TK_ERROR, "Invalid (hexadecimal) numeric constant");
-@@ -608,6 +609,9 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
+@@ -610,6 +611,9 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
  							}
  							return _make_token(TK_ERROR, "Invalid (integer) numeric constant");
  						}
@@ -22,7 +22,7 @@ Index: servers/visual/shader_language.cp
  						str += symbol;
  						i++;
  					}
-@@ -622,24 +626,40 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
+@@ -624,24 +628,40 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
  					} else if (period_found || exponent_found || float_suffix_found) {
  						//floats
  						if (exponent_found && (!_is_number(last_char) && last_char != 'f')) { // checks for eg: "2E", "2E-", "2E+"
@@ -63,7 +63,7 @@ Index: servers/visual/shader_language.cp
  							}
  						}
  
-@@ -651,7 +671,11 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
+@@ -653,7 +673,11 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
  						}
  
  						if (!str.is_valid_float()) {
@@ -75,7 +75,7 @@ Index: servers/visual/shader_language.cp
  						}
  					} else {
  						//integers
-@@ -661,6 +685,7 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
+@@ -663,6 +687,7 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
  							// Compensate reading cursor position.
  							char_idx += 1;
  						}
@@ -83,7 +83,7 @@ Index: servers/visual/shader_language.cp
  						if (!str.is_valid_integer()) {
  							if (uint_suffix_found) {
  								return _make_token(TK_ERROR, "Invalid (unsigned integer) numeric constant");
-@@ -668,6 +693,9 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
+@@ -670,6 +695,9 @@ ShaderLanguage::Token ShaderLanguage::_get_token() {
  								return _make_token(TK_ERROR, "Invalid (integer) numeric constant");
  							}
  						}
Index: patches/patch-thirdparty_embree_common_math_math_h
===================================================================
RCS file: /cvs/ports/games/godot/patches/patch-thirdparty_embree_common_math_math_h,v
diff -u -p -r1.4 patch-thirdparty_embree_common_math_math_h
--- patches/patch-thirdparty_embree_common_math_math_h	5 Aug 2022 14:19:42 -0000	1.4
+++ patches/patch-thirdparty_embree_common_math_math_h	2 Oct 2024 13:32:59 -0000
@@ -5,7 +5,7 @@ call.  Backport of https://github.com/em
 Index: thirdparty/embree/common/math/math.h
 --- thirdparty/embree/common/math/math.h.orig
 +++ thirdparty/embree/common/math/math.h
-@@ -168,6 +168,7 @@ namespace embree
+@@ -239,6 +239,7 @@ namespace embree
      __forceinline T twice(const T& a) { return a+a; }
  
    __forceinline      int min(int      a, int      b) { return a<b ? a:b; }
@@ -13,7 +13,7 @@ Index: thirdparty/embree/common/math/mat
    __forceinline unsigned min(unsigned a, unsigned b) { return a<b ? a:b; }
    __forceinline  int64_t min(int64_t  a, int64_t  b) { return a<b ? a:b; }
    __forceinline    float min(float    a, float    b) { return a<b ? a:b; }
-@@ -185,6 +186,7 @@ namespace embree
+@@ -259,6 +260,7 @@ namespace embree
    template<typename T> __forceinline T mini(const T& a, const T& b, const T& c, const T& d, const T& e) { return mini(mini(mini(a,b),mini(c,d)),e); }
  
    __forceinline      int max(int      a, int      b) { return a<b ? b:a; }
Index: patches/patch-thirdparty_embree_common_sys_sysinfo_cpp
===================================================================
RCS file: /cvs/ports/games/godot/patches/patch-thirdparty_embree_common_sys_sysinfo_cpp,v
diff -u -p -r1.4 patch-thirdparty_embree_common_sys_sysinfo_cpp
--- patches/patch-thirdparty_embree_common_sys_sysinfo_cpp	5 Aug 2022 14:19:42 -0000	1.4
+++ patches/patch-thirdparty_embree_common_sys_sysinfo_cpp	2 Oct 2024 13:32:59 -0000
@@ -7,7 +7,7 @@ Backport of https://github.com/embree/em
 Index: thirdparty/embree/common/sys/sysinfo.cpp
 --- thirdparty/embree/common/sys/sysinfo.cpp.orig
 +++ thirdparty/embree/common/sys/sysinfo.cpp
-@@ -572,6 +572,26 @@ namespace embree
+@@ -597,6 +597,26 @@ namespace embree
  
  #endif
  
@@ -34,12 +34,12 @@ Index: thirdparty/embree/common/sys/sysi
  ////////////////////////////////////////////////////////////////////////////////
  /// Mac OS X Platform
  ////////////////////////////////////////////////////////////////////////////////
-@@ -622,7 +642,7 @@ namespace embree
+@@ -649,7 +669,7 @@ namespace embree
+     static int nThreads = -1;
+     if (nThreads != -1) return nThreads;
  
- // -- GODOT start --
- // #if defined(__MACOSX__)
 -#if defined(__MACOSX__) || defined(__ANDROID__)
 +#if defined(__MACOSX__) || defined(__ANDROID__) || defined(__OpenBSD__)
- // -- GODOT end --
      nThreads = sysconf(_SC_NPROCESSORS_ONLN); // does not work in Linux LXC container
      assert(nThreads);
+ #elif defined(__EMSCRIPTEN__)

Reply via email to