mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-01-29 18:53:22 +08:00
misc bug fixes and polishing
This commit is contained in:
parent
6fef723cf3
commit
9d50c491b6
@ -420,21 +420,21 @@
|
||||
"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/08/f4/15b670652c536067374b14a0097c",
|
||||
"assets/build/ba_data/data/langdata.json": "https://files.ballistica.net/cache/ba1/c4/e7/432f66c84194bd6d04ecc485e308",
|
||||
"assets/build/ba_data/data/languages/arabic.json": "https://files.ballistica.net/cache/ba1/4c/fd/67a9dcdecb85dbaf549a8fbbdc78",
|
||||
"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/32/a7/b9208ab804dfe2d1c3960256e9f8",
|
||||
"assets/build/ba_data/data/languages/chinesetraditional.json": "https://files.ballistica.net/cache/ba1/61/e6/caf06ce99017fdf5d2da0c038445",
|
||||
"assets/build/ba_data/data/languages/croatian.json": "https://files.ballistica.net/cache/ba1/28/46/3a36628a033da4d4b4ea65b78a28",
|
||||
"assets/build/ba_data/data/languages/croatian.json": "https://files.ballistica.net/cache/ba1/f5/d4/683ef2d47b669e5f177bc1ae4ff0",
|
||||
"assets/build/ba_data/data/languages/czech.json": "https://files.ballistica.net/cache/ba1/87/84/9f3d39610453b3bf350698a23316",
|
||||
"assets/build/ba_data/data/languages/danish.json": "https://files.ballistica.net/cache/ba1/3f/46/e4da3c1d2b0ebf916df55c608b28",
|
||||
"assets/build/ba_data/data/languages/dutch.json": "https://files.ballistica.net/cache/ba1/68/93/da8e9874f41a786edf52ba4ccaad",
|
||||
"assets/build/ba_data/data/languages/english.json": "https://files.ballistica.net/cache/ba1/e2/7e/d09eefebb683de87d3845f1f74f4",
|
||||
"assets/build/ba_data/data/languages/english.json": "https://files.ballistica.net/cache/ba1/b9/72/96f5843dffe76fd16fa691845497",
|
||||
"assets/build/ba_data/data/languages/esperanto.json": "https://files.ballistica.net/cache/ba1/4c/c7/0184b8178869d1a3827a1bfcd5bb",
|
||||
"assets/build/ba_data/data/languages/filipino.json": "https://files.ballistica.net/cache/ba1/4b/f2/6b17381862e41b3be7ddce5d296d",
|
||||
"assets/build/ba_data/data/languages/filipino.json": "https://files.ballistica.net/cache/ba1/f8/ac/ade62ff2a8c13550f56c918d55fb",
|
||||
"assets/build/ba_data/data/languages/french.json": "https://files.ballistica.net/cache/ba1/b6/e0/37dd30b686f475733ccc4b3cab49",
|
||||
"assets/build/ba_data/data/languages/german.json": "https://files.ballistica.net/cache/ba1/c0/26/04875251b9237f3133c84a910afd",
|
||||
"assets/build/ba_data/data/languages/gibberish.json": "https://files.ballistica.net/cache/ba1/f9/c2/d9889ac09067d7f073f5ee005740",
|
||||
"assets/build/ba_data/data/languages/gibberish.json": "https://files.ballistica.net/cache/ba1/6b/f3/5ca25b080c7f04403ffd1c918787",
|
||||
"assets/build/ba_data/data/languages/greek.json": "https://files.ballistica.net/cache/ba1/82/eb/37ff44af76812097f9c98f05c730",
|
||||
"assets/build/ba_data/data/languages/hindi.json": "https://files.ballistica.net/cache/ba1/08/3b/68cea4d16f7020d932829af85323",
|
||||
"assets/build/ba_data/data/languages/hungarian.json": "https://files.ballistica.net/cache/ba1/b0/48/e1ebe08bfdfc94fcb61a16b851e5",
|
||||
@ -443,18 +443,18 @@
|
||||
"assets/build/ba_data/data/languages/korean.json": "https://files.ballistica.net/cache/ba1/07/37/ab65ccee3a555bd40e9661860c58",
|
||||
"assets/build/ba_data/data/languages/persian.json": "https://files.ballistica.net/cache/ba1/02/ab/e310f81582b6dc2ae93348d45166",
|
||||
"assets/build/ba_data/data/languages/polish.json": "https://files.ballistica.net/cache/ba1/76/be/84e567de0aabd9f9145b62179c2c",
|
||||
"assets/build/ba_data/data/languages/portuguese.json": "https://files.ballistica.net/cache/ba1/26/41/f1246ab56c6b7853f605c3a95889",
|
||||
"assets/build/ba_data/data/languages/portuguese.json": "https://files.ballistica.net/cache/ba1/e2/cd/8738b4ac572fc3f98714a4a4be67",
|
||||
"assets/build/ba_data/data/languages/romanian.json": "https://files.ballistica.net/cache/ba1/c9/5c/ccbae41f2baa11599563b4aabe00",
|
||||
"assets/build/ba_data/data/languages/russian.json": "https://files.ballistica.net/cache/ba1/8c/a7/1dea3643720ced9fa40a0b3d1add",
|
||||
"assets/build/ba_data/data/languages/serbian.json": "https://files.ballistica.net/cache/ba1/13/19/828be486951be254445263f36c6e",
|
||||
"assets/build/ba_data/data/languages/slovak.json": "https://files.ballistica.net/cache/ba1/f9/4b/d9f01814224066856695452ef57c",
|
||||
"assets/build/ba_data/data/languages/spanish.json": "https://files.ballistica.net/cache/ba1/b3/a3/3e1befdc621a503219fa78ba6d8b",
|
||||
"assets/build/ba_data/data/languages/swedish.json": "https://files.ballistica.net/cache/ba1/91/0a/35c4baf539d5951fc03a794c0e0b",
|
||||
"assets/build/ba_data/data/languages/tamil.json": "https://files.ballistica.net/cache/ba1/16/8f/30ba7e59d25748b76af1743a5686",
|
||||
"assets/build/ba_data/data/languages/tamil.json": "https://files.ballistica.net/cache/ba1/75/b3/c344f382251cb7e696bedb712421",
|
||||
"assets/build/ba_data/data/languages/thai.json": "https://files.ballistica.net/cache/ba1/9d/51/f699dbd4beb88bc3cff699a287a7",
|
||||
"assets/build/ba_data/data/languages/turkish.json": "https://files.ballistica.net/cache/ba1/6f/2e/20bed8fefb23ca42c18a7b6c75b2",
|
||||
"assets/build/ba_data/data/languages/ukrainian.json": "https://files.ballistica.net/cache/ba1/7f/bb/6239adeb551be5e09f3457d7b411",
|
||||
"assets/build/ba_data/data/languages/venetian.json": "https://files.ballistica.net/cache/ba1/e2/e1/b815d9f2e9b2c3a4daddaf728225",
|
||||
"assets/build/ba_data/data/languages/venetian.json": "https://files.ballistica.net/cache/ba1/d9/97/e3ec72c08fcaeb2f69569c20f085",
|
||||
"assets/build/ba_data/data/languages/vietnamese.json": "https://files.ballistica.net/cache/ba1/f2/af/afd1503c7a10cacaa15bc02369b2",
|
||||
"assets/build/ba_data/data/maps/big_g.json": "https://files.ballistica.net/cache/ba1/47/0a/a617cc85d927b576c4e6fc1091ed",
|
||||
"assets/build/ba_data/data/maps/bridgit.json": "https://files.ballistica.net/cache/ba1/03/4b/57ee9b42854b26f23f81bd8c58ef",
|
||||
@ -3992,26 +3992,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/15/d2/1a406b0b7e999e8aa662b52d04e9",
|
||||
"build/prefab/full/linux_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/2d/dc/cc6582bcb2eb248dc475c7d4494d",
|
||||
"build/prefab/full/linux_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/3b/1d/6f9bbaaf443e222b479ab5b8a591",
|
||||
"build/prefab/full/linux_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/22/88/b04e74dbc00d435e3a8267c7f602",
|
||||
"build/prefab/full/linux_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/14/31/a8d35d1b4a1cfe687e959e8b5d73",
|
||||
"build/prefab/full/linux_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/f4/5a/d79e44ef4b78c0fd259fd8b145aa",
|
||||
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/0c/51/926b9b9ca55b84db740be8dd811f",
|
||||
"build/prefab/full/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/35/e7/1d06c3c41c7fac2f19d8ddbfb260",
|
||||
"build/prefab/full/mac_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/4e/8e/9fd62508758abc41804ea7483534",
|
||||
"build/prefab/full/mac_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/32/8e/d55d91a23defc5f3dcc9308afc6a",
|
||||
"build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/ab/92/d7e8c5cdda5c6434c7d78a7c725c",
|
||||
"build/prefab/full/mac_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/fc/44/28f780d39db0cd0eaaecdb9c74c8",
|
||||
"build/prefab/full/mac_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/25/89/b1c5f1dffd8e15d1a0dfe34e05e6",
|
||||
"build/prefab/full/mac_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/13/e7/2c15ca0d38d3e6dcf730d3df3073",
|
||||
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/11/8e/da14bd06757a23c8e0839c33925a",
|
||||
"build/prefab/full/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/9f/a5/38b0fc67536dda40901ac518a92a",
|
||||
"build/prefab/full/windows_x86_gui/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/e8/16/88ebb15d93868a5060c77d98c693",
|
||||
"build/prefab/full/windows_x86_gui/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/88/1b/0b5e22fc847f71005add59642d27",
|
||||
"build/prefab/full/windows_x86_server/debug/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/71/15/68af3e30dfc3a5f24551c0562bb4",
|
||||
"build/prefab/full/windows_x86_server/release/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/95/1e/15388f9638f7ceedb2950f8ee48b",
|
||||
"build/prefab/full/linux_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/8c/d5/fba79229deede06e5b031a87157f",
|
||||
"build/prefab/full/linux_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/54/2b/673fa74014cf61159cb54c1108b2",
|
||||
"build/prefab/full/linux_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/17/53/abb7da95eae90b11633c63393818",
|
||||
"build/prefab/full/linux_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/57/aa/75c12cfcd4e3808816ba13209ed1",
|
||||
"build/prefab/full/linux_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/c7/78/e6c34d274e0fe86c5c353e020443",
|
||||
"build/prefab/full/linux_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/94/15/df389e478c6ed7e882eb0d5256b9",
|
||||
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/b4/91/12712fd256f857dc495463946657",
|
||||
"build/prefab/full/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/17/e0/eae88b03b5633ff79c3f6b016c4b",
|
||||
"build/prefab/full/mac_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/82/df/f255e2b59b9088d55b035115e44b",
|
||||
"build/prefab/full/mac_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/d1/30/d2dbc28b610f8b95ef9b3c3ff7c9",
|
||||
"build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/ab/dc/8aff10d5b007669a786605682259",
|
||||
"build/prefab/full/mac_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/e8/86/4c4ca5e324176f2efe1e8fa1b430",
|
||||
"build/prefab/full/mac_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/9b/2b/4fea397239bc255bee521eb1dbb0",
|
||||
"build/prefab/full/mac_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/59/df/34794ec6cef67f9c62d120b1eec0",
|
||||
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/c9/0b/cfbfa79dc9b9647734376d9dcd20",
|
||||
"build/prefab/full/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/14/e6/bbfd8659960b2986cb9610d31d6a",
|
||||
"build/prefab/full/windows_x86_gui/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/b5/96/80efe4c008a59cace8ff8ccdd3bc",
|
||||
"build/prefab/full/windows_x86_gui/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/31/47/ec287452c4a01db5491e89c051d0",
|
||||
"build/prefab/full/windows_x86_server/debug/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/57/84/c6257839b104458099b183b24afd",
|
||||
"build/prefab/full/windows_x86_server/release/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/77/cb/d10b854cfb3dc39f1387563888c2",
|
||||
"build/prefab/lib/linux_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/3f/60/5fb1cb5bd1ee656517914df2eb26",
|
||||
"build/prefab/lib/linux_arm64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/95/92/1bac3bcac3e1f71417b7ff053b52",
|
||||
"build/prefab/lib/linux_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/54/55/b16bb20de7c3ab30311e73707e17",
|
||||
|
||||
@ -1,3 +1,12 @@
|
||||
### 1.7.3 (20623, 2022-06-30)
|
||||
- Fixed an issue with King of the Hill flag regions not working when players entered them (Thanks itsre3!)
|
||||
- Fixed an issue in Chosen One where the flag resetting on top of a player would not cause them to become the chosen one (Thanks Dliwk!)
|
||||
- Fixed an issue where triple-bomb powerup would not flash before wearing off (Thanks Juleskie!).
|
||||
- Fixed an issue where syncing workspaces containing large files could error.
|
||||
- Net-testing window now requires you to be signed in instead of giving an error result in that case.
|
||||
- The app now issues a gentle notice if plugins are removed instead of erroring and continuing to look for them on subsequent launches. This makes things much smoother when switching between workspaces or users.
|
||||
- Added new translation entries for Workspace/Plugin stuff.
|
||||
|
||||
### 1.7.2 (20620, 2022-06-25)
|
||||
- Minor fixes in some minigames (Thanks Droopy!)
|
||||
- Fixed a bug preventing 'clients' arg from working in _ba.chatmessage (Thanks imayushsaini!)
|
||||
|
||||
@ -66,6 +66,7 @@ class PluginSubsystem:
|
||||
def load_plugins(self) -> None:
|
||||
"""(internal)"""
|
||||
from ba._general import getclass
|
||||
from ba._language import Lstr
|
||||
|
||||
# Note: the plugins we load is purely based on what's enabled
|
||||
# in the app config. Our meta-scan gives us a list of available
|
||||
@ -76,15 +77,21 @@ class PluginSubsystem:
|
||||
assert isinstance(plugstates, dict)
|
||||
plugkeys: list[str] = sorted(key for key, val in plugstates.items()
|
||||
if val.get('enabled', False))
|
||||
disappeared_plugs: set[str] = set()
|
||||
for plugkey in plugkeys:
|
||||
try:
|
||||
cls = getclass(plugkey, Plugin)
|
||||
except ModuleNotFoundError:
|
||||
disappeared_plugs.add(plugkey)
|
||||
continue
|
||||
except Exception as exc:
|
||||
_ba.playsound(_ba.getsound('error'))
|
||||
# TODO: Lstr.
|
||||
errstr = f"Error loading plugin class '{plugkey}': {exc}"
|
||||
_ba.screenmessage(errstr, color=(1, 0, 0))
|
||||
_ba.log(errstr, to_server=False)
|
||||
_ba.screenmessage(Lstr(resource='pluginClassLoadErrorText',
|
||||
subs=[('${PLUGIN}', plugkey),
|
||||
('${ERROR}', str(exc))]),
|
||||
color=(1, 0, 0))
|
||||
_ba.log(f"Error loading plugin class '{plugkey}': {exc}",
|
||||
to_server=False)
|
||||
continue
|
||||
try:
|
||||
plugin = cls()
|
||||
@ -93,10 +100,29 @@ class PluginSubsystem:
|
||||
except Exception as exc:
|
||||
from ba import _error
|
||||
_ba.playsound(_ba.getsound('error'))
|
||||
# TODO: Lstr.
|
||||
_ba.screenmessage(f"Error loading plugin: '{plugkey}': {exc}",
|
||||
_ba.screenmessage(Lstr(resource='pluginInitErrorText',
|
||||
subs=[('${PLUGIN}', plugkey),
|
||||
('${ERROR}', str(exc))]),
|
||||
color=(1, 0, 0))
|
||||
_error.print_exception(f"Error loading plugin: '{plugkey}'.")
|
||||
_error.print_exception(f"Error initing plugin: '{plugkey}'.")
|
||||
|
||||
# If plugins disappeared, let the user know gently and remove them
|
||||
# from the config so we'll again let the user know if they later
|
||||
# reappear. This makes it much smoother to switch between users
|
||||
# or workspaces.
|
||||
if disappeared_plugs:
|
||||
_ba.playsound(_ba.getsound('shieldDown'))
|
||||
_ba.screenmessage(Lstr(resource='pluginsRemovedText',
|
||||
subs=[('${NUM}',
|
||||
str(len(disappeared_plugs)))]),
|
||||
color=(1, 1, 0))
|
||||
_ba.log(
|
||||
f'{len(disappeared_plugs)} plugin(s) no longer found:'
|
||||
f' {disappeared_plugs}',
|
||||
to_server=False)
|
||||
for goneplug in disappeared_plugs:
|
||||
del _ba.app.config['Plugins'][goneplug]
|
||||
_ba.app.config.commit()
|
||||
|
||||
|
||||
@dataclass
|
||||
|
||||
@ -52,17 +52,17 @@ class WorkspaceSubsystem:
|
||||
daemon=True,
|
||||
).start()
|
||||
|
||||
def _errmsg(self, msg: str | ba.Lstr) -> None:
|
||||
def _errmsg(self, msg: ba.Lstr) -> None:
|
||||
_ba.screenmessage(msg, color=(1, 0, 0))
|
||||
_ba.playsound(_ba.getsound('error'))
|
||||
|
||||
def _successmsg(self, msg: str | ba.Lstr) -> None:
|
||||
def _successmsg(self, msg: ba.Lstr) -> None:
|
||||
_ba.screenmessage(msg, color=(0, 1, 0))
|
||||
_ba.playsound(_ba.getsound('gunCocking'))
|
||||
|
||||
def _set_active_workspace_bg(self, workspaceid: str, workspacename: str,
|
||||
on_completed: Callable[[], None]) -> None:
|
||||
# pylint: disable=too-many-branches
|
||||
from ba._language import Lstr
|
||||
|
||||
class _SkipSyncError(RuntimeError):
|
||||
pass
|
||||
@ -101,45 +101,42 @@ class WorkspaceSubsystem:
|
||||
break
|
||||
state.iteration += 1
|
||||
|
||||
extras: list[str] = []
|
||||
# Hmm; let's not show deletes for now since currently lots of
|
||||
# .pyc files get deleted.
|
||||
if bool(False):
|
||||
if state.total_deletes:
|
||||
extras.append(f'{state.total_deletes} files deleted')
|
||||
if state.total_downloads:
|
||||
extras.append(f'{state.total_downloads} files downloaded')
|
||||
if state.total_up_to_date:
|
||||
extras.append(f'{state.total_up_to_date} files up-to-date')
|
||||
# Actually let's try with none of this; seems a bit excessive.
|
||||
if bool(False) and extras:
|
||||
extras_s = '\n' + ', '.join(extras) + '.'
|
||||
else:
|
||||
extras_s = ''
|
||||
_ba.pushcall(tpartial(self._successmsg,
|
||||
f'{workspacename} activated.{extras_s}'),
|
||||
from_other_thread=True)
|
||||
_ba.pushcall(
|
||||
tpartial(
|
||||
self._successmsg,
|
||||
Lstr(resource='activatedText',
|
||||
subs=[('${THING}', workspacename)]),
|
||||
),
|
||||
from_other_thread=True,
|
||||
)
|
||||
|
||||
except _SkipSyncError:
|
||||
_ba.pushcall(tpartial(
|
||||
self._errmsg, f'Can\'t sync {workspacename}'
|
||||
f'. Reusing previous synced version.'),
|
||||
from_other_thread=True)
|
||||
_ba.pushcall(
|
||||
tpartial(
|
||||
self._errmsg,
|
||||
Lstr(resource='workspaceSyncReuseText',
|
||||
subs=[('$WORKSPACE', workspacename)])),
|
||||
from_other_thread=True,
|
||||
)
|
||||
|
||||
except CleanError as exc:
|
||||
# Avoid reusing existing if we fail in the middle; could
|
||||
# be in wonky state.
|
||||
set_path = False
|
||||
_ba.pushcall(tpartial(self._errmsg, str(exc)),
|
||||
_ba.pushcall(tpartial(self._errmsg, Lstr(value=str(exc))),
|
||||
from_other_thread=True)
|
||||
except Exception:
|
||||
# Ditto.
|
||||
set_path = False
|
||||
logging.exception('Error syncing workspace.')
|
||||
# TODO: Lstr.
|
||||
_ba.pushcall(tpartial(
|
||||
self._errmsg, 'Error syncing workspace. See log for details.'),
|
||||
from_other_thread=True)
|
||||
logging.exception("Error syncing workspace '%s'.", workspacename)
|
||||
_ba.pushcall(
|
||||
tpartial(
|
||||
self._errmsg,
|
||||
Lstr(resource='workspaceSyncErrorText',
|
||||
subs=[('${WORKSPACE}', workspacename)]),
|
||||
),
|
||||
from_other_thread=True,
|
||||
)
|
||||
|
||||
if set_path and wspath.is_dir():
|
||||
# Add to Python paths and also to list of stuff to be scanned
|
||||
|
||||
@ -542,6 +542,14 @@ class AdvancedSettingsWindow(ba.Window):
|
||||
|
||||
def _on_net_test_press(self) -> None:
|
||||
from bastd.ui.settings.nettesting import NetTestingWindow
|
||||
|
||||
# Net-testing requires a signed in v1 account.
|
||||
if _ba.get_v1_account_state() != 'signed_in':
|
||||
ba.screenmessage(ba.Lstr(resource='notSignedInErrorText'),
|
||||
color=(1, 0, 0))
|
||||
ba.playsound(ba.getsound('error'))
|
||||
return
|
||||
|
||||
self._save_state()
|
||||
ba.containerwidget(edit=self._root_widget, transition='out_left')
|
||||
ba.app.ui.set_main_menu_window(
|
||||
|
||||
@ -21,8 +21,8 @@
|
||||
namespace ballistica {
|
||||
|
||||
// These are set automatically via script; don't modify them here.
|
||||
const int kAppBuildNumber = 20620;
|
||||
const char* kAppVersion = "1.7.2";
|
||||
const int kAppBuildNumber = 20623;
|
||||
const char* kAppVersion = "1.7.3";
|
||||
|
||||
// Our standalone globals.
|
||||
// These are separated out for easy access.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user