diff --git a/.efrocachemap b/.efrocachemap
index 5cf26acb..f4722a6a 100644
--- a/.efrocachemap
+++ b/.efrocachemap
@@ -4072,50 +4072,50 @@
"build/assets/workspace/ninjafightplug.py": "https://files.ballistica.net/cache/ba1/18/4b/787a9267e17be3c49966072581a5",
"build/assets/workspace/onslaughtplug.py": "https://files.ballistica.net/cache/ba1/20/f6/4ce9bc3c1f3732f6adf8237fbe9b",
"build/assets/workspace/runaroundplug.py": "https://files.ballistica.net/cache/ba1/a5/30/9058181df0b1255bf6950cbc7813",
- "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/0a/46/91ca508cbeed208a843051e2dd44",
- "build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/9d/6d/5c29c1daa7f8d012165cc5850970",
- "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/98/15/6d112a76c2621270eebfa0d41d41",
- "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/b0/29/ffc80f727678230bbf0c423e7297",
- "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/bf/b5/f7463f466d56d60a03f48bd265b5",
- "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/e1/d3/d89d132668d5cbe05125301ef38c",
- "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/bc/c6/461acc367ed90d2b403e1b673b7b",
- "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/58/2c/b047879f403817194bc6f79a0fce",
- "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/bb/ba/c1eeae83b120a59ce9312eda9733",
- "build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/de/12/ea3cc82b1e5960772f87dbe4621f",
- "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/13/d9/b7d57e64e638b6b52075a66348e1",
- "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/42/e5/fe64bd83c2faea45f5ab381a877e",
- "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/e6/69/62730a6181364505dd99d1d5ba35",
- "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/23/4e/81d431d0fcdbb00d15929cb320de",
- "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/15/b8/40e1bf4a69526deda598244ad076",
- "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/06/a8/f647caceb86742fc9c3aa792461b",
- "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/62/b7/bfc41a4dacc93efc06cd66a79a9e",
- "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/2e/1e/71014a4afbb0a51b31f1fe32a7ea",
- "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/06/e7/6a2bc824b3d0779bc6a44b35c385",
- "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/84/f9/7325eb081c11855279a7325f2887",
- "build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/29/dc/e5b08aae2dbe3222082aaa1e90e7",
- "build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/ce/bb/5796a83ce9d1c9cf58e08f3ff351",
- "build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/31/65/014221e46f7974f40aa84c8922dc",
- "build/prefab/lib/linux_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/0f/e4/1ffba67e98b34bb942579fd54399",
- "build/prefab/lib/linux_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/c9/fe/8c2c9da1b65f170dc5166cfb0a57",
- "build/prefab/lib/linux_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/76/39/44dbc143631c3fbe78cc69fe7189",
- "build/prefab/lib/linux_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/48/3c/bd78b3fca0f075757d95e711b2a5",
- "build/prefab/lib/linux_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/78/75/a5c82c3defb6cd85f009632be0a4",
- "build/prefab/lib/mac_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/28/c4/08fe8799b513efcab22dcfb4229b",
- "build/prefab/lib/mac_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/fc/ba/3dbbf48e9406cc20d62fe07c71c5",
- "build/prefab/lib/mac_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/67/e4/c7a43443b97b84b30657bd87503c",
- "build/prefab/lib/mac_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/ff/d3/60c5152b89c1886e6eb3f255d91b",
- "build/prefab/lib/mac_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/6b/5d/d71290f965a080df0503ed815d69",
- "build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/14/4b/68a0ece3c1f191183b695cf45a4d",
- "build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/1f/3f/d899a46cc0dc8bc4f1b38f9318a5",
- "build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/de/99/95fdcb3f614a7b83ada148bca38d",
- "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/4d/7d/3ac86a57c057bc1bcbab947efe8f",
- "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/60/ff/74b3448ddc7d6eef59636bcdc9cf",
- "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/8e/11/0351c34c7802b117a64b1259b803",
- "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/dd/fb/29dac3b226278bda83a0307da6c5",
- "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/ea/0e/d94c51c5073046744f60f97676f0",
- "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/22/99/afc81733059e2a279dcdd7aa1028",
- "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/a8/ff/96cf25517f8dbf517e3307e5cd94",
- "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/ab/12/871570dfcf52950fe64a071fb008",
+ "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/ad/7e/83f18a72f8db11e080f0eca6775d",
+ "build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/0c/cd/aa76966cd05b54aba4e417bbb94b",
+ "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/e2/0f/adf0321b596aea04117647e37de8",
+ "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/07/1a/51820fd5c8cdb9f3fc061d8c8a60",
+ "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/6b/69/ce3bd7fa3924b12baa003d9a10af",
+ "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/c2/9f/f2026401080cc1b6cc726d3fe7e7",
+ "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/36/94/85c6acdc646a34981637db86bfca",
+ "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/3a/e4/751410a3dcb6f6a5acb87fbd1114",
+ "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/56/aa/a4c1463d75fbd19bbee21ea6c31d",
+ "build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/b5/41/40580afdf9c45ecd4d151192c687",
+ "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/f4/2a/cad79bd02bb880f53bba0d52f3ee",
+ "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/11/40/23786a5169b22cd4726c4bb05087",
+ "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/07/85/920b7d847417d6ffd7164d1e944a",
+ "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/cc/d9/c5ed5d11dee05c527bf3bba20e92",
+ "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/c6/d5/c83dec884c6952ef889bbdc59264",
+ "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/9c/5d/dcbdea22e8a328b0803de111d512",
+ "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/ec/5f/552d10de9b7db8ea3d0a1ed044d3",
+ "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/fb/1e/d1b0ecaf8f24b4b510c14f9a499a",
+ "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/10/52/1f1d4083299664d67b75a461525b",
+ "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/d4/48/8d1c651d5a17cb216f1ab58fc35f",
+ "build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/3c/a8/5487ece199be8717cead6de157e3",
+ "build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/9d/71/77a0ae15f3216c51da44ccefeb87",
+ "build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/8c/de/a04c75afaee10276fedbd6dc12dd",
+ "build/prefab/lib/linux_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/c1/45/f2143d53646891111b648a6cc014",
+ "build/prefab/lib/linux_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/4c/0c/2afa4f64c6030ba37cacdb62fb4d",
+ "build/prefab/lib/linux_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/d2/0a/0d4b99f583a4e7a55761c5493c06",
+ "build/prefab/lib/linux_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/5e/ff/b8cd37fe6d5fa5df6a7bc6103ecc",
+ "build/prefab/lib/linux_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/84/e3/815f8ba4a1c0ff4b01e44bd95682",
+ "build/prefab/lib/mac_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/10/98/48262f1e81f07154c28cfec87ee9",
+ "build/prefab/lib/mac_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/6e/97/e8029482a29578a9f6cc15813265",
+ "build/prefab/lib/mac_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/5d/ac/fbe75dcd9f4a4461552cdaf8a3be",
+ "build/prefab/lib/mac_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/94/ec/cce65d8f6f76e240597b073f17e7",
+ "build/prefab/lib/mac_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/a9/15/89ec9af80cf169f837ea6c3c365d",
+ "build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/e1/d8/0949e33c04570cae7dafaf906770",
+ "build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/91/c5/f1c4dcdd2233d6ffc280db77ec99",
+ "build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/20/e5/3b83e186b63a95d704c69a6b5b76",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/fa/57/d5854a0f548c1be91ccc003980cc",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/30/b6/85cbd37ddb822b8acc9c3a66547d",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/83/7c/6934c5c911aad7dde7a896011729",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/c2/85/2e8285d17dbb9d90942c8e440950",
+ "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/76/eb/11133d31ffa6270bf039c2e4a84f",
+ "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/6c/85/74ea0817ca86c89615954cc4a64f",
+ "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/d3/ba/f72af1ac302bff2d0fd86dba2482",
+ "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/cf/0d/288264828076049f9ba3262ab474",
"src/assets/ba_data/python/babase/_mgen/__init__.py": "https://files.ballistica.net/cache/ba1/52/c6/c11130af7b10d6c0321add5518fa",
"src/assets/ba_data/python/babase/_mgen/enums.py": "https://files.ballistica.net/cache/ba1/38/c3/1dedd5e74f2508efc5974c8815a1",
"src/ballistica/base/mgen/pyembed/binding_base.inc": "https://files.ballistica.net/cache/ba1/ea/6a/6a4721b144e5e297b542d2a0eea2",
diff --git a/.idea/dictionaries/ericf.xml b/.idea/dictionaries/ericf.xml
index 226d5142..4f60d122 100644
--- a/.idea/dictionaries/ericf.xml
+++ b/.idea/dictionaries/ericf.xml
@@ -2617,6 +2617,7 @@
softdefault
softreq
somevar
+ sortlines
sortname
soundtrackname
sourceimages
diff --git a/CHANGELOG.md b/CHANGELOG.md
index dcc326f0..d4e1821f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,4 @@
-### 1.7.20 (build 21104, api 8, 2023-06-14)
+### 1.7.20 (build 21105, api 8, 2023-06-14)
- This seems like a good time for a `refactoring` release in anticipation of
changes coming in 1.8. Basically this means that a lot of things will be
diff --git a/ballisticakit-cmake/.idea/dictionaries/ericf.xml b/ballisticakit-cmake/.idea/dictionaries/ericf.xml
index 02fd4c03..3df10246 100644
--- a/ballisticakit-cmake/.idea/dictionaries/ericf.xml
+++ b/ballisticakit-cmake/.idea/dictionaries/ericf.xml
@@ -1512,6 +1512,7 @@
softdefault
softreq
solaris
+ sortlines
sortname
sourcenode
spacecount
diff --git a/src/assets/.asset_manifest_public.json b/src/assets/.asset_manifest_public.json
index 88c8dedb..dc1ee9b5 100644
--- a/src/assets/.asset_manifest_public.json
+++ b/src/assets/.asset_manifest_public.json
@@ -27,7 +27,6 @@
"ba_data/python/babase/__pycache__/_plugin.cpython-311.opt-1.pyc",
"ba_data/python/babase/__pycache__/_text.cpython-311.opt-1.pyc",
"ba_data/python/babase/__pycache__/_workspace.cpython-311.opt-1.pyc",
- "ba_data/python/babase/__pycache__/internal.cpython-311.opt-1.pyc",
"ba_data/python/babase/__pycache__/modutils.cpython-311.opt-1.pyc",
"ba_data/python/babase/_accountv2.py",
"ba_data/python/babase/_app.py",
@@ -58,7 +57,6 @@
"ba_data/python/babase/_plugin.py",
"ba_data/python/babase/_text.py",
"ba_data/python/babase/_workspace.py",
- "ba_data/python/babase/internal.py",
"ba_data/python/babase/modutils.py",
"ba_data/python/baclassic/__init__.py",
"ba_data/python/baclassic/__pycache__/__init__.cpython-311.opt-1.pyc",
diff --git a/src/assets/Makefile b/src/assets/Makefile
index 8f2140ea..06be8139 100644
--- a/src/assets/Makefile
+++ b/src/assets/Makefile
@@ -173,7 +173,6 @@ SCRIPT_TARGETS_PY_PUBLIC = \
$(BUILD_DIR)/ba_data/python/babase/_plugin.py \
$(BUILD_DIR)/ba_data/python/babase/_text.py \
$(BUILD_DIR)/ba_data/python/babase/_workspace.py \
- $(BUILD_DIR)/ba_data/python/babase/internal.py \
$(BUILD_DIR)/ba_data/python/babase/modutils.py \
$(BUILD_DIR)/ba_data/python/baclassic/__init__.py \
$(BUILD_DIR)/ba_data/python/baclassic/_accountv1.py \
@@ -445,7 +444,6 @@ SCRIPT_TARGETS_PYC_PUBLIC = \
$(BUILD_DIR)/ba_data/python/babase/__pycache__/_plugin.cpython-311.opt-1.pyc \
$(BUILD_DIR)/ba_data/python/babase/__pycache__/_text.cpython-311.opt-1.pyc \
$(BUILD_DIR)/ba_data/python/babase/__pycache__/_workspace.cpython-311.opt-1.pyc \
- $(BUILD_DIR)/ba_data/python/babase/__pycache__/internal.cpython-311.opt-1.pyc \
$(BUILD_DIR)/ba_data/python/babase/__pycache__/modutils.cpython-311.opt-1.pyc \
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/__init__.cpython-311.opt-1.pyc \
$(BUILD_DIR)/ba_data/python/baclassic/__pycache__/_accountv1.cpython-311.opt-1.pyc \
diff --git a/src/assets/ba_data/python/babase/__init__.py b/src/assets/ba_data/python/babase/__init__.py
index 79f54ca0..f6baced4 100644
--- a/src/assets/ba_data/python/babase/__init__.py
+++ b/src/assets/ba_data/python/babase/__init__.py
@@ -145,7 +145,7 @@ from babase._mgen.enums import (
)
from babase._math import normalized_color, is_point_in_box, vec3validate
from babase._meta import MetadataSubsystem
-from babase._net import get_ip_address_type
+from babase._net import get_ip_address_type, DEFAULT_REQUEST_TIMEOUT_SECONDS
from babase._plugin import PotentialPlugin, Plugin, PluginSubsystem
from babase._text import timestring
@@ -282,6 +282,7 @@ __all__ = [
'WeakCall',
'WidgetNotFoundError',
'workspaces_in_use',
+ 'DEFAULT_REQUEST_TIMEOUT_SECONDS',
]
# We want stuff to show up as babase.Foo instead of babase._sub.Foo.
diff --git a/src/assets/ba_data/python/babase/internal.py b/src/assets/ba_data/python/babase/internal.py
deleted file mode 100644
index 0a964dc3..00000000
--- a/src/assets/ba_data/python/babase/internal.py
+++ /dev/null
@@ -1,80 +0,0 @@
-# Released under the MIT License. See LICENSE for details.
-#
-"""Exposed functionality not intended for full public use.
-
-Classes and functions contained here, while technically 'public', may change
-or disappear without warning, so should be avoided (or used sparingly and
-defensively).
-"""
-from __future__ import annotations
-
-from _babase import (
- add_clean_frame_callback,
- increment_analytics_count,
- get_string_height,
- get_string_width,
- appnameupper,
- appname,
- workspaces_in_use,
- charstr,
- have_permission,
- request_permission,
- is_xcode_build,
- set_low_level_config_value,
- get_low_level_config_value,
- has_gamma_control,
- get_max_graphics_quality,
- get_display_resolution,
- is_running_on_fire_tv,
- android_get_external_files_dir,
- get_replays_dir,
-)
-
-from babase._login import LoginAdapter
-from babase._appconfig import commit_app_config
-from babase._general import getclass, json_prep, get_type_name
-from babase._apputils import (
- is_browser_likely_available,
- get_remote_app_name,
- should_submit_debug_info,
- dump_app_state,
- log_dumped_app_state,
-)
-from babase._net import (
- get_ip_address_type,
- DEFAULT_REQUEST_TIMEOUT_SECONDS,
-)
-
-__all__ = [
- 'LoginAdapter',
- 'add_clean_frame_callback',
- 'increment_analytics_count',
- 'get_string_height',
- 'get_string_width',
- 'appnameupper',
- 'appname',
- 'workspaces_in_use',
- 'charstr',
- 'have_permission',
- 'request_permission',
- 'is_xcode_build',
- 'set_low_level_config_value',
- 'get_low_level_config_value',
- 'has_gamma_control',
- 'get_max_graphics_quality',
- 'get_display_resolution',
- 'is_running_on_fire_tv',
- 'android_get_external_files_dir',
- 'get_replays_dir',
- 'commit_app_config',
- 'getclass',
- 'json_prep',
- 'get_type_name',
- 'is_browser_likely_available',
- 'get_remote_app_name',
- 'should_submit_debug_info',
- 'get_ip_address_type',
- 'DEFAULT_REQUEST_TIMEOUT_SECONDS',
- 'dump_app_state',
- 'log_dumped_app_state',
-]
diff --git a/src/assets/ba_data/python/baclassic/_net.py b/src/assets/ba_data/python/baclassic/_net.py
index 0eaece13..4d339075 100644
--- a/src/assets/ba_data/python/baclassic/_net.py
+++ b/src/assets/ba_data/python/baclassic/_net.py
@@ -10,7 +10,7 @@ from enum import Enum
from typing import TYPE_CHECKING
import babase
-from babase.internal import DEFAULT_REQUEST_TIMEOUT_SECONDS
+from babase import DEFAULT_REQUEST_TIMEOUT_SECONDS
import bascenev1
if TYPE_CHECKING:
diff --git a/src/assets/ba_data/python/baenv.py b/src/assets/ba_data/python/baenv.py
index 491c73b9..8ffcf6ac 100644
--- a/src/assets/ba_data/python/baenv.py
+++ b/src/assets/ba_data/python/baenv.py
@@ -28,7 +28,7 @@ if TYPE_CHECKING:
# Build number and version of the ballistica binary we expect to be
# using.
-TARGET_BALLISTICA_BUILD = 21104
+TARGET_BALLISTICA_BUILD = 21105
TARGET_BALLISTICA_VERSION = '1.7.20'
_g_env_config: EnvConfig | None = None
diff --git a/src/assets/ba_data/python/bascenev1/__init__.py b/src/assets/ba_data/python/bascenev1/__init__.py
index 57be130b..18f038bc 100644
--- a/src/assets/ba_data/python/bascenev1/__init__.py
+++ b/src/assets/ba_data/python/bascenev1/__init__.py
@@ -1,6 +1,6 @@
# Released under the MIT License. See LICENSE for details.
#
-"""Ballistica Scene Version 1"""
+"""Ballistica scene api version 1. Basically all gameplay related code."""
# ba_meta require api 8
@@ -19,42 +19,42 @@ import logging
from efro.util import set_canonical_module_names
from babase import (
app,
- ContextRef,
- lock_all_input,
- unlock_all_input,
- fade_screen,
- safecolor,
- pushcall,
- Vec3,
- increment_analytics_count,
- set_analytics_screen,
- apptime,
- apptimer,
- AppTimer,
- displaytime,
- displaytimer,
- DisplayTimer,
- Plugin,
AppIntent,
AppIntentDefault,
AppIntentExec,
AppMode,
- NotFoundError,
- NodeNotFoundError,
- ContextError,
- Lstr,
- WeakCall,
- Call,
- storagename,
- existing,
+ apptime,
AppTime,
+ apptimer,
+ AppTimer,
+ Call,
+ ContextError,
+ ContextRef,
+ displaytime,
DisplayTime,
- is_point_in_box,
- normalized_color,
- timestring,
+ displaytimer,
+ DisplayTimer,
+ existing,
+ fade_screen,
get_remote_app_name,
- UIScale,
+ increment_analytics_count,
InputType,
+ is_point_in_box,
+ lock_all_input,
+ Lstr,
+ NodeNotFoundError,
+ normalized_color,
+ NotFoundError,
+ Plugin,
+ pushcall,
+ safecolor,
+ set_analytics_screen,
+ storagename,
+ timestring,
+ UIScale,
+ unlock_all_input,
+ Vec3,
+ WeakCall,
)
from _bascenev1 import (
diff --git a/src/assets/ba_data/python/bascenev1lib/__init__.py b/src/assets/ba_data/python/bascenev1lib/__init__.py
index 17c4007c..4e8f5377 100644
--- a/src/assets/ba_data/python/bascenev1lib/__init__.py
+++ b/src/assets/ba_data/python/bascenev1lib/__init__.py
@@ -1,5 +1,5 @@
# Released under the MIT License. See LICENSE for details.
#
-"""Ballistica standard library: games, UI, etc."""
+"""Library of stuff using the bascenev1 api: games, actors, etc."""
# ba_meta require api 8
diff --git a/src/assets/ba_data/python/bascenev1lib/activity/__init__.py b/src/assets/ba_data/python/bascenev1lib/activity/__init__.py
index 867b1714..116df32a 100644
--- a/src/assets/ba_data/python/bascenev1lib/activity/__init__.py
+++ b/src/assets/ba_data/python/bascenev1lib/activity/__init__.py
@@ -1 +1,2 @@
# Released under the MIT License. See LICENSE for details.
+"""Our lovely collection of activity related modules."""
diff --git a/src/assets/ba_data/python/bascenev1lib/actor/__init__.py b/src/assets/ba_data/python/bascenev1lib/actor/__init__.py
index 867b1714..0bba6159 100644
--- a/src/assets/ba_data/python/bascenev1lib/actor/__init__.py
+++ b/src/assets/ba_data/python/bascenev1lib/actor/__init__.py
@@ -1 +1,2 @@
# Released under the MIT License. See LICENSE for details.
+"""Our lovely collection of actor related modules."""
diff --git a/src/assets/ba_data/python/bascenev1lib/actor/tipstext.py b/src/assets/ba_data/python/bascenev1lib/actor/tipstext.py
index a462a3ac..83c4f2d7 100644
--- a/src/assets/ba_data/python/bascenev1lib/actor/tipstext.py
+++ b/src/assets/ba_data/python/bascenev1lib/actor/tipstext.py
@@ -68,7 +68,7 @@ class TipsText(bs.Actor):
def change_phrase(self) -> None:
"""Switch the visible tip phrase."""
- from babase.internal import get_remote_app_name
+ from babase import get_remote_app_name
next_tip = babase.Lstr(
translate=(
diff --git a/src/assets/ba_data/python/bascenev1lib/game/__init__.py b/src/assets/ba_data/python/bascenev1lib/game/__init__.py
index 867b1714..c1951104 100644
--- a/src/assets/ba_data/python/bascenev1lib/game/__init__.py
+++ b/src/assets/ba_data/python/bascenev1lib/game/__init__.py
@@ -1 +1,2 @@
# Released under the MIT License. See LICENSE for details.
+"""Our lovely collection of game related modules."""
diff --git a/src/assets/ba_data/python/batemplatefs/__init__.py b/src/assets/ba_data/python/batemplatefs/__init__.py
index 6c4ddda3..387a84de 100644
--- a/src/assets/ba_data/python/batemplatefs/__init__.py
+++ b/src/assets/ba_data/python/batemplatefs/__init__.py
@@ -1,6 +1,6 @@
# Released under the MIT License. See LICENSE for details.
#
-"""Ballistica Template Feature Set"""
+"""Ballistica Template Feature Set - just an example."""
# ba_meta require api 8
diff --git a/src/assets/ba_data/python/bauiv1/__init__.py b/src/assets/ba_data/python/bauiv1/__init__.py
index e01fbf20..418e1d2c 100644
--- a/src/assets/ba_data/python/bauiv1/__init__.py
+++ b/src/assets/ba_data/python/bauiv1/__init__.py
@@ -1,6 +1,6 @@
# Released under the MIT License. See LICENSE for details.
#
-"""Ballistica UI Version 1"""
+"""Ballistica user interface api version 1"""
# ba_meta require api 8
@@ -18,100 +18,101 @@ import logging
from efro.util import set_canonical_module_names
from babase import (
- get_display_resolution,
- get_max_graphics_quality,
add_clean_frame_callback,
- has_gamma_control,
- get_string_width,
- get_string_height,
- set_analytics_screen,
- is_xcode_build,
- get_low_level_config_value,
- set_low_level_config_value,
- have_permission,
- request_permission,
- workspaces_in_use,
- increment_analytics_count,
- get_replays_dir,
- is_running_on_fire_tv,
- set_ui_input_device,
- fade_screen,
- apptime,
- apptimer,
- AppTimer,
- displaytime,
- displaytimer,
- DisplayTimer,
- in_logic_thread,
- appname,
- appnameupper,
- clipboard_set_text,
- clipboard_is_supported,
- lock_all_input,
- unlock_all_input,
- safecolor,
- quit,
- charstr,
- pushcall,
- ContextRef,
app,
AppIntent,
AppIntentDefault,
AppIntentExec,
AppMode,
- Call,
- WeakCall,
+ appname,
+ appnameupper,
+ apptime,
AppTime,
- DisplayTime,
- screenmessage,
- Lstr,
- PotentialPlugin,
- Plugin,
- do_once,
- Keyboard,
+ apptimer,
+ AppTimer,
+ Call,
+ charstr,
+ clipboard_is_supported,
+ clipboard_set_text,
commit_app_config,
+ ContextRef,
+ displaytime,
+ DisplayTime,
+ displaytimer,
+ DisplayTimer,
+ do_once,
+ fade_screen,
+ get_display_resolution,
get_ip_address_type,
- getclass,
- get_type_name,
- Permission,
- UIScale,
- SpecialChar,
- NotFoundError,
- timestring,
- LoginAdapter,
+ get_low_level_config_value,
+ get_max_graphics_quality,
get_remote_app_name,
+ get_replays_dir,
+ get_string_height,
+ get_string_width,
+ get_type_name,
+ getclass,
+ has_gamma_control,
+ have_permission,
+ in_logic_thread,
+ increment_analytics_count,
is_browser_likely_available,
+ is_running_on_fire_tv,
+ is_xcode_build,
+ Keyboard,
+ lock_all_input,
+ LoginAdapter,
+ Lstr,
+ NotFoundError,
+ Permission,
+ Plugin,
+ PotentialPlugin,
+ pushcall,
+ quit,
+ request_permission,
+ safecolor,
+ screenmessage,
+ set_analytics_screen,
+ set_low_level_config_value,
+ set_ui_input_device,
+ SpecialChar,
+ timestring,
+ UIScale,
+ unlock_all_input,
+ WeakCall,
+ workspaces_in_use,
)
+
from _bauiv1 import (
- show_ad,
- show_ad_2,
+ buttonwidget,
can_show_ad,
- show_online_score_ui,
- uibounds,
- set_party_window_open,
- get_qrcode_texture,
- is_party_icon_visible,
- set_party_icon_always_visible,
- open_url,
- have_incentivized_ad,
- has_video_ads,
- get_special_widget,
- open_file_externally,
- Sound,
- getsound,
- Texture,
- gettexture,
- Mesh,
- getmesh,
checkboxwidget,
columnwidget,
- imagewidget,
- buttonwidget,
containerwidget,
+ get_qrcode_texture,
+ get_special_widget,
+ getmesh,
+ getsound,
+ gettexture,
+ has_video_ads,
+ have_incentivized_ad,
+ hscrollwidget,
+ imagewidget,
+ is_party_icon_visible,
+ Mesh,
+ open_file_externally,
+ open_url,
rowwidget,
scrollwidget,
+ set_party_icon_always_visible,
+ set_party_window_open,
+ show_ad,
+ show_ad_2,
+ show_online_score_ui,
+ Sound,
+ Texture,
textwidget,
- hscrollwidget,
+ uibounds,
Widget,
widget,
)
@@ -119,104 +120,104 @@ from bauiv1._uitypes import Window, uicleanupcheck
from bauiv1._subsystem import UIV1Subsystem
__all__ = [
- 'show_online_score_ui',
- 'lock_all_input',
- 'unlock_all_input',
- 'get_qrcode_texture',
- 'get_replays_dir',
- 'fade_screen',
- 'increment_analytics_count',
- 'workspaces_in_use',
- 'appname',
- 'is_party_icon_visible',
- 'LoginAdapter',
- 'safecolor',
- 'is_browser_likely_available',
- 'NotFoundError',
- 'set_party_icon_always_visible',
- 'get_remote_app_name',
- 'appnameupper',
- 'open_url',
- 'Permission',
- 'request_permission',
- 'have_permission',
- 'get_low_level_config_value',
- 'set_low_level_config_value',
- 'is_xcode_build',
- 'apptime',
- 'set_analytics_screen',
- 'have_incentivized_ad',
- 'has_video_ads',
- 'timestring',
- 'get_string_width',
- 'get_string_height',
- 'get_special_widget',
- 'has_gamma_control',
- 'WeakCall',
- 'apptimer',
- 'pushcall',
- 'PotentialPlugin',
- 'Plugin',
- 'screenmessage',
- 'SpecialChar',
- 'charstr',
- 'UIScale',
- 'uicleanupcheck',
- 'Lstr',
+ 'add_clean_frame_callback',
'app',
- 'Call',
- 'widget',
- 'Window',
- 'Sound',
- 'getsound',
- 'Texture',
- 'gettexture',
- 'Mesh',
- 'getmesh',
- 'checkboxwidget',
- 'columnwidget',
- 'imagewidget',
+ 'AppIntent',
+ 'AppIntentDefault',
+ 'AppIntentExec',
+ 'AppMode',
+ 'appname',
+ 'appnameupper',
+ 'appnameupper',
+ 'apptime',
+ 'AppTime',
+ 'apptimer',
+ 'AppTimer',
'buttonwidget',
- 'containerwidget',
- 'rowwidget',
- 'scrollwidget',
- 'textwidget',
- 'hscrollwidget',
- 'Widget',
- 'getclass',
- 'get_type_name',
- 'get_ip_address_type',
- 'do_once',
- 'Keyboard',
+ 'Call',
+ 'can_show_ad',
+ 'charstr',
+ 'checkboxwidget',
'clipboard_is_supported',
'clipboard_set_text',
- 'set_ui_input_device',
- 'set_party_window_open',
- 'add_clean_frame_callback',
- 'in_logic_thread',
- 'open_file_externally',
- 'appnameupper',
+ 'columnwidget',
'commit_app_config',
- 'quit',
- 'get_display_resolution',
- 'get_max_graphics_quality',
- 'is_running_on_fire_tv',
- 'AppTime',
- 'AppTimer',
+ 'containerwidget',
'ContextRef',
'displaytime',
'DisplayTime',
'displaytimer',
'DisplayTimer',
- 'uibounds',
- 'AppIntent',
- 'AppIntentDefault',
- 'AppIntentExec',
- 'AppMode',
- 'UIV1Subsystem',
+ 'do_once',
+ 'fade_screen',
+ 'get_display_resolution',
+ 'get_ip_address_type',
+ 'get_low_level_config_value',
+ 'get_max_graphics_quality',
+ 'get_qrcode_texture',
+ 'get_remote_app_name',
+ 'get_replays_dir',
+ 'get_special_widget',
+ 'get_string_height',
+ 'get_string_width',
+ 'get_type_name',
+ 'getclass',
+ 'getmesh',
+ 'getsound',
+ 'gettexture',
+ 'has_gamma_control',
+ 'has_video_ads',
+ 'have_incentivized_ad',
+ 'have_permission',
+ 'hscrollwidget',
+ 'imagewidget',
+ 'in_logic_thread',
+ 'increment_analytics_count',
+ 'is_browser_likely_available',
+ 'is_party_icon_visible',
+ 'is_running_on_fire_tv',
+ 'is_xcode_build',
+ 'Keyboard',
+ 'lock_all_input',
+ 'LoginAdapter',
+ 'Lstr',
+ 'Mesh',
+ 'NotFoundError',
+ 'open_file_externally',
+ 'open_url',
+ 'Permission',
+ 'Plugin',
+ 'PotentialPlugin',
+ 'pushcall',
+ 'quit',
+ 'request_permission',
+ 'rowwidget',
+ 'safecolor',
+ 'screenmessage',
+ 'scrollwidget',
+ 'set_analytics_screen',
+ 'set_low_level_config_value',
+ 'set_party_icon_always_visible',
+ 'set_party_window_open',
+ 'set_ui_input_device',
'show_ad',
'show_ad_2',
- 'can_show_ad',
+ 'show_online_score_ui',
+ 'Sound',
+ 'SpecialChar',
+ 'Texture',
+ 'textwidget',
+ 'timestring',
+ 'uibounds',
+ 'uicleanupcheck',
+ 'UIScale',
+ 'UIV1Subsystem',
+ 'unlock_all_input',
+ 'WeakCall',
+ 'widget',
+ 'Widget',
+ 'Window',
+ 'workspaces_in_use',
]
# We want stuff to show up as bauiv1.Foo instead of bauiv1._sub.Foo.
diff --git a/src/assets/ba_data/python/bauiv1lib/__init__.py b/src/assets/ba_data/python/bauiv1lib/__init__.py
index 17c4007c..f7720bdc 100644
--- a/src/assets/ba_data/python/bauiv1lib/__init__.py
+++ b/src/assets/ba_data/python/bauiv1lib/__init__.py
@@ -1,5 +1,5 @@
# Released under the MIT License. See LICENSE for details.
#
-"""Ballistica standard library: games, UI, etc."""
+"""Library of stuff using the bauiv1 api: windows, custom controls, etc."""
# ba_meta require api 8
diff --git a/src/assets/ba_data/python/bauiv1lib/soundtrack/entrytypeselect.py b/src/assets/ba_data/python/bauiv1lib/soundtrack/entrytypeselect.py
index d861b7c6..2adaa721 100644
--- a/src/assets/ba_data/python/bauiv1lib/soundtrack/entrytypeselect.py
+++ b/src/assets/ba_data/python/bauiv1lib/soundtrack/entrytypeselect.py
@@ -185,7 +185,7 @@ class SoundtrackEntryTypeSelectWindow(bui.Window):
)
def _on_music_file_press(self) -> None:
- from babase.internal import android_get_external_files_dir
+ from babase import android_get_external_files_dir
from baclassic.osmusic import OSMusicPlayer
from bauiv1lib.fileselector import FileSelectorWindow
@@ -206,7 +206,7 @@ class SoundtrackEntryTypeSelectWindow(bui.Window):
def _on_music_folder_press(self) -> None:
from bauiv1lib.fileselector import FileSelectorWindow
- from babase.internal import android_get_external_files_dir
+ from babase import android_get_external_files_dir
bui.containerwidget(edit=self._root_widget, transition='out_left')
base_path = android_get_external_files_dir()
diff --git a/src/ballistica/shared/ballistica.cc b/src/ballistica/shared/ballistica.cc
index d85ab10d..992e4516 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 = 21104;
+const int kEngineBuildNumber = 21105;
const char* kEngineVersion = "1.7.20";
auto MonolithicMain(const core::CoreConfig& core_config) -> int {