From 9784e1bd206d886181db8bbe38174c131e0e9d6d Mon Sep 17 00:00:00 2001 From: Eric Froemling Date: Mon, 21 Dec 2020 08:20:17 -0800 Subject: [PATCH] Removed predeclared unique_ptrs which still fail on older gcc --- .efrocachemap | 52 ++++++++++++++-------------- docs/ba_module.md | 2 +- src/ballistica/audio/audio_server.cc | 6 +++- src/ballistica/audio/audio_server.h | 7 ++-- src/ballistica/ballistica.cc | 2 +- src/ballistica/python/python.cc | 6 ++-- src/ballistica/python/python.h | 6 ++-- 7 files changed, 46 insertions(+), 35 deletions(-) diff --git a/.efrocachemap b/.efrocachemap index 29b9507c..58ba469c 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -3932,32 +3932,32 @@ "assets/build/windows/Win32/ucrtbased.dll": "https://files.ballistica.net/cache/ba1/b5/85/f8b6d0558ddb87267f34254b1450", "assets/build/windows/Win32/vc_redist.x86.exe": "https://files.ballistica.net/cache/ba1/1c/e1/4a1a2eddda2f4aebd5f8b64ab08e", "assets/build/windows/Win32/vcruntime140d.dll": "https://files.ballistica.net/cache/ba1/50/8d/bc2600ac9491f1b14d659709451f", - "build/prefab/full/linux_x86_64/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/2b/89/50d247b7215e1619546ede709ec4", - "build/prefab/full/linux_x86_64/release/ballisticacore": "https://files.ballistica.net/cache/ba1/38/40/60b318c990a5f7f77cf90cf50043", - "build/prefab/full/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/4c/f7/dae9baf614e87c145ae8f3825bff", - "build/prefab/full/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/29/47/e00996feacca50191ba962388165", - "build/prefab/full/mac_arm64/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/49/3d/e48d5bc8b5d5f487256987223542", - "build/prefab/full/mac_arm64/release/ballisticacore": "https://files.ballistica.net/cache/ba1/39/53/85c8b9cd8dc3b742012b437d1892", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/29/0c/2cdcdffcfce72e3edc65a7bcc81a", - "build/prefab/full/mac_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/f2/0e/38d5635f024b4cfdfeaac5919a94", - "build/prefab/full/mac_x86_64/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/e1/41/1fe466a9619e8e052d354ef4de4a", - "build/prefab/full/mac_x86_64/release/ballisticacore": "https://files.ballistica.net/cache/ba1/ff/b4/06bb0621c5e1a619ef035bdd9c4e", - "build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/37/43/b87e6819f3824896cd653ed78015", - "build/prefab/full/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/39/8f/bb7342f8d272fe5edd26d3911db3", - "build/prefab/full/windows_x86/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/02/34/84b36406a25898f8fd23bbf24791", - "build/prefab/full/windows_x86/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/85/73/d11ba69a370b927271531addb1aa", - "build/prefab/full/windows_x86_server/debug/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/0d/47/1e5a8aca6a9cc43827aa0a46efa1", - "build/prefab/full/windows_x86_server/release/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/5b/e7/d36f837dc56e97f2514ebbb66f58", - "build/prefab/lib/linux_x86_64/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/7c/cf/75ec792052efe66757cdbc31afcb", + "build/prefab/full/linux_x86_64/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/61/f5/42042c4230fd44778b5d0500005f", + "build/prefab/full/linux_x86_64/release/ballisticacore": "https://files.ballistica.net/cache/ba1/be/e5/b27199d0df87911f76551b0b1ea1", + "build/prefab/full/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/15/c9/e4f05ea478c3b1cd00842ada7014", + "build/prefab/full/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/c9/22/00f1089355c30a23a15306248ff0", + "build/prefab/full/mac_arm64/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/f0/6b/5b685ff871f74a17ef8b45e4a42b", + "build/prefab/full/mac_arm64/release/ballisticacore": "https://files.ballistica.net/cache/ba1/28/3c/d5ccd630c92ea83bf18071a3074f", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/8e/e7/b84e019963014f3c168b8d9d7e80", + "build/prefab/full/mac_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/d8/e7/9d73e3ec4917b21ad93c68ef4155", + "build/prefab/full/mac_x86_64/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/a6/67/6914ea6010d3cdf8bbcfafbec26d", + "build/prefab/full/mac_x86_64/release/ballisticacore": "https://files.ballistica.net/cache/ba1/5c/7f/712d0f1a621d20ecc9cdac422739", + "build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/ab/fd/a0983220a41cf7dc1857576655b7", + "build/prefab/full/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/be/a4/b27cfcd0497721debeb0cde41a29", + "build/prefab/full/windows_x86/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/0d/be/144ec77447716d9a12ef2310349d", + "build/prefab/full/windows_x86/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/86/4a/8c1e7d55b64e856fc93182d8988a", + "build/prefab/full/windows_x86_server/debug/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/bc/77/6ee01a4f376207736010bc94f36c", + "build/prefab/full/windows_x86_server/release/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/6c/81/3d62c546703fab19b729f9dacfe5", + "build/prefab/lib/linux_x86_64/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/ef/d0/49b99ce32e5e2b01b056fbac5c67", "build/prefab/lib/linux_x86_64/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/83/25/980050d75bbea49a84652209050c", - "build/prefab/lib/linux_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/4a/8f/a68e074e798efba12fe861273ebc", + "build/prefab/lib/linux_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/47/aa/e82233695a50974e7e22db4e7146", "build/prefab/lib/linux_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/2b/45/7f9fbae208890455fce2fbc172d3", - "build/prefab/lib/mac_arm64/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/f6/79/33046e7b3a2b1ac662a038659c34", - "build/prefab/lib/mac_arm64/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/77/44/645495a98c95810deaddba3e841c", - "build/prefab/lib/mac_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/68/6f/cb92e512bb71230af1005aac91d4", - "build/prefab/lib/mac_arm64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/5b/cb/67b06cf9e5e50c3a0ba8283e64c8", - "build/prefab/lib/mac_x86_64/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/95/16/30fb1ec30d38b189a6b9f847ad34", - "build/prefab/lib/mac_x86_64/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/02/aa/5ea78bcd95c8f3ccbd184afb7cbf", - "build/prefab/lib/mac_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/2d/3d/4a4ddffcee6d7c4e1bd723b7f67d", - "build/prefab/lib/mac_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/ac/59/4b29077ebf672fcd1e2c1ab97210" + "build/prefab/lib/mac_arm64/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/46/ec/2c2bb1204abbe942cb296fef5e79", + "build/prefab/lib/mac_arm64/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/0e/83/bb1b9a51091d6d57666e68baf0be", + "build/prefab/lib/mac_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/73/3e/21fe10fc8cf2dc537e2e120500ac", + "build/prefab/lib/mac_arm64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/91/e5/4b88265352f2b45bf8d87604ef0d", + "build/prefab/lib/mac_x86_64/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/fb/fb/da38628f5a05b98a75884203fcda", + "build/prefab/lib/mac_x86_64/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/13/f3/ad95cae09bb284a0602818b1691e", + "build/prefab/lib/mac_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/da/a1/21506784d737450ac62014fb7e3a", + "build/prefab/lib/mac_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/1a/79/5df7c8c8d5caf9526e7a49a14413" } \ No newline at end of file diff --git a/docs/ba_module.md b/docs/ba_module.md index e8bff511..f369e93e 100644 --- a/docs/ba_module.md +++ b/docs/ba_module.md @@ -1,5 +1,5 @@ -

last updated on 2020-12-20 for Ballistica version 1.5.29 build 20260

+

last updated on 2020-12-21 for Ballistica version 1.5.29 build 20262

This page documents the Python classes and functions in the 'ba' module, which are the ones most relevant to modding in Ballistica. If you come across something you feel should be included here or could be better explained, please let me know. Happy modding!


diff --git a/src/ballistica/audio/audio_server.cc b/src/ballistica/audio/audio_server.cc index 837dc652..ad35c8a7 100644 --- a/src/ballistica/audio/audio_server.cc +++ b/src/ballistica/audio/audio_server.cc @@ -327,7 +327,10 @@ void AudioServer::PushSetListenerOrientationCall(const Vector3f& forward, } AudioServer::AudioServer(Thread* thread) - : Module("audio", thread), impl_{std::make_unique()} { + : Module("audio", thread), + impl_{new AudioServer::Impl()} +// impl_{std::make_unique()} +{ // we're a singleton.. assert(g_audio_server == nullptr); g_audio_server = this; @@ -420,6 +423,7 @@ AudioServer::AudioServer(Thread* thread) } AudioServer::~AudioServer() { + delete impl_; #if BA_ENABLE_AUDIO sound_source_refs_.clear(); diff --git a/src/ballistica/audio/audio_server.h b/src/ballistica/audio/audio_server.h index 7ab2faae..53a5f00e 100644 --- a/src/ballistica/audio/audio_server.h +++ b/src/ballistica/audio/audio_server.h @@ -4,7 +4,6 @@ #define BALLISTICA_AUDIO_AUDIO_SERVER_H_ #include -#include #include #include "ballistica/core/module.h" @@ -100,7 +99,11 @@ class AudioServer : public Module { // this function. void AddSoundRefDelete(const Object::Ref* c); - std::unique_ptr impl_{}; + // Note: should use unique_ptr for this, but build fails on raspberry pi + // (gcc 8.3.0). Works on Ubuntu 9.3 so should try again later. + // std::unique_ptr impl_{}; + Impl* impl_{}; + Timer* process_timer_{}; bool have_pending_loads_{}; bool paused_{}; diff --git a/src/ballistica/ballistica.cc b/src/ballistica/ballistica.cc index 287ba719..969166bb 100644 --- a/src/ballistica/ballistica.cc +++ b/src/ballistica/ballistica.cc @@ -21,7 +21,7 @@ namespace ballistica { // These are set automatically via script; don't change here. -const int kAppBuildNumber = 20262; +const int kAppBuildNumber = 20263; const char* kAppVersion = "1.5.29"; // Our standalone globals. diff --git a/src/ballistica/python/python.cc b/src/ballistica/python/python.cc index 9ea3c977..0d794975 100644 --- a/src/ballistica/python/python.cc +++ b/src/ballistica/python/python.cc @@ -2610,9 +2610,11 @@ class Python::ScopedInterpreterLock::Impl { }; Python::ScopedInterpreterLock::ScopedInterpreterLock() - : impl_(std::make_unique()) {} + : impl_{new Python::ScopedInterpreterLock::Impl()} +// impl_{std::make_unique()} +{} -Python::ScopedInterpreterLock::~ScopedInterpreterLock() {} +Python::ScopedInterpreterLock::~ScopedInterpreterLock() { delete impl_; } template auto IsPyEnum(Python::ObjID enum_class_id, PyObject* obj) -> bool { diff --git a/src/ballistica/python/python.h b/src/ballistica/python/python.h index 4c25b8e3..c74f7424 100644 --- a/src/ballistica/python/python.h +++ b/src/ballistica/python/python.h @@ -5,7 +5,6 @@ #include #include -#include #include #include #include @@ -51,7 +50,10 @@ class Python { private: class Impl; - std::unique_ptr impl_{}; + // Note: should use unique_ptr for this, but build fails on raspberry pi + // (gcc 8.3.0). Works on Ubuntu 9.3 so should try again later. + // std::unique_ptr impl_{}; + Impl* impl_{}; }; /// Return whether the current thread holds the global-interpreter-lock.