diff --git a/.efrocachemap b/.efrocachemap
index b41805bf..875c1d24 100644
--- a/.efrocachemap
+++ b/.efrocachemap
@@ -4068,26 +4068,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": "1629179fc405896247a0bceeb8f3c446",
- "build/prefab/full/linux_arm64_gui/release/ballisticakit": "4f8983cbe31b742d16d675b70a701efd",
- "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "cb32354e389617f4181feaf1c52f38f4",
- "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "b69793b8a89aee749af98e48e1af635b",
- "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "11901eac902eeb5cf1764013979f1f2c",
- "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "fa0c68f8c4a39638f9aeffb2065499b6",
- "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "07f5f9251718f8b130567cb4118b6ff9",
- "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "1788b53fc7216b1f29729fe834f29e33",
- "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "8d347668c3e7119e3749ec6a4935ceaf",
- "build/prefab/full/mac_arm64_gui/release/ballisticakit": "3dbc1132cdca65114028a473b2fbc3f2",
- "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "3e7f0e33abff4ec840a7be417d69cdbc",
- "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "a3819f1db78636a4e10f7355abb9c6d5",
- "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "59b6ff9b88017c397bc10b61f18fbf60",
- "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "a134aeb2c8428f7cd8b2afb53ca6606a",
- "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "533f6255a5e97ce025978af6edd23dc4",
- "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "18cd688e4d9c852d9ee6adaa191a773b",
- "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "0c814e0a0169c59f09df11ac64ee83f7",
- "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "3e2c22bdcc5f7367bb0973ea91f856ac",
- "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "a95f92bea8572a44d0ea818e0ea841c9",
- "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "4b20fbf655e38e0a953a762c9cf70133",
+ "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "6c5410dd5457a13813493d7ea2d5562b",
+ "build/prefab/full/linux_arm64_gui/release/ballisticakit": "e69bb296bf91b09a0e231dfa8ed0b7e2",
+ "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "86c5d40f241ddaa93388ea0f8a80082c",
+ "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "5706bd9259808872b6f72782fc55b455",
+ "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "e7783c8332d719d1c3f267f373db5475",
+ "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "7b5a0ecb206e6e99bc226b450947f574",
+ "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "3ec06df77ccbd6692f70627590839015",
+ "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "6d0aaabc7b99cc3ede5e929243978996",
+ "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "c6b322d26f27c3a231563ed529929f8c",
+ "build/prefab/full/mac_arm64_gui/release/ballisticakit": "3ccba6e3f58feaa072e586a931e4fd66",
+ "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "ed5162007621371fd7c9900d354f0af4",
+ "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "98a5504c530c7e7332c7a36e74768cda",
+ "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "4dfdc826b7ec7ee189ea13ab5e3d82f8",
+ "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "2de6690d43b4e0ca1f025db203e61105",
+ "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "caca11a767c6c646c57cfdf38580d4c6",
+ "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "f5931ba9f402cb06ae3fac1435fe373b",
+ "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "78af9bffaa8ddc125a4004a5277313be",
+ "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "a81092089974f04dd8d8e6890b16b48f",
+ "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "d2bc19f05c38a5e70afcc115dff738d5",
+ "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "1f60bdba0e1ec2ff9dd817fba4f6e8ab",
"build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "85ba4e81a1f7ae2cff4b1355eb49904f",
"build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "498921f7eb2afd327d4b900cb70e31f9",
"build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "85ba4e81a1f7ae2cff4b1355eb49904f",
@@ -4104,14 +4104,14 @@
"build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "0ab638b6602610bdaf432e3cc2464080",
"build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "92394eb19387c363471ce134ac9e6a1b",
"build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "0ab638b6602610bdaf432e3cc2464080",
- "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "202813fe7ee2cd8ccd9859717c6e5638",
- "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "bbd2b94690d8dd61d41947b2799d97f9",
- "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "f52e5483bfc3553e2b3fcf0b3a51b754",
- "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "0a57f4d588d5d495c93c91b847cc8eff",
- "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "98ee1e9862f211e40039af019334189b",
- "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "a81fa7d1d5dd59fd3fe9a727083b09e1",
- "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "3eab2e9a9cc760d5d6002225090a81aa",
- "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "61f15d089c3733995bcd6063451a2401",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "86931b7181e0093a01df06f8f9bf8362",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "b90066461e1d896345866f34e65e7475",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "172d43d161734603acdaede642a5e5a2",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "0981b696422f56194b333989c7035abb",
+ "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "f797b7d2d44f5d2d3e3fe4fea9dd7c36",
+ "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "a09731078bf634d23903931a922f7cc3",
+ "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "6adc06b26e1fc9ed00c311d1fe1d0f20",
+ "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "0f5610d81ca29b0a5fd3ebf89f1abbdb",
"src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c",
"src/assets/ba_data/python/babase/_mgen/enums.py": "f8cd3af311ac63147882590123b78318",
"src/ballistica/base/mgen/pyembed/binding_base.inc": "eeddad968b176000e31c65be6206a2bc",
diff --git a/.idea/dictionaries/ericf.xml b/.idea/dictionaries/ericf.xml
index 6a80f527..b77ba5ac 100644
--- a/.idea/dictionaries/ericf.xml
+++ b/.idea/dictionaries/ericf.xml
@@ -2129,6 +2129,7 @@
pcommand
pcommandbatch
pcommandbatchbin
+ pcommandbatchfromroot
pcommands
pcommandserver
pcstr
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1f7bec7c..a9ee45d4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,4 @@
-### 1.7.26 (build 21212, api 8, 2023-08-03)
+### 1.7.26 (build 21213, api 8, 2023-08-17)
- Various general improvements to the pcommand (project command) system.
- Modules containing pcommand functions are now named with an 's' - so
diff --git a/Makefile b/Makefile
index a42395d7..5c855502 100644
--- a/Makefile
+++ b/Makefile
@@ -266,10 +266,10 @@ prefab-mac-arm64-gui-debug-build: prereqs assets-cmake \
@$(STAGE_BUILD) -cmake -debug build/prefab/full/mac_arm64_gui/debug
build/prefab/full/mac_%_gui/debug/ballisticakit: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/mac_%_gui/debug/libballisticaplus.a: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
# Mac gui release:
@@ -296,10 +296,10 @@ prefab-mac-arm64-gui-release-build: prereqs assets-cmake \
@$(STAGE_BUILD) -cmake -release build/prefab/full/mac_arm64_gui/release
build/prefab/full/mac_%_gui/release/ballisticakit: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/mac_%_gui/release/libballisticaplus.a: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
# Mac server debug:
@@ -326,10 +326,10 @@ prefab-mac-arm64-server-debug-build: prereqs assets-server \
@$(STAGE_BUILD) -cmakeserver -debug build/prefab/full/mac_arm64_server/debug
build/prefab/full/mac_%_server/debug/dist/ballisticakit_headless: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/mac_%_server/debug/libballisticaplus.a: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
# Mac server release:
@@ -358,10 +358,10 @@ prefab-mac-arm64-server-release-build: prereqs assets-server \
build/prefab/full/mac_arm64_server/release
build/prefab/full/mac_%_server/release/dist/ballisticakit_headless: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/mac_%_server/release/libballisticaplus.a: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
# Linux gui debug:
@@ -388,10 +388,10 @@ prefab-linux-arm64-gui-debug-build: prereqs assets-cmake \
@$(STAGE_BUILD) -cmake -debug build/prefab/full/linux_arm64_gui/debug
build/prefab/full/linux_%_gui/debug/ballisticakit: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/linux_%_gui/debug/libballisticaplus.a: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
# Linux gui release:
@@ -418,10 +418,10 @@ prefab-linux-arm64-gui-release-build: prereqs assets-cmake \
@$(STAGE_BUILD) -cmake -release build/prefab/full/linux_arm64_gui/release
build/prefab/full/linux_%_gui/release/ballisticakit: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/linux_%_gui/release/libballisticaplus.a: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
# Linux server debug:
@@ -450,10 +450,10 @@ prefab-linux-arm64-server-debug-build: prereqs assets-server \
build/prefab/full/linux_arm64_server/debug
build/prefab/full/linux_%_server/debug/dist/ballisticakit_headless: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/linux_%_server/debug/libballisticaplus.a: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
# Linux server release:
@@ -482,10 +482,10 @@ prefab-linux-arm64-server-release-build: prereqs assets-server \
build/prefab/full/linux_arm64_server/release
build/prefab/full/linux_%_server/release/dist/ballisticakit_headless: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/linux_%_server/release/libballisticaplus.a: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
# Windows gui debug:
@@ -502,13 +502,13 @@ prefab-windows-x86-gui-debug-build: prereqs assets-windows-$(WINPLAT_X86) \
build/prefab/full/windows_x86_gui/debug
build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/windows/Debug_%/BallisticaKitGenericPlus.lib: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/windows/Debug_%/BallisticaKitGenericPlus.pdb: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
# Windows gui release:
@@ -526,13 +526,13 @@ prefab-windows-x86-gui-release-build: prereqs \
build/prefab/full/windows_x86_gui/release
build/prefab/full/windows_x86_gui/release/BallisticaKit.exe: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/windows/Release_%/BallisticaKitGenericPlus.lib: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/windows/Release_%/BallisticaKitGenericPlus.pdb: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
# Windows server debug:
@@ -551,13 +551,13 @@ prefab-windows-x86-server-debug-build: prereqs \
build/prefab/full/windows_x86_server/debug
build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/windows/Debug_%/BallisticaKitHeadlessPlus.lib: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/windows/Debug_%/BallisticaKitHeadlessPlus.pdb: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
# Windows server release:
@@ -576,13 +576,13 @@ prefab-windows-x86-server-release-build: prereqs \
build/prefab/full/windows_x86_server/release
build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/windows/Release_%/BallisticaKitHeadlessPlus.lib: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
build/prefab/lib/windows/Release_%/BallisticaKitHeadlessPlus.pdb: .efrocachemap
- @tools/pcommand efrocache_get $@
+ @$(PCOMMANDBATCH) efrocache_get $@
# Tell make which of these targets don't represent files.
.PHONY: prefab-gui-debug prefab-gui-release prefab-gui-debug-build \
diff --git a/ballisticakit-cmake/.idea/dictionaries/ericf.xml b/ballisticakit-cmake/.idea/dictionaries/ericf.xml
index f61aea1a..f3549c9a 100644
--- a/ballisticakit-cmake/.idea/dictionaries/ericf.xml
+++ b/ballisticakit-cmake/.idea/dictionaries/ericf.xml
@@ -1276,6 +1276,7 @@
pbxgrps
pcommandbatch
pcommandbatchbin
+ pcommandbatchfromroot
pcommands
pcommandserver
pdataclass
diff --git a/src/assets/Makefile b/src/assets/Makefile
index 4b1970c0..c097d56c 100644
--- a/src/assets/Makefile
+++ b/src/assets/Makefile
@@ -30,8 +30,10 @@ PCOMMAND = $(TOOLS_DIR)/pcommand
PCOMMANDBATCHBIN := $(PROJ_DIR)/.cache/pcommandbatch/pcommandbatch
ifeq ($(BA_PCOMMANDBATCH_DISABLE),1)
PCOMMANDBATCH = $(TOOLS_DIR)/pcommand
+ PCOMMANDBATCHFROMROOT = tools/pcommand
else
PCOMMANDBATCH = $(PCOMMANDBATCHBIN)
+ PCOMMANDBATCHFROMROOT = .cache/pcommandbatch/pcommandbatch
endif
# High level targets: generally these are what should be used here.
@@ -1757,7 +1759,7 @@ SCRIPT_TARGETS_PYC_PRIVATE_APPLE = \
# Rule to copy src asset scripts to dst.
# (and make non-writable so I'm less likely to accidentally edit them there)
$(SCRIPT_TARGETS_PY_PRIVATE_APPLE) : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
# These are too complex to define in a pattern rule;
# Instead we generate individual targets in a loop.
@@ -2701,7 +2703,7 @@ SCRIPT_TARGETS_PYC_PRIVATE_ANDROID = \
# Rule to copy src asset scripts to dst.
# (and make non-writable so I'm less likely to accidentally edit them there)
$(SCRIPT_TARGETS_PY_PRIVATE_ANDROID) : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
# These are too complex to define in a pattern rule;
# Instead we generate individual targets in a loop.
@@ -2759,7 +2761,7 @@ SCRIPT_TARGETS_PYC_PRIVATE_COMMON = \
# Rule to copy src asset scripts to dst.
# (and make non-writable so I'm less likely to accidentally edit them there)
$(SCRIPT_TARGETS_PY_PRIVATE_COMMON) : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
# These are too complex to define in a pattern rule;
# Instead we generate individual targets in a loop.
@@ -3687,7 +3689,7 @@ SCRIPT_TARGETS_PYC_PRIVATE_WIN_WIN32 = \
# Rule to copy src asset scripts to dst.
# (and make non-writable so I'm less likely to accidentally edit them there)
$(SCRIPT_TARGETS_PY_PRIVATE_WIN_WIN32) : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
# These are too complex to define in a pattern rule;
# Instead we generate individual targets in a loop.
@@ -4615,7 +4617,7 @@ SCRIPT_TARGETS_PYC_PRIVATE_WIN_X64 = \
# Rule to copy src asset scripts to dst.
# (and make non-writable so I'm less likely to accidentally edit them there)
$(SCRIPT_TARGETS_PY_PRIVATE_WIN_X64) : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
# These are too complex to define in a pattern rule;
# Instead we generate individual targets in a loop.
@@ -7290,7 +7292,7 @@ EXTRAS_TARGETS_WIN_WIN32 = \
# Rule to copy src extras to build.
$(EXTRAS_TARGETS_WIN_WIN32) : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
EXTRAS_TARGETS_WIN_X64 = \
@@ -7380,7 +7382,7 @@ EXTRAS_TARGETS_WIN_X64 = \
# Rule to copy src extras to build.
$(EXTRAS_TARGETS_WIN_X64) : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
# __AUTOGENERATED_PRIVATE_END__
@@ -7388,64 +7390,64 @@ ASSET_TARGETS_COMMON_GUI += $(MESH_TARGETS) $(COLLISION_MESH_TARGETS)
ASSET_TARGETS_COMMON_SERVER += $(COLLISION_MESH_TARGETS)
$(BUILD_DIR)/%.bob : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
$(BUILD_DIR)/%.cob : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
$(BUILD_DIR)/%.ogg : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
$(BUILD_DIR)/%.fdata : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
$(BUILD_DIR)/%.pem : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
# Langdata one-off json file.
$(BUILD_DIR)/ba_data/data/langdata.json : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
# Languages json files.
$(BUILD_DIR)/ba_data/data/languages/%.json : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
# Map json files.
$(BUILD_DIR)/ba_data/data/maps/%.json : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
ba_data/%.tex2d.png : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
ba_data/%_+x.tex2d.png : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
ba_data/%_-x.tex2d.png: ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
ba_data/%_+y.tex2d.png: ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
ba_data/%_-y.tex2d.png: ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
ba_data/%_+z.tex2d.png: ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
ba_data/%_-z.tex2d.png: ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
$(BUILD_DIR)/ba_data/%_preview.png : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
$(BUILD_DIR)/%.dds : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
$(BUILD_DIR)/%.pvr : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
$(BUILD_DIR)/%.ktx : ../../.efrocachemap
- @cd ../.. && tools/pcommand efrocache_get src/assets/$@
+ @cd ../.. && $(PCOMMANDBATCHFROMROOT) efrocache_get src/assets/$@
audio: $(AUDIO_TARGETS)
audio-clean:
diff --git a/src/assets/ba_data/python/baenv.py b/src/assets/ba_data/python/baenv.py
index b4602cc8..04bf2e92 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 = 21212
+TARGET_BALLISTICA_BUILD = 21213
TARGET_BALLISTICA_VERSION = '1.7.26'
diff --git a/src/ballistica/shared/ballistica.cc b/src/ballistica/shared/ballistica.cc
index 49a33570..83e3476a 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 = 21212;
+const int kEngineBuildNumber = 21213;
const char* kEngineVersion = "1.7.26";
#if BA_MONOLITHIC_BUILD
diff --git a/tools/efrotools/efrocache.py b/tools/efrotools/efrocache.py
index 9a51b275..723cc493 100644
--- a/tools/efrotools/efrocache.py
+++ b/tools/efrotools/efrocache.py
@@ -264,7 +264,21 @@ def filter_makefile(makefile_dir: str, contents: str) -> str:
cachemap = os.path.join(to_proj_root, CACHE_MAP_NAME)
lines = contents.splitlines()
- pcommand = 'tools/pcommand'
+
+ if makefile_dir == '':
+ # In root makefile just use standard pcommandbatch var.
+ pcommand = '$(PCOMMANDBATCH)'
+ elif makefile_dir == 'src/assets':
+ # Currently efrocache_get needs to be run from project-root so
+ # we can't just use $(PCOMMANDBATCH); need a special from-root
+ # var.
+ pcommand = '$(PCOMMANDBATCHFROMROOT)'
+ elif makefile_dir == 'src/resources':
+ # Not yet enough stuff in resources to justify supporting
+ # pcommandbatch there; sticking with regular for now.
+ pcommand = 'tools/pcommand'
+ else:
+ raise RuntimeError(f"Unsupported makefile_dir: '{makefile_dir}'.")
# Replace cachable targets with cache lookups.
while TARGET_TAG in lines: