mirror of
https://github.com/godotengine/godot.git
synced 2024-11-13 23:52:41 +00:00
Merge pull request #98864 from akien-mga/3.4-ci-build-warning-fixes
Some checks failed
🤖 Android Builds / Template (target=release, tools=no) (push) Has been cancelled
🍏 iOS Builds / Template (target=release, tools=no) (push) Has been cancelled
🌐 JavaScript Builds / Template (target=release, tools=no) (push) Has been cancelled
🐧 Linux Builds / ${{ matrix.name }} (false, ./bin/godot.x11.tools.64s, false, linux-editor-sanitizers, Editor and sanitizers (target=debug, tools=yes, use_asan=yes, use_ubsan=yes), use_asan=yes use_ubsan=yes, debug, true, true) (push) Has been cancelled
🐧 Linux Builds / ${{ matrix.name }} (true, ./bin/godot.x11.opt.tools.64.mono, true, linux-editor-mono, Editor w/ Mono (target=release_debug, tools=yes), module_mono_enabled=yes mono_static=yes mono_glue=no, release_debug, true) (push) Has been cancelled
🐧 Linux Builds / ${{ matrix.name }} (true, false, linux-template-mono, Template w/ Mono (target=release, tools=no), module_mono_enabled=yes mono_static=yes mono_glue=no debug_symbols=no, release, false) (push) Has been cancelled
🍎 macOS Builds / ${{ matrix.name }} (./bin/godot.osx.opt.tools.64, macos-editor, Editor (target=release_debug, tools=yes), release_debug, true) (push) Has been cancelled
🍎 macOS Builds / ${{ matrix.name }} (macos-template, Template (target=release, tools=no), release, false) (push) Has been cancelled
☁ Server Builds / ${{ matrix.name }} (server-editor-mono, Linux Headless w/ Mono (target=release_debug, tools=yes), release_debug, true) (push) Has been cancelled
☁ Server Builds / ${{ matrix.name }} (server-template-mono, Linux Server w/ Mono (target=release, tools=no), release, false) (push) Has been cancelled
📊 Static Checks / Static Checks (clang-format, black format, file format, documentation checks) (push) Has been cancelled
🏁 Windows Builds / ${{ matrix.name }} (./bin/godot.windows.opt.tools.64.exe, windows-editor, Editor (target=release_debug, tools=yes), release_debug, true) (push) Has been cancelled
🏁 Windows Builds / ${{ matrix.name }} (windows-template, Template (target=release, tools=no), release, false) (push) Has been cancelled
Some checks failed
🤖 Android Builds / Template (target=release, tools=no) (push) Has been cancelled
🍏 iOS Builds / Template (target=release, tools=no) (push) Has been cancelled
🌐 JavaScript Builds / Template (target=release, tools=no) (push) Has been cancelled
🐧 Linux Builds / ${{ matrix.name }} (false, ./bin/godot.x11.tools.64s, false, linux-editor-sanitizers, Editor and sanitizers (target=debug, tools=yes, use_asan=yes, use_ubsan=yes), use_asan=yes use_ubsan=yes, debug, true, true) (push) Has been cancelled
🐧 Linux Builds / ${{ matrix.name }} (true, ./bin/godot.x11.opt.tools.64.mono, true, linux-editor-mono, Editor w/ Mono (target=release_debug, tools=yes), module_mono_enabled=yes mono_static=yes mono_glue=no, release_debug, true) (push) Has been cancelled
🐧 Linux Builds / ${{ matrix.name }} (true, false, linux-template-mono, Template w/ Mono (target=release, tools=no), module_mono_enabled=yes mono_static=yes mono_glue=no debug_symbols=no, release, false) (push) Has been cancelled
🍎 macOS Builds / ${{ matrix.name }} (./bin/godot.osx.opt.tools.64, macos-editor, Editor (target=release_debug, tools=yes), release_debug, true) (push) Has been cancelled
🍎 macOS Builds / ${{ matrix.name }} (macos-template, Template (target=release, tools=no), release, false) (push) Has been cancelled
☁ Server Builds / ${{ matrix.name }} (server-editor-mono, Linux Headless w/ Mono (target=release_debug, tools=yes), release_debug, true) (push) Has been cancelled
☁ Server Builds / ${{ matrix.name }} (server-template-mono, Linux Server w/ Mono (target=release, tools=no), release, false) (push) Has been cancelled
📊 Static Checks / Static Checks (clang-format, black format, file format, documentation checks) (push) Has been cancelled
🏁 Windows Builds / ${{ matrix.name }} (./bin/godot.windows.opt.tools.64.exe, windows-editor, Editor (target=release_debug, tools=yes), release_debug, true) (push) Has been cancelled
🏁 Windows Builds / ${{ matrix.name }} (windows-template, Template (target=release, tools=no), release, false) (push) Has been cancelled
[3.4] Misc. build and warning fixes to pass CI and compile with recent SCons and GCC/Clang
This commit is contained in:
commit
01621ddc3c
2
.github/actions/godot-cache/action.yml
vendored
2
.github/actions/godot-cache/action.yml
vendored
@ -12,7 +12,7 @@ runs:
|
|||||||
steps:
|
steps:
|
||||||
# Upload cache on completion and check it out now
|
# Upload cache on completion and check it out now
|
||||||
- name: Load .scons_cache directory
|
- name: Load .scons_cache directory
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ${{inputs.scons-cache}}
|
path: ${{inputs.scons-cache}}
|
||||||
key: ${{inputs.cache-name}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
key: ${{inputs.cache-name}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||||
|
2
.github/actions/godot-deps/action.yml
vendored
2
.github/actions/godot-deps/action.yml
vendored
@ -12,7 +12,7 @@ runs:
|
|||||||
steps:
|
steps:
|
||||||
# Use python 3.x release (works cross platform)
|
# Use python 3.x release (works cross platform)
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
# Semantic version range syntax or exact version of a Python version
|
# Semantic version range syntax or exact version of a Python version
|
||||||
python-version: ${{ inputs.python-version }}
|
python-version: ${{ inputs.python-version }}
|
||||||
|
2
.github/actions/upload-artifact/action.yml
vendored
2
.github/actions/upload-artifact/action.yml
vendored
@ -12,7 +12,7 @@ runs:
|
|||||||
using: "composite"
|
using: "composite"
|
||||||
steps:
|
steps:
|
||||||
- name: Upload Godot Artifact
|
- name: Upload Godot Artifact
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.name }}
|
name: ${{ inputs.name }}
|
||||||
path: ${{ inputs.path }}
|
path: ${{ inputs.path }}
|
||||||
|
5
.github/workflows/android_builds.yml
vendored
5
.github/workflows/android_builds.yml
vendored
@ -17,7 +17,7 @@ jobs:
|
|||||||
name: Template (target=release, tools=no)
|
name: Template (target=release, tools=no)
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
# Azure repositories are not reliable, we need to prevent azure giving us packages.
|
# Azure repositories are not reliable, we need to prevent azure giving us packages.
|
||||||
- name: Make apt sources.list use the default Ubuntu repositories
|
- name: Make apt sources.list use the default Ubuntu repositories
|
||||||
@ -27,8 +27,9 @@ jobs:
|
|||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
|
|
||||||
- name: Set up Java 11
|
- name: Set up Java 11
|
||||||
uses: actions/setup-java@v1
|
uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
|
distribution: temurin
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
- name: Setup Godot build cache
|
- name: Setup Godot build cache
|
||||||
|
2
.github/workflows/ios_builds.yml
vendored
2
.github/workflows/ios_builds.yml
vendored
@ -16,7 +16,7 @@ jobs:
|
|||||||
name: Template (target=release, tools=no)
|
name: Template (target=release, tools=no)
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Godot build cache
|
- name: Setup Godot build cache
|
||||||
uses: ./.github/actions/godot-cache
|
uses: ./.github/actions/godot-cache
|
||||||
|
6
.github/workflows/javascript_builds.yml
vendored
6
.github/workflows/javascript_builds.yml
vendored
@ -18,18 +18,18 @@ jobs:
|
|||||||
name: Template (target=release, tools=no)
|
name: Template (target=release, tools=no)
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
# Additional cache for Emscripten generated system libraries
|
# Additional cache for Emscripten generated system libraries
|
||||||
- name: Load Emscripten cache
|
- name: Load Emscripten cache
|
||||||
id: javascript-template-emscripten-cache
|
id: javascript-template-emscripten-cache
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ${{env.EM_CACHE_FOLDER}}
|
path: ${{env.EM_CACHE_FOLDER}}
|
||||||
key: ${{env.EM_VERSION}}-${{github.job}}
|
key: ${{env.EM_VERSION}}-${{github.job}}
|
||||||
|
|
||||||
- name: Set up Emscripten latest
|
- name: Set up Emscripten latest
|
||||||
uses: mymindstorm/setup-emsdk@v10
|
uses: mymindstorm/setup-emsdk@v14
|
||||||
with:
|
with:
|
||||||
version: ${{env.EM_VERSION}}
|
version: ${{env.EM_VERSION}}
|
||||||
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
|
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
|
||||||
|
2
.github/workflows/linux_builds.yml
vendored
2
.github/workflows/linux_builds.yml
vendored
@ -47,7 +47,7 @@ jobs:
|
|||||||
artifact: true
|
artifact: true
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Linux dependencies
|
- name: Linux dependencies
|
||||||
shell: bash
|
shell: bash
|
||||||
|
2
.github/workflows/macos_builds.yml
vendored
2
.github/workflows/macos_builds.yml
vendored
@ -30,7 +30,7 @@ jobs:
|
|||||||
tools: false
|
tools: false
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Godot build cache
|
- name: Setup Godot build cache
|
||||||
uses: ./.github/actions/godot-cache
|
uses: ./.github/actions/godot-cache
|
||||||
|
2
.github/workflows/server_builds.yml
vendored
2
.github/workflows/server_builds.yml
vendored
@ -29,7 +29,7 @@ jobs:
|
|||||||
tools: false
|
tools: false
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Linux dependencies
|
- name: Linux dependencies
|
||||||
shell: bash
|
shell: bash
|
||||||
|
2
.github/workflows/static_checks.yml
vendored
2
.github/workflows/static_checks.yml
vendored
@ -7,7 +7,7 @@ jobs:
|
|||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
# Azure repositories are not reliable, we need to prevent Azure giving us packages.
|
# Azure repositories are not reliable, we need to prevent Azure giving us packages.
|
||||||
- name: Make apt sources.list use the default Ubuntu repositories
|
- name: Make apt sources.list use the default Ubuntu repositories
|
||||||
|
2
.github/workflows/windows_builds.yml
vendored
2
.github/workflows/windows_builds.yml
vendored
@ -33,7 +33,7 @@ jobs:
|
|||||||
tools: false
|
tools: false
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Godot build cache
|
- name: Setup Godot build cache
|
||||||
uses: ./.github/actions/godot-cache
|
uses: ./.github/actions/godot-cache
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#define COWDATA_H_
|
#define COWDATA_H_
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <type_traits>
|
||||||
|
|
||||||
#include "core/error_macros.h"
|
#include "core/error_macros.h"
|
||||||
#include "core/os/memory.h"
|
#include "core/os/memory.h"
|
||||||
@ -202,7 +203,7 @@ void CowData<T>::_unref(void *p_data) {
|
|||||||
}
|
}
|
||||||
// clean up
|
// clean up
|
||||||
|
|
||||||
if (!__has_trivial_destructor(T)) {
|
if (!std::is_trivially_destructible<T>::value) {
|
||||||
uint32_t *count = _get_size();
|
uint32_t *count = _get_size();
|
||||||
T *data = (T *)(count + 1);
|
T *data = (T *)(count + 1);
|
||||||
|
|
||||||
@ -237,7 +238,7 @@ uint32_t CowData<T>::_copy_on_write() {
|
|||||||
T *_data = (T *)(mem_new);
|
T *_data = (T *)(mem_new);
|
||||||
|
|
||||||
// initialize new elements
|
// initialize new elements
|
||||||
if (__has_trivial_copy(T)) {
|
if (std::is_trivially_copyable<T>::value) {
|
||||||
memcpy(mem_new, _ptr, current_size * sizeof(T));
|
memcpy(mem_new, _ptr, current_size * sizeof(T));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -300,7 +301,7 @@ Error CowData<T>::resize(int p_size) {
|
|||||||
|
|
||||||
// construct the newly created elements
|
// construct the newly created elements
|
||||||
|
|
||||||
if (!__has_trivial_constructor(T)) {
|
if (!std::is_trivially_constructible<T>::value) {
|
||||||
T *elems = _get_data();
|
T *elems = _get_data();
|
||||||
|
|
||||||
for (int i = *_get_size(); i < p_size; i++) {
|
for (int i = *_get_size(); i < p_size; i++) {
|
||||||
@ -311,7 +312,7 @@ Error CowData<T>::resize(int p_size) {
|
|||||||
*_get_size() = p_size;
|
*_get_size() = p_size;
|
||||||
|
|
||||||
} else if (p_size < current_size) {
|
} else if (p_size < current_size) {
|
||||||
if (!__has_trivial_destructor(T)) {
|
if (!std::is_trivially_destructible<T>::value) {
|
||||||
// deinitialize no longer needed elements
|
// deinitialize no longer needed elements
|
||||||
for (uint32_t i = p_size; i < *_get_size(); i++) {
|
for (uint32_t i = p_size; i < *_get_size(); i++) {
|
||||||
T *t = &_get_data()[i];
|
T *t = &_get_data()[i];
|
||||||
|
@ -169,10 +169,11 @@ void RotatedFileLogger::rotate_file() {
|
|||||||
|
|
||||||
if (FileAccess::exists(base_path)) {
|
if (FileAccess::exists(base_path)) {
|
||||||
if (max_files > 1) {
|
if (max_files > 1) {
|
||||||
char timestamp[21];
|
const size_t TIMESTAMP_SIZE = 21;
|
||||||
|
char timestamp[TIMESTAMP_SIZE];
|
||||||
OS::Date date = OS::get_singleton()->get_date();
|
OS::Date date = OS::get_singleton()->get_date();
|
||||||
OS::Time time = OS::get_singleton()->get_time();
|
OS::Time time = OS::get_singleton()->get_time();
|
||||||
sprintf(timestamp, "_%04d-%02d-%02d_%02d.%02d.%02d", date.year, date.month, date.day, time.hour, time.min, time.sec);
|
snprintf(timestamp, TIMESTAMP_SIZE, "_%04d-%02d-%02d_%02d.%02d.%02d", date.year, date.month, date.day, time.hour, time.min, time.sec);
|
||||||
|
|
||||||
String backup_name = base_path.get_basename() + timestamp;
|
String backup_name = base_path.get_basename() + timestamp;
|
||||||
if (base_path.get_extension() != String()) {
|
if (base_path.get_extension() != String()) {
|
||||||
|
@ -36,6 +36,8 @@
|
|||||||
#include "core/sort_array.h"
|
#include "core/sort_array.h"
|
||||||
#include "core/vector.h"
|
#include "core/vector.h"
|
||||||
|
|
||||||
|
#include <type_traits>
|
||||||
|
|
||||||
template <class T, class U = uint32_t, bool force_trivial = false>
|
template <class T, class U = uint32_t, bool force_trivial = false>
|
||||||
class LocalVector {
|
class LocalVector {
|
||||||
private:
|
private:
|
||||||
@ -63,7 +65,7 @@ public:
|
|||||||
CRASH_COND_MSG(!data, "Out of memory");
|
CRASH_COND_MSG(!data, "Out of memory");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!__has_trivial_constructor(T) && !force_trivial) {
|
if (!std::is_trivially_constructible<T>::value && !force_trivial) {
|
||||||
memnew_placement(&data[count++], T(p_elem));
|
memnew_placement(&data[count++], T(p_elem));
|
||||||
} else {
|
} else {
|
||||||
data[count++] = p_elem;
|
data[count++] = p_elem;
|
||||||
@ -76,7 +78,7 @@ public:
|
|||||||
for (U i = p_index; i < count; i++) {
|
for (U i = p_index; i < count; i++) {
|
||||||
data[i] = data[i + 1];
|
data[i] = data[i + 1];
|
||||||
}
|
}
|
||||||
if (!__has_trivial_destructor(T) && !force_trivial) {
|
if (!std::is_trivially_destructible<T>::value && !force_trivial) {
|
||||||
data[count].~T();
|
data[count].~T();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -89,7 +91,7 @@ public:
|
|||||||
if (count > p_index) {
|
if (count > p_index) {
|
||||||
data[p_index] = data[count];
|
data[p_index] = data[count];
|
||||||
}
|
}
|
||||||
if (!__has_trivial_destructor(T) && !force_trivial) {
|
if (!std::is_trivially_destructible<T>::value && !force_trivial) {
|
||||||
data[count].~T();
|
data[count].~T();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -129,7 +131,7 @@ public:
|
|||||||
_FORCE_INLINE_ U size() const { return count; }
|
_FORCE_INLINE_ U size() const { return count; }
|
||||||
void resize(U p_size) {
|
void resize(U p_size) {
|
||||||
if (p_size < count) {
|
if (p_size < count) {
|
||||||
if (!__has_trivial_destructor(T) && !force_trivial) {
|
if (!std::is_trivially_destructible<T>::value && !force_trivial) {
|
||||||
for (U i = p_size; i < count; i++) {
|
for (U i = p_size; i < count; i++) {
|
||||||
data[i].~T();
|
data[i].~T();
|
||||||
}
|
}
|
||||||
@ -146,7 +148,7 @@ public:
|
|||||||
data = (T *)memrealloc(data, capacity * sizeof(T));
|
data = (T *)memrealloc(data, capacity * sizeof(T));
|
||||||
CRASH_COND_MSG(!data, "Out of memory");
|
CRASH_COND_MSG(!data, "Out of memory");
|
||||||
}
|
}
|
||||||
if (!__has_trivial_constructor(T) && !force_trivial) {
|
if (!std::is_trivially_constructible<T>::value && !force_trivial) {
|
||||||
for (U i = count; i < p_size; i++) {
|
for (U i = count; i < p_size; i++) {
|
||||||
memnew_placement(&data[i], T);
|
memnew_placement(&data[i], T);
|
||||||
}
|
}
|
||||||
|
@ -271,7 +271,7 @@ static int _bsp_find_best_half_plane(const Face3 *p_faces, const Vector<int> &p_
|
|||||||
const Face3 &f = p_faces[indices[i]];
|
const Face3 &f = p_faces[indices[i]];
|
||||||
Plane p = f.get_plane();
|
Plane p = f.get_plane();
|
||||||
|
|
||||||
int num_over = 0, num_under = 0, num_spanning = 0;
|
int num_over = 0, num_under = 0; //num_spanning = 0;
|
||||||
|
|
||||||
for (int j = 0; j < ic; j++) {
|
for (int j = 0; j < ic; j++) {
|
||||||
if (i == j) {
|
if (i == j) {
|
||||||
@ -294,7 +294,7 @@ static int _bsp_find_best_half_plane(const Face3 *p_faces, const Vector<int> &p_
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (over && under) {
|
if (over && under) {
|
||||||
num_spanning++;
|
//num_spanning++;
|
||||||
} else if (over) {
|
} else if (over) {
|
||||||
num_over++;
|
num_over++;
|
||||||
} else {
|
} else {
|
||||||
|
@ -394,7 +394,6 @@ Error QuickHull::build(const Vector<Vector3> &p_points, Geometry::MeshData &r_me
|
|||||||
if (O->get().plane.is_equal_approx(f.plane)) {
|
if (O->get().plane.is_equal_approx(f.plane)) {
|
||||||
//merge and delete edge and contiguous face, while repointing edges (uuugh!)
|
//merge and delete edge and contiguous face, while repointing edges (uuugh!)
|
||||||
int ois = O->get().indices.size();
|
int ois = O->get().indices.size();
|
||||||
int merged = 0;
|
|
||||||
|
|
||||||
for (int j = 0; j < ois; j++) {
|
for (int j = 0; j < ois; j++) {
|
||||||
//search a
|
//search a
|
||||||
@ -409,7 +408,6 @@ Error QuickHull::build(const Vector<Vector3> &p_points, Geometry::MeshData &r_me
|
|||||||
if (idx != a) {
|
if (idx != a) {
|
||||||
f.indices.insert(i + 1, idx);
|
f.indices.insert(i + 1, idx);
|
||||||
i++;
|
i++;
|
||||||
merged++;
|
|
||||||
}
|
}
|
||||||
Edge e2(idx, idxn);
|
Edge e2(idx, idxn);
|
||||||
|
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
#include "core/safe_refcount.h"
|
#include "core/safe_refcount.h"
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
#include <type_traits>
|
||||||
|
|
||||||
#ifndef PAD_ALIGN
|
#ifndef PAD_ALIGN
|
||||||
#define PAD_ALIGN 16 //must always be greater than this at much
|
#define PAD_ALIGN 16 //must always be greater than this at much
|
||||||
@ -111,7 +112,7 @@ void memdelete(T *p_class) {
|
|||||||
if (!predelete_handler(p_class)) {
|
if (!predelete_handler(p_class)) {
|
||||||
return; // doesn't want to be deleted
|
return; // doesn't want to be deleted
|
||||||
}
|
}
|
||||||
if (!__has_trivial_destructor(T)) {
|
if (!std::is_trivially_destructible<T>::value) {
|
||||||
p_class->~T();
|
p_class->~T();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,7 +124,7 @@ void memdelete_allocator(T *p_class) {
|
|||||||
if (!predelete_handler(p_class)) {
|
if (!predelete_handler(p_class)) {
|
||||||
return; // doesn't want to be deleted
|
return; // doesn't want to be deleted
|
||||||
}
|
}
|
||||||
if (!__has_trivial_destructor(T)) {
|
if (!std::is_trivially_destructible<T>::value) {
|
||||||
p_class->~T();
|
p_class->~T();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -152,7 +153,7 @@ T *memnew_arr_template(size_t p_elements, const char *p_descr = "") {
|
|||||||
ERR_FAIL_COND_V(!mem, failptr);
|
ERR_FAIL_COND_V(!mem, failptr);
|
||||||
*(mem - 1) = p_elements;
|
*(mem - 1) = p_elements;
|
||||||
|
|
||||||
if (!__has_trivial_constructor(T)) {
|
if (!std::is_trivially_constructible<T>::value) {
|
||||||
T *elems = (T *)mem;
|
T *elems = (T *)mem;
|
||||||
|
|
||||||
/* call operator new */
|
/* call operator new */
|
||||||
@ -179,7 +180,7 @@ template <typename T>
|
|||||||
void memdelete_arr(T *p_class) {
|
void memdelete_arr(T *p_class) {
|
||||||
uint64_t *ptr = (uint64_t *)p_class;
|
uint64_t *ptr = (uint64_t *)p_class;
|
||||||
|
|
||||||
if (!__has_trivial_destructor(T)) {
|
if (!std::is_trivially_destructible<T>::value) {
|
||||||
uint64_t elem_count = *(ptr - 1);
|
uint64_t elem_count = *(ptr - 1);
|
||||||
|
|
||||||
for (uint64_t i = 0; i < elem_count; i++) {
|
for (uint64_t i = 0; i < elem_count; i++) {
|
||||||
|
@ -211,12 +211,12 @@ public:
|
|||||||
size_mask = mask;
|
size_mask = mask;
|
||||||
};
|
};
|
||||||
|
|
||||||
RingBuffer<T>(int p_power = 0) {
|
RingBuffer(int p_power = 0) {
|
||||||
read_pos = 0;
|
read_pos = 0;
|
||||||
write_pos = 0;
|
write_pos = 0;
|
||||||
resize(p_power);
|
resize(p_power);
|
||||||
};
|
};
|
||||||
~RingBuffer<T>(){};
|
~RingBuffer() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -131,7 +131,7 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_ALWAYS_INLINE_ explicit SafeNumeric<T>(T p_value = static_cast<T>(0)) {
|
_ALWAYS_INLINE_ explicit SafeNumeric(T p_value = static_cast<T>(0)) {
|
||||||
set(p_value);
|
set(p_value);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -697,7 +697,6 @@ public:
|
|||||||
const int vofs = (grid_size.height - h) / 2;
|
const int vofs = (grid_size.height - h) / 2;
|
||||||
|
|
||||||
int layer_index = 0;
|
int layer_index = 0;
|
||||||
int block_index = 0;
|
|
||||||
|
|
||||||
Point2 arrow_pos;
|
Point2 arrow_pos;
|
||||||
|
|
||||||
@ -769,8 +768,6 @@ public:
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
++block_index;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((expansion_rows != prev_expansion_rows) && expanded) {
|
if ((expansion_rows != prev_expansion_rows) && expanded) {
|
||||||
|
@ -526,7 +526,6 @@ private:
|
|||||||
|
|
||||||
Vector<String> failed_files;
|
Vector<String> failed_files;
|
||||||
|
|
||||||
int idx = 0;
|
|
||||||
while (ret == UNZ_OK) {
|
while (ret == UNZ_OK) {
|
||||||
//get filename
|
//get filename
|
||||||
unz_file_info info;
|
unz_file_info info;
|
||||||
@ -566,7 +565,6 @@ private:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
idx++;
|
|
||||||
ret = unzGoToNextFile(pkg);
|
ret = unzGoToNextFile(pkg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,18 +204,14 @@ String ScriptCreateDialog::_validate_path(const String &p_path, bool p_file_must
|
|||||||
|
|
||||||
bool found = false;
|
bool found = false;
|
||||||
bool match = false;
|
bool match = false;
|
||||||
int index = 0;
|
|
||||||
for (List<String>::Element *E = extensions.front(); E; E = E->next()) {
|
for (List<String>::Element *E = extensions.front(); E; E = E->next()) {
|
||||||
if (E->get().nocasecmp_to(extension) == 0) {
|
if (E->get().nocasecmp_to(extension) == 0) {
|
||||||
//FIXME (?) - changing language this way doesn't update controls, needs rework
|
|
||||||
//language_menu->select(index); // change Language option by extension
|
|
||||||
found = true;
|
found = true;
|
||||||
if (E->get() == ScriptServer::get_language(language_menu->get_selected())->get_extension()) {
|
if (E->get() == ScriptServer::get_language(language_menu->get_selected())->get_extension()) {
|
||||||
match = true;
|
match = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
index++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!found) {
|
if (!found) {
|
||||||
|
@ -1059,7 +1059,7 @@ InputDefault::JoyEvent InputDefault::_get_mapped_axis_event(const JoyDeviceMappi
|
|||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
void InputDefault::_get_mapped_hat_events(const JoyDeviceMapping &mapping, int p_hat, JoyEvent r_events[]) {
|
void InputDefault::_get_mapped_hat_events(const JoyDeviceMapping &mapping, int p_hat, JoyEvent r_events[(size_t)HAT_MAX]) {
|
||||||
for (int i = 0; i < mapping.bindings.size(); i++) {
|
for (int i = 0; i < mapping.bindings.size(); i++) {
|
||||||
const JoyBinding binding = mapping.bindings[i];
|
const JoyBinding binding = mapping.bindings[i];
|
||||||
if (binding.inputType == TYPE_HAT && binding.input.hat.hat == p_hat) {
|
if (binding.inputType == TYPE_HAT && binding.input.hat.hat == p_hat) {
|
||||||
|
@ -838,7 +838,7 @@ def get_compiler_version(env):
|
|||||||
return None
|
return None
|
||||||
else: # TODO: Implement for MSVC
|
else: # TODO: Implement for MSVC
|
||||||
return None
|
return None
|
||||||
match = re.search("[0-9]+\.[0-9.]+", version)
|
match = re.search(r"[0-9]+\.[0-9.]+", version)
|
||||||
if match is not None:
|
if match is not None:
|
||||||
return list(map(int, match.group().split(".")))
|
return list(map(int, match.group().split(".")))
|
||||||
else:
|
else:
|
||||||
|
@ -36,10 +36,19 @@
|
|||||||
#include "core/math/vector3.h"
|
#include "core/math/vector3.h"
|
||||||
#include "core/typedefs.h"
|
#include "core/typedefs.h"
|
||||||
|
|
||||||
|
#if defined(__clang__) && (__clang_major__ >= 13)
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wdeprecated-copy-with-user-provided-copy"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <LinearMath/btMatrix3x3.h>
|
#include <LinearMath/btMatrix3x3.h>
|
||||||
#include <LinearMath/btTransform.h>
|
#include <LinearMath/btTransform.h>
|
||||||
#include <LinearMath/btVector3.h>
|
#include <LinearMath/btVector3.h>
|
||||||
|
|
||||||
|
#if defined(__clang__) && (__clang_major__ >= 13)
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@author AndreaCatania
|
@author AndreaCatania
|
||||||
*/
|
*/
|
||||||
|
@ -37,8 +37,17 @@
|
|||||||
#include "core/vset.h"
|
#include "core/vset.h"
|
||||||
#include "shape_owner_bullet.h"
|
#include "shape_owner_bullet.h"
|
||||||
|
|
||||||
|
#if defined(__clang__) && (__clang_major__ >= 13)
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wdeprecated-copy-with-user-provided-copy"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <LinearMath/btTransform.h>
|
#include <LinearMath/btTransform.h>
|
||||||
|
|
||||||
|
#if defined(__clang__) && (__clang_major__ >= 13)
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@author AndreaCatania
|
@author AndreaCatania
|
||||||
*/
|
*/
|
||||||
|
@ -34,8 +34,17 @@
|
|||||||
#include "bullet_utilities.h"
|
#include "bullet_utilities.h"
|
||||||
#include "rid_bullet.h"
|
#include "rid_bullet.h"
|
||||||
|
|
||||||
|
#if defined(__clang__) && (__clang_major__ >= 13)
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wdeprecated-copy-with-user-provided-copy"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <BulletDynamics/ConstraintSolver/btTypedConstraint.h>
|
#include <BulletDynamics/ConstraintSolver/btTypedConstraint.h>
|
||||||
|
|
||||||
|
#if defined(__clang__) && (__clang_major__ >= 13)
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@author AndreaCatania
|
@author AndreaCatania
|
||||||
*/
|
*/
|
||||||
|
@ -33,8 +33,17 @@
|
|||||||
|
|
||||||
#include "core/int_types.h"
|
#include "core/int_types.h"
|
||||||
|
|
||||||
|
#if defined(__clang__) && (__clang_major__ >= 13)
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wdeprecated-copy-with-user-provided-copy"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <btBulletDynamicsCommon.h>
|
#include <btBulletDynamicsCommon.h>
|
||||||
|
|
||||||
|
#if defined(__clang__) && (__clang_major__ >= 13)
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@author AndreaCatania
|
@author AndreaCatania
|
||||||
*/
|
*/
|
||||||
|
@ -31,10 +31,19 @@
|
|||||||
#ifndef GODOT_RAY_WORLD_ALGORITHM_H
|
#ifndef GODOT_RAY_WORLD_ALGORITHM_H
|
||||||
#define GODOT_RAY_WORLD_ALGORITHM_H
|
#define GODOT_RAY_WORLD_ALGORITHM_H
|
||||||
|
|
||||||
|
#if defined(__clang__) && (__clang_major__ >= 13)
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wdeprecated-copy-with-user-provided-copy"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.h>
|
#include <BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.h>
|
||||||
#include <BulletCollision/CollisionDispatch/btCollisionCreateFunc.h>
|
#include <BulletCollision/CollisionDispatch/btCollisionCreateFunc.h>
|
||||||
#include <BulletCollision/CollisionDispatch/btCollisionDispatcher.h>
|
#include <BulletCollision/CollisionDispatch/btCollisionDispatcher.h>
|
||||||
|
|
||||||
|
#if defined(__clang__) && (__clang_major__ >= 13)
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@author AndreaCatania
|
@author AndreaCatania
|
||||||
*/
|
*/
|
||||||
|
@ -33,9 +33,18 @@
|
|||||||
|
|
||||||
#include "servers/physics_server.h"
|
#include "servers/physics_server.h"
|
||||||
|
|
||||||
|
#if defined(__clang__) && (__clang_major__ >= 13)
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wdeprecated-copy-with-user-provided-copy"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <BulletCollision/BroadphaseCollision/btBroadphaseProxy.h>
|
#include <BulletCollision/BroadphaseCollision/btBroadphaseProxy.h>
|
||||||
#include <btBulletDynamicsCommon.h>
|
#include <btBulletDynamicsCommon.h>
|
||||||
|
|
||||||
|
#if defined(__clang__) && (__clang_major__ >= 13)
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@author AndreaCatania
|
@author AndreaCatania
|
||||||
*/
|
*/
|
||||||
|
@ -36,10 +36,19 @@
|
|||||||
#include "rid_bullet.h"
|
#include "rid_bullet.h"
|
||||||
#include "servers/physics_server.h"
|
#include "servers/physics_server.h"
|
||||||
|
|
||||||
|
#if defined(__clang__) && (__clang_major__ >= 13)
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wdeprecated-copy-with-user-provided-copy"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <LinearMath/btAlignedObjectArray.h>
|
#include <LinearMath/btAlignedObjectArray.h>
|
||||||
#include <LinearMath/btScalar.h>
|
#include <LinearMath/btScalar.h>
|
||||||
#include <LinearMath/btVector3.h>
|
#include <LinearMath/btVector3.h>
|
||||||
|
|
||||||
|
#if defined(__clang__) && (__clang_major__ >= 13)
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@author AndreaCatania
|
@author AndreaCatania
|
||||||
*/
|
*/
|
||||||
|
@ -729,7 +729,7 @@ void CSGBrushOperation::MeshMerge::mark_inside_faces() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSGBrushOperation::MeshMerge::add_face(const Vector3 p_points[], const Vector2 p_uvs[], bool p_smooth, bool p_invert, const Ref<Material> &p_material, bool p_from_b) {
|
void CSGBrushOperation::MeshMerge::add_face(const Vector3 p_points[3], const Vector2 p_uvs[3], bool p_smooth, bool p_invert, const Ref<Material> &p_material, bool p_from_b) {
|
||||||
int indices[3];
|
int indices[3];
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
VertexKey vk;
|
VertexKey vk;
|
||||||
@ -1387,13 +1387,13 @@ void CSGBrushOperation::update_faces(const CSGBrush &p_brush_a, const int p_face
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ensure B has points either side of or in the plane of A.
|
// Ensure B has points either side of or in the plane of A.
|
||||||
int in_plane_count = 0, over_count = 0, under_count = 0;
|
int over_count = 0, under_count = 0;
|
||||||
Plane plane_a(vertices_a[0], vertices_a[1], vertices_a[2]);
|
Plane plane_a(vertices_a[0], vertices_a[1], vertices_a[2]);
|
||||||
ERR_FAIL_COND_MSG(plane_a.normal == Vector3(), "Couldn't form plane from Brush A face.");
|
ERR_FAIL_COND_MSG(plane_a.normal == Vector3(), "Couldn't form plane from Brush A face.");
|
||||||
|
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
if (plane_a.has_point(vertices_b[i])) {
|
if (plane_a.has_point(vertices_b[i])) {
|
||||||
in_plane_count++;
|
// In plane.
|
||||||
} else if (plane_a.is_point_over(vertices_b[i])) {
|
} else if (plane_a.is_point_over(vertices_b[i])) {
|
||||||
over_count++;
|
over_count++;
|
||||||
} else {
|
} else {
|
||||||
@ -1406,7 +1406,6 @@ void CSGBrushOperation::update_faces(const CSGBrush &p_brush_a, const int p_face
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ensure A has points either side of or in the plane of B.
|
// Ensure A has points either side of or in the plane of B.
|
||||||
in_plane_count = 0;
|
|
||||||
over_count = 0;
|
over_count = 0;
|
||||||
under_count = 0;
|
under_count = 0;
|
||||||
Plane plane_b(vertices_b[0], vertices_b[1], vertices_b[2]);
|
Plane plane_b(vertices_b[0], vertices_b[1], vertices_b[2]);
|
||||||
@ -1414,7 +1413,7 @@ void CSGBrushOperation::update_faces(const CSGBrush &p_brush_a, const int p_face
|
|||||||
|
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
if (plane_b.has_point(vertices_a[i])) {
|
if (plane_b.has_point(vertices_a[i])) {
|
||||||
in_plane_count++;
|
// In plane.
|
||||||
} else if (plane_b.is_point_over(vertices_a[i])) {
|
} else if (plane_b.is_point_over(vertices_a[i])) {
|
||||||
over_count++;
|
over_count++;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1316,7 +1316,6 @@ int GDScriptCompiler::_parse_expression(CodeGen &codegen, const GDScriptParser::
|
|||||||
|
|
||||||
Error GDScriptCompiler::_parse_block(CodeGen &codegen, const GDScriptParser::BlockNode *p_block, int p_stack_level, int p_break_addr, int p_continue_addr) {
|
Error GDScriptCompiler::_parse_block(CodeGen &codegen, const GDScriptParser::BlockNode *p_block, int p_stack_level, int p_break_addr, int p_continue_addr) {
|
||||||
codegen.push_stack_identifiers();
|
codegen.push_stack_identifiers();
|
||||||
int new_identifiers = 0;
|
|
||||||
codegen.current_line = p_block->line;
|
codegen.current_line = p_block->line;
|
||||||
|
|
||||||
for (int i = 0; i < p_block->statements.size(); i++) {
|
for (int i = 0; i < p_block->statements.size(); i++) {
|
||||||
@ -1347,7 +1346,6 @@ Error GDScriptCompiler::_parse_block(CodeGen &codegen, const GDScriptParser::Blo
|
|||||||
// copied because there is no _parse_statement :(
|
// copied because there is no _parse_statement :(
|
||||||
codegen.add_stack_identifier(id->name, p_stack_level++);
|
codegen.add_stack_identifier(id->name, p_stack_level++);
|
||||||
codegen.alloc_stack(p_stack_level);
|
codegen.alloc_stack(p_stack_level);
|
||||||
new_identifiers++;
|
|
||||||
|
|
||||||
GDScriptParser::OperatorNode *op = memnew(GDScriptParser::OperatorNode);
|
GDScriptParser::OperatorNode *op = memnew(GDScriptParser::OperatorNode);
|
||||||
op->op = GDScriptParser::OperatorNode::OP_ASSIGN;
|
op->op = GDScriptParser::OperatorNode::OP_ASSIGN;
|
||||||
@ -1605,8 +1603,6 @@ Error GDScriptCompiler::_parse_block(CodeGen &codegen, const GDScriptParser::Blo
|
|||||||
|
|
||||||
codegen.add_stack_identifier(lv->name, p_stack_level++);
|
codegen.add_stack_identifier(lv->name, p_stack_level++);
|
||||||
codegen.alloc_stack(p_stack_level);
|
codegen.alloc_stack(p_stack_level);
|
||||||
new_identifiers++;
|
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
default: {
|
default: {
|
||||||
//expression
|
//expression
|
||||||
|
@ -476,9 +476,8 @@ def copy_mono_root_files(env, mono_root, mono_bcl):
|
|||||||
|
|
||||||
|
|
||||||
def copy_mono_etc_dir(mono_root, target_mono_config_dir, platform):
|
def copy_mono_etc_dir(mono_root, target_mono_config_dir, platform):
|
||||||
from distutils.dir_util import copy_tree
|
|
||||||
from glob import glob
|
from glob import glob
|
||||||
from shutil import copy
|
from shutil import copy, copytree
|
||||||
|
|
||||||
if not os.path.isdir(target_mono_config_dir):
|
if not os.path.isdir(target_mono_config_dir):
|
||||||
os.makedirs(target_mono_config_dir)
|
os.makedirs(target_mono_config_dir)
|
||||||
@ -498,11 +497,11 @@ def copy_mono_etc_dir(mono_root, target_mono_config_dir, platform):
|
|||||||
if not mono_etc_dir:
|
if not mono_etc_dir:
|
||||||
raise RuntimeError("Mono installation etc directory not found")
|
raise RuntimeError("Mono installation etc directory not found")
|
||||||
|
|
||||||
copy_tree(os.path.join(mono_etc_dir, "2.0"), os.path.join(target_mono_config_dir, "2.0"))
|
copytree(os.path.join(mono_etc_dir, "2.0"), os.path.join(target_mono_config_dir, "2.0"))
|
||||||
copy_tree(os.path.join(mono_etc_dir, "4.0"), os.path.join(target_mono_config_dir, "4.0"))
|
copytree(os.path.join(mono_etc_dir, "4.0"), os.path.join(target_mono_config_dir, "4.0"))
|
||||||
copy_tree(os.path.join(mono_etc_dir, "4.5"), os.path.join(target_mono_config_dir, "4.5"))
|
copytree(os.path.join(mono_etc_dir, "4.5"), os.path.join(target_mono_config_dir, "4.5"))
|
||||||
if os.path.isdir(os.path.join(mono_etc_dir, "mconfig")):
|
if os.path.isdir(os.path.join(mono_etc_dir, "mconfig")):
|
||||||
copy_tree(os.path.join(mono_etc_dir, "mconfig"), os.path.join(target_mono_config_dir, "mconfig"))
|
copytree(os.path.join(mono_etc_dir, "mconfig"), os.path.join(target_mono_config_dir, "mconfig"))
|
||||||
|
|
||||||
for file in glob(os.path.join(mono_etc_dir, "*")):
|
for file in glob(os.path.join(mono_etc_dir, "*")):
|
||||||
if os.path.isfile(file):
|
if os.path.isfile(file):
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import platform
|
import platform
|
||||||
from distutils.version import LooseVersion
|
|
||||||
|
|
||||||
|
|
||||||
def is_active():
|
def is_active():
|
||||||
@ -309,8 +308,14 @@ def configure(env):
|
|||||||
|
|
||||||
# Link flags
|
# Link flags
|
||||||
|
|
||||||
|
# HACK: Replaced use of now obsoleted distutils.version.LooseVersion with this simple method,
|
||||||
|
# which isn't bullet proof but should be sufficient here with "x.y.z" parameters.
|
||||||
|
# Alternatives imply adding more dependencies.
|
||||||
|
def version_tuple(v):
|
||||||
|
return tuple(map(int, (v.split("."))))
|
||||||
|
|
||||||
ndk_version = get_env_ndk_version(env["ANDROID_NDK_ROOT"])
|
ndk_version = get_env_ndk_version(env["ANDROID_NDK_ROOT"])
|
||||||
if ndk_version != None and LooseVersion(ndk_version) >= LooseVersion("17.1.4828580"):
|
if ndk_version != None and version_tuple(ndk_version) >= version_tuple("17.1.4828580"):
|
||||||
env.Append(LINKFLAGS=["-Wl,--exclude-libs,libgcc.a", "-Wl,--exclude-libs,libatomic.a", "-nostdlib++"])
|
env.Append(LINKFLAGS=["-Wl,--exclude-libs,libgcc.a", "-Wl,--exclude-libs,libatomic.a", "-nostdlib++"])
|
||||||
else:
|
else:
|
||||||
env.Append(
|
env.Append(
|
||||||
|
@ -323,7 +323,7 @@ bool JoypadOSX::configure_joypad(IOHIDDeviceRef p_device_ref, joypad *p_joy) {
|
|||||||
|
|
||||||
if (vendor && product_id) {
|
if (vendor && product_id) {
|
||||||
char uid[128];
|
char uid[128];
|
||||||
sprintf(uid, "%08x%08x%08x%08x", OSSwapHostToBigInt32(3), OSSwapHostToBigInt32(vendor), OSSwapHostToBigInt32(product_id), OSSwapHostToBigInt32(version));
|
snprintf(uid, 128, "%08x%08x%08x%08x", OSSwapHostToBigInt32(3), OSSwapHostToBigInt32(vendor), OSSwapHostToBigInt32(product_id), OSSwapHostToBigInt32(version));
|
||||||
input->joy_connection_changed(id, true, name, uid);
|
input->joy_connection_changed(id, true, name, uid);
|
||||||
} else {
|
} else {
|
||||||
//bluetooth device
|
//bluetooth device
|
||||||
|
@ -375,7 +375,7 @@ def configure(env):
|
|||||||
import re
|
import re
|
||||||
|
|
||||||
linker_version_str = subprocess.check_output([env.subst(env["LINK"]), "-Wl,--version"]).decode("utf-8")
|
linker_version_str = subprocess.check_output([env.subst(env["LINK"]), "-Wl,--version"]).decode("utf-8")
|
||||||
gnu_ld_version = re.search("^GNU ld [^$]*(\d+\.\d+)$", linker_version_str, re.MULTILINE)
|
gnu_ld_version = re.search(r"^GNU ld [^$]*(\d+\.\d+)$", linker_version_str, re.MULTILINE)
|
||||||
if not gnu_ld_version:
|
if not gnu_ld_version:
|
||||||
print(
|
print(
|
||||||
"Warning: Creating template binaries enabled for PCK embedding is currently only supported with GNU ld, not gold or LLD."
|
"Warning: Creating template binaries enabled for PCK embedding is currently only supported with GNU ld, not gold or LLD."
|
||||||
|
@ -854,8 +854,6 @@ void VoxelLightBaker::plot_light_directional(const Vector3 &p_direction, const C
|
|||||||
|
|
||||||
float distance_adv = _get_normal_advance(light_axis);
|
float distance_adv = _get_normal_advance(light_axis);
|
||||||
|
|
||||||
int success_count = 0;
|
|
||||||
|
|
||||||
Vector3 light_energy = Vector3(p_color.r, p_color.g, p_color.b) * p_energy * p_indirect_energy;
|
Vector3 light_energy = Vector3(p_color.r, p_color.g, p_color.b) * p_energy * p_indirect_energy;
|
||||||
|
|
||||||
int idx = first_leaf;
|
int idx = first_leaf;
|
||||||
@ -916,7 +914,6 @@ void VoxelLightBaker::plot_light_directional(const Vector3 &p_direction, const C
|
|||||||
light->direct_accum[i][2] += light_energy.z * s;
|
light->direct_accum[i][2] += light_energy.z * s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
success_count++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
idx = light_data[idx].next_leaf;
|
idx = light_data[idx].next_leaf;
|
||||||
|
@ -137,7 +137,7 @@ Vector<Vector2> PolygonPathFinder::find_path(const Vector2 &p_from, const Vector
|
|||||||
Edge ignore_to_edge(-1, -1);
|
Edge ignore_to_edge(-1, -1);
|
||||||
|
|
||||||
if (!_is_point_inside(from)) {
|
if (!_is_point_inside(from)) {
|
||||||
float closest_dist = 1e20;
|
float closest_dist = 1e20f;
|
||||||
Vector2 closest_point;
|
Vector2 closest_point;
|
||||||
|
|
||||||
for (Set<Edge>::Element *E = edges.front(); E; E = E->next()) {
|
for (Set<Edge>::Element *E = edges.front(); E; E = E->next()) {
|
||||||
@ -161,7 +161,7 @@ Vector<Vector2> PolygonPathFinder::find_path(const Vector2 &p_from, const Vector
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (!_is_point_inside(to)) {
|
if (!_is_point_inside(to)) {
|
||||||
float closest_dist = 1e20;
|
float closest_dist = 1e20f;
|
||||||
Vector2 closest_point;
|
Vector2 closest_point;
|
||||||
|
|
||||||
for (Set<Edge>::Element *E = edges.front(); E; E = E->next()) {
|
for (Set<Edge>::Element *E = edges.front(); E; E = E->next()) {
|
||||||
@ -489,7 +489,7 @@ bool PolygonPathFinder::is_point_inside(const Vector2 &p_point) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Vector2 PolygonPathFinder::get_closest_point(const Vector2 &p_point) const {
|
Vector2 PolygonPathFinder::get_closest_point(const Vector2 &p_point) const {
|
||||||
float closest_dist = 1e20;
|
float closest_dist = 1e20f;
|
||||||
Vector2 closest_point;
|
Vector2 closest_point;
|
||||||
|
|
||||||
for (Set<Edge>::Element *E = edges.front(); E; E = E->next()) {
|
for (Set<Edge>::Element *E = edges.front(); E; E = E->next()) {
|
||||||
@ -508,7 +508,7 @@ Vector2 PolygonPathFinder::get_closest_point(const Vector2 &p_point) const {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ERR_FAIL_COND_V(closest_dist == 1e20, Vector2());
|
ERR_FAIL_COND_V(Math::is_equal_approx(closest_dist, 1e20f), Vector2());
|
||||||
|
|
||||||
return closest_point;
|
return closest_point;
|
||||||
}
|
}
|
||||||
|
@ -526,7 +526,6 @@ int PortalRoomsBSP::evaluate_room_split_plane(int p_room_a_id, int p_room_b_id,
|
|||||||
int PortalRoomsBSP::evaluate_plane(const VSPortal *p_portal, const Plane &p_plane, const LocalVector<int32_t, int32_t> &p_room_ids, LocalVector<int32_t, int32_t> *r_room_ids_back, LocalVector<int32_t, int32_t> *r_room_ids_front) {
|
int PortalRoomsBSP::evaluate_plane(const VSPortal *p_portal, const Plane &p_plane, const LocalVector<int32_t, int32_t> &p_room_ids, LocalVector<int32_t, int32_t> *r_room_ids_back, LocalVector<int32_t, int32_t> *r_room_ids_front) {
|
||||||
int rooms_front = 0;
|
int rooms_front = 0;
|
||||||
int rooms_back = 0;
|
int rooms_back = 0;
|
||||||
int rooms_split = 0;
|
|
||||||
|
|
||||||
if (r_room_ids_back) {
|
if (r_room_ids_back) {
|
||||||
DEV_ASSERT(!r_room_ids_back->size());
|
DEV_ASSERT(!r_room_ids_back->size());
|
||||||
@ -622,8 +621,6 @@ int PortalRoomsBSP::evaluate_plane(const VSPortal *p_portal, const Plane &p_plan
|
|||||||
if (r_room_ids_back) {
|
if (r_room_ids_back) {
|
||||||
r_room_ids_back->push_back(rid);
|
r_room_ids_back->push_back(rid);
|
||||||
}
|
}
|
||||||
|
|
||||||
rooms_split++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef GODOT_BSP_PUSH_BACK
|
#undef GODOT_BSP_PUSH_BACK
|
||||||
|
@ -3272,10 +3272,6 @@ void VisualServerScene::_bake_gi_probe_light(const GIProbeDataHeader *header, co
|
|||||||
|
|
||||||
float distance_adv = _get_normal_advance(light_axis);
|
float distance_adv = _get_normal_advance(light_axis);
|
||||||
|
|
||||||
int success_count = 0;
|
|
||||||
|
|
||||||
// uint64_t us = OS::get_singleton()->get_ticks_usec();
|
|
||||||
|
|
||||||
for (int i = 0; i < p_leaf_count; i++) {
|
for (int i = 0; i < p_leaf_count; i++) {
|
||||||
uint32_t idx = leaves[i];
|
uint32_t idx = leaves[i];
|
||||||
|
|
||||||
@ -3324,18 +3320,11 @@ void VisualServerScene::_bake_gi_probe_light(const GIProbeDataHeader *header, co
|
|||||||
light->energy[0] += int32_t(light_r * att * ((cell->albedo >> 16) & 0xFF) / 255.0);
|
light->energy[0] += int32_t(light_r * att * ((cell->albedo >> 16) & 0xFF) / 255.0);
|
||||||
light->energy[1] += int32_t(light_g * att * ((cell->albedo >> 8) & 0xFF) / 255.0);
|
light->energy[1] += int32_t(light_g * att * ((cell->albedo >> 8) & 0xFF) / 255.0);
|
||||||
light->energy[2] += int32_t(light_b * att * ((cell->albedo) & 0xFF) / 255.0);
|
light->energy[2] += int32_t(light_b * att * ((cell->albedo) & 0xFF) / 255.0);
|
||||||
success_count++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// print_line("BAKE TIME: " + rtos((OS::get_singleton()->get_ticks_usec() - us) / 1000000.0));
|
|
||||||
// print_line("valid cells: " + itos(success_count));
|
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VS::LIGHT_OMNI:
|
case VS::LIGHT_OMNI:
|
||||||
case VS::LIGHT_SPOT: {
|
case VS::LIGHT_SPOT: {
|
||||||
// uint64_t us = OS::get_singleton()->get_ticks_usec();
|
|
||||||
|
|
||||||
Vector3 light_pos = light_cache.transform.origin;
|
Vector3 light_pos = light_cache.transform.origin;
|
||||||
Vector3 spot_axis = -light_cache.transform.basis.get_axis(2).normalized();
|
Vector3 spot_axis = -light_cache.transform.basis.get_axis(2).normalized();
|
||||||
|
|
||||||
@ -3433,7 +3422,6 @@ void VisualServerScene::_bake_gi_probe_light(const GIProbeDataHeader *header, co
|
|||||||
light->energy[2] += int32_t(light_b * att * ((cell->albedo) & 0xFF) / 255.0);
|
light->energy[2] += int32_t(light_b * att * ((cell->albedo) & 0xFF) / 255.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//print_line("BAKE TIME: " + rtos((OS::get_singleton()->get_ticks_usec() - us) / 1000000.0));
|
|
||||||
} break;
|
} break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -107,8 +107,6 @@ void VisualServerViewport::_draw_viewport(Viewport *p_viewport, ARVRInterface::E
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!p_viewport->hide_canvas) {
|
if (!p_viewport->hide_canvas) {
|
||||||
int i = 0;
|
|
||||||
|
|
||||||
Map<Viewport::CanvasKey, Viewport::CanvasData *> canvas_map;
|
Map<Viewport::CanvasKey, Viewport::CanvasData *> canvas_map;
|
||||||
|
|
||||||
Rect2 clip_rect(0, 0, p_viewport->size.x, p_viewport->size.y);
|
Rect2 clip_rect(0, 0, p_viewport->size.x, p_viewport->size.y);
|
||||||
@ -117,8 +115,6 @@ void VisualServerViewport::_draw_viewport(Viewport *p_viewport, ARVRInterface::E
|
|||||||
RasterizerCanvas::Light *lights_with_mask = nullptr;
|
RasterizerCanvas::Light *lights_with_mask = nullptr;
|
||||||
Rect2 shadow_rect;
|
Rect2 shadow_rect;
|
||||||
|
|
||||||
int light_count = 0;
|
|
||||||
|
|
||||||
for (Map<RID, Viewport::CanvasData>::Element *E = p_viewport->canvas_map.front(); E; E = E->next()) {
|
for (Map<RID, Viewport::CanvasData>::Element *E = p_viewport->canvas_map.front(); E; E = E->next()) {
|
||||||
VisualServerCanvas::Canvas *canvas = static_cast<VisualServerCanvas::Canvas *>(E->get().canvas);
|
VisualServerCanvas::Canvas *canvas = static_cast<VisualServerCanvas::Canvas *>(E->get().canvas);
|
||||||
|
|
||||||
@ -164,8 +160,6 @@ void VisualServerViewport::_draw_viewport(Viewport *p_viewport, ARVRInterface::E
|
|||||||
cl->mask_next_ptr = lights_with_mask;
|
cl->mask_next_ptr = lights_with_mask;
|
||||||
lights_with_mask = cl;
|
lights_with_mask = cl;
|
||||||
}
|
}
|
||||||
|
|
||||||
light_count++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
VSG::canvas_render->light_internal_update(cl->light_internal, cl);
|
VSG::canvas_render->light_internal_update(cl->light_internal, cl);
|
||||||
@ -235,7 +229,6 @@ void VisualServerViewport::_draw_viewport(Viewport *p_viewport, ARVRInterface::E
|
|||||||
}
|
}
|
||||||
|
|
||||||
VSG::canvas->render_canvas(canvas, xform, canvas_lights, lights_with_mask, clip_rect, canvas_layer_id);
|
VSG::canvas->render_canvas(canvas, xform, canvas_lights, lights_with_mask, clip_rect, canvas_layer_id);
|
||||||
i++;
|
|
||||||
|
|
||||||
if (scenario_draw_canvas_bg && E->key().get_layer() >= scenario_canvas_max_layer) {
|
if (scenario_draw_canvas_bg && E->key().get_layer() >= scenario_canvas_max_layer) {
|
||||||
if (!can_draw_3d) {
|
if (!can_draw_3d) {
|
||||||
|
7
thirdparty/README.md
vendored
7
thirdparty/README.md
vendored
@ -22,9 +22,14 @@ Includes some patches in the `patches` folder which have been sent upstream.
|
|||||||
## certs
|
## certs
|
||||||
|
|
||||||
- Upstream: Mozilla, via https://github.com/bagder/ca-bundle
|
- Upstream: Mozilla, via https://github.com/bagder/ca-bundle
|
||||||
- Version: git (8b263a18fca98ea371e54227837321c5cdaa1ba7, 2021)
|
- Version: git (4d3fe6683f651d96be1bbef316b201e9b33b274d, 2024),
|
||||||
|
generated from mozilla-release changeset b8ea2342548b8571e58f9176d9555ccdb5ec199f
|
||||||
- License: MPL 2.0
|
- License: MPL 2.0
|
||||||
|
|
||||||
|
Files extracted from upstream source:
|
||||||
|
|
||||||
|
- `ca-bundle.crt` renamed to `ca-certificates.crt`
|
||||||
|
|
||||||
|
|
||||||
## cvtt
|
## cvtt
|
||||||
|
|
||||||
|
@ -233,9 +233,9 @@ struct btSparseSdf
|
|||||||
//int sz = sizeof(Cell);
|
//int sz = sizeof(Cell);
|
||||||
if (ncells > m_clampCells)
|
if (ncells > m_clampCells)
|
||||||
{
|
{
|
||||||
static int numResets = 0;
|
//static int numResets = 0;
|
||||||
numResets++;
|
//numResets++;
|
||||||
// printf("numResets=%d\n",numResets);
|
//printf("numResets=%d\n",numResets);
|
||||||
Reset();
|
Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
17
thirdparty/bullet/patches/fix-unused-but-set-warning.patch
vendored
Normal file
17
thirdparty/bullet/patches/fix-unused-but-set-warning.patch
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
diff --git a/thirdparty/bullet/BulletSoftBody/btSparseSDF.h b/thirdparty/bullet/BulletSoftBody/btSparseSDF.h
|
||||||
|
index ae1288d9e6..243b80f8ae 100644
|
||||||
|
--- a/thirdparty/bullet/BulletSoftBody/btSparseSDF.h
|
||||||
|
+++ b/thirdparty/bullet/BulletSoftBody/btSparseSDF.h
|
||||||
|
@@ -233,9 +233,9 @@ struct btSparseSdf
|
||||||
|
//int sz = sizeof(Cell);
|
||||||
|
if (ncells > m_clampCells)
|
||||||
|
{
|
||||||
|
- static int numResets = 0;
|
||||||
|
- numResets++;
|
||||||
|
- // printf("numResets=%d\n",numResets);
|
||||||
|
+ //static int numResets = 0;
|
||||||
|
+ //numResets++;
|
||||||
|
+ //printf("numResets=%d\n",numResets);
|
||||||
|
Reset();
|
||||||
|
}
|
||||||
|
|
981
thirdparty/certs/ca-certificates.crt
vendored
981
thirdparty/certs/ca-certificates.crt
vendored
File diff suppressed because it is too large
Load Diff
38
thirdparty/vhacd/0006-fix-gcc13.patch
vendored
Normal file
38
thirdparty/vhacd/0006-fix-gcc13.patch
vendored
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
diff --git a/thirdparty/vhacd/inc/vhacdICHull.h b/thirdparty/vhacd/inc/vhacdICHull.h
|
||||||
|
index 132bdcfb3e..925584cf52 100644
|
||||||
|
--- a/thirdparty/vhacd/inc/vhacdICHull.h
|
||||||
|
+++ b/thirdparty/vhacd/inc/vhacdICHull.h
|
||||||
|
@@ -18,6 +18,10 @@
|
||||||
|
#include "vhacdManifoldMesh.h"
|
||||||
|
#include "vhacdVector.h"
|
||||||
|
|
||||||
|
+// -- GODOT start --
|
||||||
|
+#include <cstdint>
|
||||||
|
+// -- GODOT end --
|
||||||
|
+
|
||||||
|
namespace VHACD {
|
||||||
|
//! Incremental Convex Hull algorithm (cf. http://cs.smith.edu/~orourke/books/ftp.html ).
|
||||||
|
enum ICHullError {
|
||||||
|
diff --git a/thirdparty/vhacd/inc/vhacdManifoldMesh.h b/thirdparty/vhacd/inc/vhacdManifoldMesh.h
|
||||||
|
index a48f53c5c5..5eed4e13aa 100644
|
||||||
|
--- a/thirdparty/vhacd/inc/vhacdManifoldMesh.h
|
||||||
|
+++ b/thirdparty/vhacd/inc/vhacdManifoldMesh.h
|
||||||
|
@@ -18,6 +18,11 @@ All rights reserved.
|
||||||
|
#include "vhacdCircularList.h"
|
||||||
|
#include "vhacdSArray.h"
|
||||||
|
#include "vhacdVector.h"
|
||||||
|
+
|
||||||
|
+// -- GODOT start --
|
||||||
|
+#include <cstdint>
|
||||||
|
+// -- GODOT end --
|
||||||
|
+
|
||||||
|
namespace VHACD {
|
||||||
|
class TMMTriangle;
|
||||||
|
class TMMEdge;
|
||||||
|
@@ -139,4 +144,4 @@ private:
|
||||||
|
friend class ICHull;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
-#endif // VHACD_MANIFOLD_MESH_H
|
||||||
|
\ No newline at end of file
|
||||||
|
+#endif // VHACD_MANIFOLD_MESH_H
|
4
thirdparty/vhacd/inc/vhacdICHull.h
vendored
4
thirdparty/vhacd/inc/vhacdICHull.h
vendored
@ -18,6 +18,10 @@
|
|||||||
#include "vhacdManifoldMesh.h"
|
#include "vhacdManifoldMesh.h"
|
||||||
#include "vhacdVector.h"
|
#include "vhacdVector.h"
|
||||||
|
|
||||||
|
// -- GODOT start --
|
||||||
|
#include <cstdint>
|
||||||
|
// -- GODOT end --
|
||||||
|
|
||||||
namespace VHACD {
|
namespace VHACD {
|
||||||
//! Incremental Convex Hull algorithm (cf. http://cs.smith.edu/~orourke/books/ftp.html ).
|
//! Incremental Convex Hull algorithm (cf. http://cs.smith.edu/~orourke/books/ftp.html ).
|
||||||
enum ICHullError {
|
enum ICHullError {
|
||||||
|
7
thirdparty/vhacd/inc/vhacdManifoldMesh.h
vendored
7
thirdparty/vhacd/inc/vhacdManifoldMesh.h
vendored
@ -18,6 +18,11 @@ All rights reserved.
|
|||||||
#include "vhacdCircularList.h"
|
#include "vhacdCircularList.h"
|
||||||
#include "vhacdSArray.h"
|
#include "vhacdSArray.h"
|
||||||
#include "vhacdVector.h"
|
#include "vhacdVector.h"
|
||||||
|
|
||||||
|
// -- GODOT start --
|
||||||
|
#include <cstdint>
|
||||||
|
// -- GODOT end --
|
||||||
|
|
||||||
namespace VHACD {
|
namespace VHACD {
|
||||||
class TMMTriangle;
|
class TMMTriangle;
|
||||||
class TMMEdge;
|
class TMMEdge;
|
||||||
@ -139,4 +144,4 @@ private:
|
|||||||
friend class ICHull;
|
friend class ICHull;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#endif // VHACD_MANIFOLD_MESH_H
|
#endif // VHACD_MANIFOLD_MESH_H
|
||||||
|
@ -2,8 +2,8 @@ short_name = "godot"
|
|||||||
name = "Godot Engine"
|
name = "Godot Engine"
|
||||||
major = 3
|
major = 3
|
||||||
minor = 4
|
minor = 4
|
||||||
patch = 5
|
patch = 6
|
||||||
status = "stable"
|
status = "rc"
|
||||||
module_config = ""
|
module_config = ""
|
||||||
year = 2022
|
year = 2022
|
||||||
website = "https://godotengine.org"
|
website = "https://godotengine.org"
|
||||||
|
Loading…
Reference in New Issue
Block a user