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}')