Compare commits

...

12 Commits

Author SHA1 Message Date
Arctis Fireblight
b8d529fac8 Merge pull request #1109 from Arctis-Fireblight/Fix-Incorrect-Nuget-Versions
Fix incorrect version on pre-release Nuget packages
2025-11-15 22:40:39 -06:00
Arctis Fireblight
4d9e24d511 Merge pull request #1108 from Arctis-Fireblight/Updates-to-Gitlab-ci
Refactor .gitlab-ci.yml file for release build pipeline.
2025-11-15 22:39:55 -06:00
Arctis Fireblight
b47b9876cb Fix incorrect version on pre-release Nuget packages
Added additional logic to `build_assemblies.py` to append the status_version number to the version number for non-stable packages.
2025-11-15 22:08:15 -06:00
Arctis Fireblight
60164fcbf8 Refactor .gitlab-ci.yml file
Moved all build steps to a single stage.
Fixed various typos.
Reordered the Mac stages so that they occur earlier in the pipeline maximizing efficiency.
Bug fixes to the Mac signing jobs.
Added packaging stage to create a single download file from artifacts.
Fixed the nuget push command.
2025-11-15 19:29:04 -06:00
Arctis Fireblight
abc59bb63e Merge pull request #1107 from Arctis-Fireblight/add-buildscript
Created `.gitlab-ci.yml` file for automating release builds
2025-11-06 19:58:44 -06:00
Arctis Fireblight
f81478a98d Created .gitlab-ci.yml file for automating release builds 2025-11-06 19:48:09 -06:00
Arctis Fireblight
54fbf8ed8b Merge pull request #1102 from Arctis-Fireblight/4.4
Bump version - 4.4.0-rc.1
2025-11-06 07:43:56 -06:00
Arctis Fireblight
65829d638a Merge pull request #1106 from Arctis-Fireblight/Fix-Gcc-warnings-4.4
Fix GCC warnings - 4.4
2025-11-05 22:20:59 -06:00
Thaddeus Crews
bc320db5e3 Core: Sidestep GCC false-positives
(cherry picked from commit acdb8667b56a43db6eee9a96ad61147bb80ea785)

Adds some more fixes for 4.5.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-11-05 22:14:39 -06:00
Arctis Fireblight
d15a36616a Bump version - 4.4.0-rc.1 2025-11-02 16:43:43 -06:00
Arctis Fireblight
f49ba20319 Merge pull request #1099 from Arctis-Fireblight/4.4
Cherrypick 4.4: Add Missing `NodePath.Slice()` method to the C# API (#1097)
2025-10-16 08:30:50 -05:00
087b7ee14a Add Missing NodePath.Slice() method to the C# API (#1097)
* Add missing `NodePath.Slice()` method to the C# API

* Fix syntax error due to missing parenthesis.

* Replace space indentation with tab

* Fix incorrect type name
2025-10-15 22:35:32 -05:00
9 changed files with 1443 additions and 2 deletions

1390
.gitlab-ci.yml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -2393,6 +2393,10 @@ void Image::initialize_data(const char **p_xpm) {
} break;
case READING_PIXELS: {
int y = line - colormap_size - 1;
#if defined(__GNUC__) && !defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic warning "-Wstringop-overflow=0"
#endif
for (int x = 0; x < size_width; x++) {
char pixelstr[6] = { 0, 0, 0, 0, 0, 0 };
for (int i = 0; i < pixelchars; i++) {
@@ -2407,6 +2411,9 @@ void Image::initialize_data(const char **p_xpm) {
}
_put_pixelb(x, y, pixel_size, data_write, pixel);
}
#if defined(__GNUC__) && !defined(__clang__)
#pragma GCC diagnostic pop
#endif
if (y == (size_height - 1)) {
status = DONE;

View File

@@ -32,7 +32,14 @@
#include "geometry_2d.h"
#if defined(__GNUC__) && !defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Walloc-zero"
#endif
#include "thirdparty/clipper2/include/clipper2/clipper.h"
#if defined(__GNUC__) && !defined(__clang__)
#pragma GCC diagnostic pop
#endif
#include "thirdparty/misc/polypartition.h"
#define STB_RECT_PACK_IMPLEMENTATION
#include "thirdparty/misc/stb_rect_pack.h"

View File

@@ -285,6 +285,9 @@ def generate_sdk_package_versions():
if match:
pos = match.start()
version_status = version_status[:pos] + "." + version_status[pos:]
else:
version_status = f"{version_status}.{version_info['status_version']}"
version_str += "-" + version_status
import version

View File

@@ -533,6 +533,9 @@ namespace Godot.NativeInterop
public static partial int godotsharp_node_path_get_subname_count(in godot_node_path p_self);
public static partial void godotsharp_node_path_slice(scoped in godot_node_path p_self, int p_begin, int p_end,
out godot_node_path r_result);
public static partial godot_bool godotsharp_node_path_is_absolute(in godot_node_path p_self);
public static partial godot_bool godotsharp_node_path_equals(in godot_node_path p_self, in godot_node_path p_other);

View File

@@ -274,6 +274,31 @@ namespace Godot
return NativeFuncs.godotsharp_node_path_get_subname_count(self);
}
/// <summary>
/// Returns the slice of the <em>NodePath</em>, from <c>begin</c> (inclusive) to <c>end</c> (exclusive), as a
/// new <em>NodePath</em>.<br/>
/// The absolute value of <c>begin</c> and <c>end</c> will be clamped to the sum of
/// <see cref="NodePath.GetNameCount">GetNameCount</see> and
/// <see cref="NodePath.GetSubNameCount">GetSubNameCount</see>, so the default value for <c>end</c> makes it
/// slice to the end of the <em>NodePath</em> by default (i.e. <c>path.Slice(1)</c> is a shorthand for
/// <c>path.Slice(1, path.GetNameCount() + path.GetSubNameCount())</c>).<br/>
/// If either <c>begin</c> or <c>end</c> are negative, they will be relative to the end of the <em>NodePath</em>
/// (i.e. <c>path.Slice(0, -2)</c> is shorthand for
/// <c>path.Slice(0, path.GetNameCount() + path.GetSubNameCount() - 2)</c>).
/// </summary>
/// <param name="begin">The index of the name or subname at which to start the slice.</param>
/// <param name="end">The index (exclusive) of the name or subname at which to end the slice.</param>
/// <returns>A slice of the <em>NodePath</em> bounded by <c>begin</c> and <c>end</c>.</returns>
public NodePath Slice(int begin, int end = Int32.MaxValue)
{
var self = (godot_node_path)NativeValue;
NativeFuncs.godotsharp_node_path_slice(self, begin, end, out godot_node_path slicedNodePath);
using (slicedNodePath)
return new NodePath(slicedNodePath);
}
/// <summary>
/// Returns <see langword="true"/> if the node path is absolute (as opposed to relative),
/// which means that it starts with a slash character (<c>/</c>). Absolute node paths can

View File

@@ -1331,6 +1331,10 @@ int32_t godotsharp_node_path_get_subname_count(const NodePath *p_self) {
return p_self->get_subname_count();
}
void godotsharp_node_path_slice(const NodePath *p_self, int32_t p_begin, int32_t p_end, NodePath *r_result) {
memnew_placement(r_result, NodePath(p_self->slice(p_begin, p_end)));
}
bool godotsharp_node_path_is_absolute(const NodePath *p_self) {
return p_self->is_absolute();
}
@@ -1712,6 +1716,7 @@ static const void *unmanaged_callbacks[]{
(void *)godotsharp_node_path_get_name_count,
(void *)godotsharp_node_path_get_subname,
(void *)godotsharp_node_path_get_subname_count,
(void *)godotsharp_node_path_slice,
(void *)godotsharp_node_path_is_absolute,
(void *)godotsharp_node_path_equals,
(void *)godotsharp_node_path_hash,

View File

@@ -159,6 +159,7 @@ Node *SceneState::instantiate(GenEditState p_edit_state) const {
const NodeData *nd = &nodes[0];
Node **ret_nodes = (Node **)alloca(sizeof(Node *) * nc);
ret_nodes[0] = nullptr; // Sidesteps "maybe uninitialized" false-positives on GCC.
bool gen_node_path_cache = p_edit_state != GEN_EDIT_STATE_DISABLED && node_path_cache.is_empty();

View File

@@ -3,8 +3,8 @@ name = "Redot Engine"
major = 4
minor = 4
patch = 0
status = "beta"
status_version = 0
status = "rc"
status_version = 1
module_config = ""
website = "https://redotengine.org"
docs = "latest"