diff --git a/.efrocachemap b/.efrocachemap index 7509e0a0..4f051e1f 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -4056,26 +4056,26 @@ "build/assets/windows/Win32/ucrtbased.dll": "2def5335207d41b21b9823f6805997f1", "build/assets/windows/Win32/vc_redist.x86.exe": "b08a55e2e77623fe657bea24f223a3ae", "build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599", - "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "9d6c7dcd7bf389dcbe29cfc7937d9a56", - "build/prefab/full/linux_arm64_gui/release/ballisticakit": "4f40db9f40f1c16799254b2c94696942", - "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "2d224e9438975458e1952af0c2b0d533", - "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "ad311de40204ae2c96af8b7159fc4b28", - "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "403fe6bd30d80cf4ecefd47dba093f09", - "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "d9b98710fe088d506543a50294c5a3a4", - "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "29c87115ee8771a4a0bc17317a4a127a", - "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "27a27244b971b48dc545b40a3011ef1a", - "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "886cdccbdee045d79ae74c565faab138", - "build/prefab/full/mac_arm64_gui/release/ballisticakit": "81bd15d634824d149e50774b3233a31e", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "d59d84aa1c75c11e13b060849917e5f1", - "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "af1a00445c5801b194f02ccd9398004d", - "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "4f03257b9abf82424a3dd03d80d74d7b", - "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "aa7f3acd8b8a5161fc74897b6f24d307", - "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "b1f55dfaa7d58f6ff05adfc186cfdaf6", - "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "a4ab928602e225bf6cab87fe66418420", - "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "d4c4e2f36157644aba754b29e7e4331b", - "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "11ac9dfebba2e5bddfba558542807c84", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "32eee583a55f313bbac0289cf85dc571", - "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "fca49b598ac6ed04eace6d329b3dfbc4", + "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "93bf8f800fabeecc672a60bc7f5bedc5", + "build/prefab/full/linux_arm64_gui/release/ballisticakit": "3f5d79c23fb7a2aa5c32bfeb01841b7b", + "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "2fd63e8c51f5da231f389a23434d1a93", + "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "4e4e362a8ecd66f8c2bdc493e4d6252d", + "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "db4090086dcee82e6c40a5557138de27", + "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "7209321341bb6702c61ecda3803bce4f", + "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "ef872d67f1086edeb5af7d2bf2023fec", + "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "771fa2990e761a1a67977b92b9818a85", + "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "015dbcf56263e84043bbeb1585239720", + "build/prefab/full/mac_arm64_gui/release/ballisticakit": "31c121c7b137681bae41c5431dac3c71", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "08a4ddbaa68e65a706994b804c6073ff", + "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "b8ea38d8ac7721834be096bcbc3ecd09", + "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "aa7c12f44dbe822eb083ce475f162d01", + "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "07064f41580f8e83bf84206a93524060", + "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "6cb47237b92fb2ef26f2b26ae00f0daf", + "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "10f29b6b69d615e414306b451dc660c7", + "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "95d9f48a6fbbe230e704930d4f62fb26", + "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "7856bc878b2458c059cf145a8378749a", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "58ee4b65fe1185d104a047b91a11e21f", + "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "b11437fea648fb155d54a5f371cae3e4", "build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "11668f7191dc8d4e2b03db15ff2a4241", "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "b190199ce8b8fe122993d14fb7e8e813", "build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "11668f7191dc8d4e2b03db15ff2a4241", diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b766165..d00333ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 1.7.34 (build 21804, api 8, 2024-04-23) +### 1.7.34 (build 21806, api 8, 2024-04-23) - Bumped Python version from 3.11 to 3.12 for all builds and project tools. One of the things this means is that we can use `typing.override` instead of the `typing_extensions` version so the annoying requirement of installing @@ -29,6 +29,15 @@ - `_bascenev1.protocol_version()` now properly throws an exception if called while scene-v1 is not active. - The `efro.dataclassio` system now supports `datetime.timedelta` values. +- Usage of `pcommandbatch` is now disabled by default. To enable it, set the env + var `BA_PCOMMANDBATCH_ENABLE=1`. This is primarily due to rare sporadic + failures I have observed or have been informed of, possibly involving socket + exhaustion or other hard-to-debug OS conditions. For now I am still + considering `pcommandbatch` supported and may continue to use it myself, but + its speed gains may not be worth its added complexity indefinitely. As core + counts keep increasing in the future, the time expense of spinning up a new + Python process per pcommand decreases, making pcommandbatch less of a win. + Please holler if you have any thoughts on this. ### 1.7.33 (build 21795, api 8, 2024-03-24) - Stress test input-devices are now a bit smarter; they won't press any buttons diff --git a/Makefile b/Makefile index b303f93d..d24ebeaf 100644 --- a/Makefile +++ b/Makefile @@ -40,10 +40,10 @@ endif # which. PCOMMAND = tools/pcommand PCOMMANDBATCHBIN = .cache/pcommandbatch/pcommandbatch -ifeq ($(BA_PCOMMANDBATCH_DISABLE),1) - PCOMMANDBATCH = $(PCOMMAND) -else +ifeq ($(BA_PCOMMANDBATCH_ENABLE),0) PCOMMANDBATCH = $(PCOMMANDBATCHBIN) +else + PCOMMANDBATCH = $(PCOMMAND) endif # Prereq targets that should be safe to run anytime; even if project-files @@ -203,7 +203,7 @@ docs-sphinx-clean: rm -rf build/sphinx pcommandbatch_speed_test: prereqs - @$(PCOMMAND) pcommandbatch_speed_test $(PCOMMANDBATCH) + @$(PCOMMAND) pcommandbatch_speed_test $(PCOMMANDBATCHBIN) # Tell make which of these targets don't represent files. .PHONY: help prereqs prereqs-pre-update prereqs-clean assets assets-cmake \ diff --git a/src/assets/Makefile b/src/assets/Makefile index 6e5dfba5..c3bb8bb3 100644 --- a/src/assets/Makefile +++ b/src/assets/Makefile @@ -28,12 +28,12 @@ PCOMMAND = $(TOOLS_DIR)/pcommand # pcommand. See tools/efrotools/pcommandbatch.py for more info on when to use # which. PCOMMANDBATCHBIN = $(PROJ_DIR)/.cache/pcommandbatch/pcommandbatch -ifeq ($(BA_PCOMMANDBATCH_DISABLE),1) - PCOMMANDBATCH = $(TOOLS_DIR)/pcommand - PCOMMANDBATCHFROMROOT = tools/pcommand -else +ifeq ($(BA_PCOMMANDBATCH_ENABLE),0) PCOMMANDBATCH = $(PCOMMANDBATCHBIN) PCOMMANDBATCHFROMROOT = .cache/pcommandbatch/pcommandbatch +else + PCOMMANDBATCH = $(TOOLS_DIR)/pcommand + PCOMMANDBATCHFROMROOT = tools/pcommand endif # High level targets: generally these are what should be used here. diff --git a/src/assets/ba_data/python/baenv.py b/src/assets/ba_data/python/baenv.py index ee7482ae..0d292c85 100644 --- a/src/assets/ba_data/python/baenv.py +++ b/src/assets/ba_data/python/baenv.py @@ -52,7 +52,7 @@ if TYPE_CHECKING: # Build number and version of the ballistica binary we expect to be # using. -TARGET_BALLISTICA_BUILD = 21804 +TARGET_BALLISTICA_BUILD = 21806 TARGET_BALLISTICA_VERSION = '1.7.34' diff --git a/src/ballistica/shared/ballistica.cc b/src/ballistica/shared/ballistica.cc index cbbcdb0e..f2153e15 100644 --- a/src/ballistica/shared/ballistica.cc +++ b/src/ballistica/shared/ballistica.cc @@ -39,7 +39,7 @@ auto main(int argc, char** argv) -> int { namespace ballistica { // These are set automatically via script; don't modify them here. -const int kEngineBuildNumber = 21804; +const int kEngineBuildNumber = 21806; const char* kEngineVersion = "1.7.34"; const int kEngineApiVersion = 8;