diff --git a/.efrocachemap b/.efrocachemap
index 5d32affb..f2c3716b 100644
--- a/.efrocachemap
+++ b/.efrocachemap
@@ -420,7 +420,7 @@
"assets/build/ba_data/audio/zoeOw.ogg": "https://files.ballistica.net/cache/ba1/dc/d2/160fc27fcaff10793327ac2c70fd",
"assets/build/ba_data/audio/zoePickup01.ogg": "https://files.ballistica.net/cache/ba1/11/7a/87d6bca0acfb877fd4fd8fe3a598",
"assets/build/ba_data/audio/zoeScream01.ogg": "https://files.ballistica.net/cache/ba1/44/f5/c943c9075abb3e1835d2408a1ef8",
- "assets/build/ba_data/data/langdata.json": "https://files.ballistica.net/cache/ba1/c0/d4/7c3ce60ba5575ccc675250ce2072",
+ "assets/build/ba_data/data/langdata.json": "https://files.ballistica.net/cache/ba1/08/52/9dffb3f4f693b49ecf20827f1f4d",
"assets/build/ba_data/data/languages/arabic.json": "https://files.ballistica.net/cache/ba1/ec/97/713007418488dd543cf6edcdd9d2",
"assets/build/ba_data/data/languages/belarussian.json": "https://files.ballistica.net/cache/ba1/61/03/89070ca765e06da3a419a579f503",
"assets/build/ba_data/data/languages/chinese.json": "https://files.ballistica.net/cache/ba1/17/21/7b6371bde52392eb4a38e7c6d55a",
@@ -3995,26 +3995,26 @@
"assets/src/ba_data/python/ba/_generated/__init__.py": "https://files.ballistica.net/cache/ba1/ee/e8/cad05aa531c7faf7ff7b96db7f6e",
"assets/src/ba_data/python/ba/_generated/enums.py": "https://files.ballistica.net/cache/ba1/b2/e5/0ee0561e16257a32830645239f34",
"ballisticacore-windows/Generic/BallisticaCore.ico": "https://files.ballistica.net/cache/ba1/89/c0/e32c7d2a35dc9aef57cc73b0911a",
- "build/prefab/full/linux_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/90/73/dff1b4d85ea98db0c8b4ff78c020",
- "build/prefab/full/linux_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/98/bf/81733f92722fd5e83f6214c132f0",
- "build/prefab/full/linux_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/2b/32/3e99bc4cfaed354e57fcb4a3dd40",
- "build/prefab/full/linux_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/40/20/5f960eb9ba935361c59820e8ef04",
- "build/prefab/full/linux_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/3a/10/f54b1434f7a47848b10678bd4d09",
- "build/prefab/full/linux_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/1f/fa/5c91c8e326b84f612a5fb883225b",
- "build/prefab/full/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/0d/9d/ed68633a0c217a6d1b99fcef5549",
- "build/prefab/full/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/49/ae/301143ae1da54f68939cc9a80f2d",
- "build/prefab/full/mac_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/5e/72/2c065e7cc4abdb01752097ba0e26",
- "build/prefab/full/mac_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/a1/94/8e2ad739dff57e219ad501f5ccbd",
- "build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/3f/98/1a86545870f974601141e2f0b4ed",
- "build/prefab/full/mac_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/48/80/76ed52b9a122ced54a4b211ca6a2",
- "build/prefab/full/mac_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/fd/a7/e4a7a1c96a8a1319236172863fbf",
- "build/prefab/full/mac_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/66/53/92a38158e765e3edb42f6b725da0",
- "build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/73/32/e772b962f0ec33f73f4a60173fb6",
- "build/prefab/full/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/94/a5/257b9a3be63c7e532726f7a0280a",
- "build/prefab/full/windows_x86_gui/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/71/c7/7011fe1fb42a056e2038ae2fb013",
- "build/prefab/full/windows_x86_gui/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/5a/a3/3758255ad3e589757f831ec00e07",
- "build/prefab/full/windows_x86_server/debug/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/ba/95/b3baaf2f97a891041efaa3b275b2",
- "build/prefab/full/windows_x86_server/release/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/f8/8d/0111d89d59b3a280c61b515b248a",
+ "build/prefab/full/linux_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/5b/33/a62a93bc4a81f876e301e56c81b7",
+ "build/prefab/full/linux_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/0f/8c/45c7f5518547c89283b5d6b0c3b2",
+ "build/prefab/full/linux_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/06/4e/69ecb67d009ee60e1437f4f02466",
+ "build/prefab/full/linux_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/6b/b3/88f177529acd96e3d8f11bc66162",
+ "build/prefab/full/linux_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/d9/c2/83c68259668358739a8e7682d0f3",
+ "build/prefab/full/linux_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/24/6c/3aa64e52f6153a9e2f8e95a4eaf0",
+ "build/prefab/full/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/b6/98/45d21f3957f14f632f2acc35ee5d",
+ "build/prefab/full/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/d0/42/a660641c97acf8940b1e8115ef34",
+ "build/prefab/full/mac_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/50/c8/0eb656740e71d10947ecaae9acf1",
+ "build/prefab/full/mac_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/48/f8/ebeb13e6290e1c645f8a9d8db09b",
+ "build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/1e/ca/7605833881564fa705a44ee51741",
+ "build/prefab/full/mac_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/9a/73/da84d7e0a9b0ff89a3680c26d8b3",
+ "build/prefab/full/mac_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/ae/d5/008a9a8316864302d7a510d2da1f",
+ "build/prefab/full/mac_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/9a/bb/8aa6e8235c5d2699053761ca8ed3",
+ "build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/b2/fe/3a94ad768cbfe5678e3d9e94d378",
+ "build/prefab/full/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/b2/af/01e29f78db80985f30a268dca156",
+ "build/prefab/full/windows_x86_gui/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/2f/aa/8544e974154cb1484fcc7f7b57d1",
+ "build/prefab/full/windows_x86_gui/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/55/5a/fa75e05b938339b0f9972c1b638b",
+ "build/prefab/full/windows_x86_server/debug/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/ca/3e/4e7dc39ea9a9c41cc37c2a69dcc7",
+ "build/prefab/full/windows_x86_server/release/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/60/00/d8a4327c9a31e3cda0a26f894339",
"build/prefab/lib/linux_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/13/6a/baff53fa7c286e51469b0b32f05b",
"build/prefab/lib/linux_arm64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/57/24/9f56b62f3d49ffcab8813e155311",
"build/prefab/lib/linux_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/db/15/191884a40ea1128a47058b19da6b",
@@ -4031,14 +4031,14 @@
"build/prefab/lib/mac_x86_64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/a6/4a/1fb1e55d6e5961857da796af7c66",
"build/prefab/lib/mac_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/a9/51/5d52fb26d08ff1fa6dca5da9aaf4",
"build/prefab/lib/mac_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/08/d6/59928c3bd2de09e1d5ae5c17a2ab",
- "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/f0/74/fc8119e4d879f7b45b82dcd1f37e",
- "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/3c/e4/da0ba06a88ace208aabdddf51985",
- "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/a9/b9/ae7838bd710235cfcdc56579088f",
- "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/65/ae/6b7c3104991cf230c112ad168dff",
- "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/fe/81/a0d489dbe968aa7bfb35a9e81a77",
- "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/c4/dc/394f935980d7e153db831c26f40e",
- "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/af/8e/4833f1d32a815c309b683f6fb848",
- "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/24/b7/b67b8d121ac363c3e9ac6b0a03f3",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/3a/0e/978f680ba98473fa74cecc58457a",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/1a/a8/e9c7d8711fb299aeecdc2a808f05",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/42/4a/ec3b4944797cfda41d8d4c0a11f3",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/ae/55/9dff46d65c906ad8041f3b09abbd",
+ "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/75/7c/f868b302fc40d61c8c393a7851af",
+ "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/df/ad/783e11016c08f4faff4c2fa8a00d",
+ "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/e6/9e/dd58c9265f19d139d58bb8562fe4",
+ "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/df/00/488c6990bfba87a07d668f6755c2",
"src/ballistica/generated/python_embedded/binding.inc": "https://files.ballistica.net/cache/ba1/7d/3e/229a581cb2454ed856f1d8b564a7",
"src/ballistica/generated/python_embedded/bootstrap.inc": "https://files.ballistica.net/cache/ba1/d3/db/e73d4dcf1280d5f677c3cf8b47c3"
}
\ No newline at end of file
diff --git a/.idea/dictionaries/ericf.xml b/.idea/dictionaries/ericf.xml
index 93067d86..23c9a6dc 100644
--- a/.idea/dictionaries/ericf.xml
+++ b/.idea/dictionaries/ericf.xml
@@ -1553,6 +1553,7 @@
mpath
mrmaxmeier
msbuild
+ msconfig
msgdict
msgfull
msgid
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 69cbda15..adc69576 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,4 @@
-### 1.7.7 (build 20692, api 7, 2022-08-17)
+### 1.7.7 (build 20694, api 7, 2022-08-21)
- added `ba.app.meta.load_exported_classes()` for loading classes discovered by the meta subsystem cleanly in a background thread
- improved logging of missing playlist game types
- some ba.Lstr functionality can now be used in background threads
diff --git a/ballisticacore-cmake/.idea/dictionaries/ericf.xml b/ballisticacore-cmake/.idea/dictionaries/ericf.xml
index a13e3a39..44ff61e1 100644
--- a/ballisticacore-cmake/.idea/dictionaries/ericf.xml
+++ b/ballisticacore-cmake/.idea/dictionaries/ericf.xml
@@ -789,6 +789,7 @@
moreso
mqrspec
msaa
+ msconfig
msgdict
msgfull
msgid
diff --git a/src/ballistica/ballistica.cc b/src/ballistica/ballistica.cc
index 552d02e9..a6208606 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 modify them here.
-const int kAppBuildNumber = 20692;
+const int kAppBuildNumber = 20694;
const char* kAppVersion = "1.7.7";
// Our standalone globals.
diff --git a/tools/batools/project.py b/tools/batools/project.py
index 8d8dcf3d..8b7dd96b 100755
--- a/tools/batools/project.py
+++ b/tools/batools/project.py
@@ -85,6 +85,7 @@ class Updater:
self._check_makefiles()
self._check_python_files()
self._check_sync_states()
+ self._check_misc()
self._find_sources_and_headers('src/ballistica')
@@ -613,17 +614,30 @@ class Updater:
self._source_files = sorted(src_files)
self._header_files = sorted(header_files)
+ def _check_misc(self) -> None:
+ # Misc sanity checks.
+ if not self._public:
+ # Make sure we're set to prod master server.
+ with open('src/ballistica/networking/master_server_config.h',
+ encoding='utf-8') as infile:
+ msconfig = infile.read()
+ if ('// V2 Master Server:\n'
+ '\n'
+ '// PROD\n'
+ '#if 1\n') not in msconfig:
+ raise CleanError('Not using prod v2 master server.')
+
def _check_sync_states(self) -> None:
# Make sure none of our sync targets have been mucked with since
# their last sync.
- if os.system('tools/pcommand sync check') != 0:
- print(Clr.RED + 'Sync check failed; you may need to run "sync".' +
- Clr.RST)
- sys.exit(255)
+ if (subprocess.run(['tools/pcommand', 'sync', 'check'],
+ check=False).returncode != 0):
+ raise CleanError('Sync check failed; you may need to run "sync".')
def _update_assets_makefile(self) -> None:
- if os.system(f'tools/pcommand update_assets_makefile {self._checkarg}'
- ) != 0:
+ if (subprocess.run(
+ ['tools/pcommand', 'update_assets_makefile', self._checkarg],
+ check=False).returncode != 0):
print(
f'{Clr.RED}Error checking/updating assets Makefile.{Clr.RST}')
sys.exit(255)