From 2dce23612a133276473aa27045633e7b64e05452 Mon Sep 17 00:00:00 2001 From: Eric Froemling Date: Sat, 15 Feb 2020 20:57:48 -0800 Subject: [PATCH] Syncing latest changes between public/private. --- .idea/dictionaries/ericf.xml | 1 + assets/src/ba_data/python/bacommon/assets.py | 18 +++++++++++------- docs/ba_module.md | 4 ++-- tools/bacloud | 4 ++++ 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/.idea/dictionaries/ericf.xml b/.idea/dictionaries/ericf.xml index 1ac74fd7..62eb1eb3 100644 --- a/.idea/dictionaries/ericf.xml +++ b/.idea/dictionaries/ericf.xml @@ -86,6 +86,7 @@ assetbundle assetcache assetdata + assetfiles assetpack assetpackage assetpackput diff --git a/assets/src/ba_data/python/bacommon/assets.py b/assets/src/ba_data/python/bacommon/assets.py index 947ad94f..5bccb228 100644 --- a/assets/src/ba_data/python/bacommon/assets.py +++ b/assets/src/ba_data/python/bacommon/assets.py @@ -48,15 +48,9 @@ class AssetType(Enum): DATA = 'data' -class AssetInfo(entity.CompoundValue): - """Info for a specific asset file in a package.""" - filehash = entity.Field('h', entity.StringValue()) - fileext = entity.Field('e', entity.StringValue()) - - class AssetPackageFlavorManifestValue(entity.CompoundValue): """A manifest of asset info for a specific flavor of an asset package.""" - assets = entity.CompoundDictField('a', str, AssetInfo()) + assetfiles = entity.DictField('assetfiles', str, entity.StringValue()) class AssetPackageFlavorManifest(entity.EntityMixin, @@ -66,4 +60,14 @@ class AssetPackageFlavorManifest(entity.EntityMixin, class AssetPackageBuildState(entity.Entity): """Contains info about an in-progress asset cloud build.""" + + # Asset names still being built. in_progress_builds = entity.ListField('b', entity.StringValue()) + + # The initial number of assets needing to be built. + initial_build_count = entity.Field('c', entity.IntValue()) + + # Build error string. If this is present, it should be presented + # to the user and they should required to explicitly restart the build + # in some way if desired. + error = entity.Field('e', entity.OptionalStringValue()) diff --git a/docs/ba_module.md b/docs/ba_module.md index 1719ffc2..e1b77c31 100644 --- a/docs/ba_module.md +++ b/docs/ba_module.md @@ -1,6 +1,6 @@ - -

last updated on 2020-02-05 for Ballistica version 1.5.0 build 20001

+ +

last updated on 2020-02-15 for Ballistica version 1.5.0 build 20001

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/tools/bacloud b/tools/bacloud index a8588ed8..5e816fa9 100755 --- a/tools/bacloud +++ b/tools/bacloud @@ -416,6 +416,10 @@ class App: if __name__ == '__main__': try: App().run() + except KeyboardInterrupt: + # Let's do a clean fail on keyboard interrupt. + # Can make this optional if a backtrace is ever useful.. + sys.exit(-1) except CleanError as exc: if str(exc): print(f'{CLRRED}{exc}{CLREND}')