Wednesday, October 16, 2024

update for Godot to 3.6

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__)
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?

No comments:

Post a Comment