diff --git a/.efrocachemap b/.efrocachemap
index c3ec53ee..5e23a598 100644
--- a/.efrocachemap
+++ b/.efrocachemap
@@ -4080,18 +4080,18 @@
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/58/55/8451262689d989ea20afb41de14c",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/4f/52/dce0af89103a5a03d1bb5782e7d0",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/78/64/c34c3f8fb8bce1e08da4438b3350",
- "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/53/e8/bdb466635413cef003cc7beb4179",
+ "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/b6/fa/92015a413d12c56019881a7cc8d0",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/14/fb/35f54fb4b97377263f6305bd45c1",
- "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/94/ea/a22528edfc013e57f7c0d51af7c4",
+ "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/45/3a/374b60bebda4ebb2607a6dad427b",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/7b/7b/b41669c7b97755276ab1cbdcb92f",
- "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/b4/9d/468212340606bda65f6c1a827b79",
+ "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/f3/20/0fb5b4493d18890f0125fd74d93f",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/f2/7b/7efa84c6410a671cf97586614669",
- "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/e7/a1/a976c972c118ab91821d4b012fd5",
+ "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/be/81/552739f4966b4735834c5a63c52a",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/f6/6e/657e14ff3c06d29ad2541647b191",
- "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/c2/05/d36ce195d6c282938d8aaa9415ab",
- "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/a2/72/2f8c89fcf511c81086f7ad2c8dea",
- "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/ae/f3/4c78c53110022104bed336890864",
- "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/a7/8e/ef9efaf2ea56e4044b9bdda25867",
+ "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/65/58/e4c21e72430cfe1919b7cefe1b5c",
+ "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/ce/c9/7c8dce24b9ee035bcfc731935af0",
+ "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/a8/05/30192dddefd40c643ff6956dbe0a",
+ "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/64/ea/8673849197bdd895127c8a7f1eaa",
"build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/fd/89/44e2ebc1017c94053d3df1f6cb8a",
"build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/38/d7/7110069365b22bee424f36e1bf5a",
"build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/6c/89/1c44605fe89b5faa9b1061455838",
@@ -4108,14 +4108,14 @@
"build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/58/12/59092d28e6e8e1923dfff8d7e5de",
"build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/2e/a0/a2a78934c1193505f3d62989a152",
"build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/67/56/ea651dddf9502c0513f29fb1a8c0",
- "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/3c/af/ba65b04dd9af4ad7de94418e5991",
- "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/d2/23/79d25e95ffd28b47fd850705418c",
- "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/7b/de/a3818e9a608ae25be87f104d8e4c",
- "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/70/a2/5d902029410e651759e25398b5fe",
- "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/90/0f/a993bab48929ce266d03bc6fb3e8",
- "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/26/c9/014a9924cfd7f1cf175f997f0d5a",
- "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/f7/35/20b99160afd9ea42db1b63e332ef",
- "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/b1/06/e81b58630f80260bfa091ae3a596",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/ee/a7/9eca8b6ecde1a38ded30f6c88431",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/31/db/e2a33e48dd2835c282c51fd96b3a",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/1a/e8/0e4291696a603d5146d7a96f4b93",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/36/2f/102a2e269781a638cc92cbdd6962",
+ "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/a5/e7/a3f7431f2c785c6a262485d5a3af",
+ "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/e6/ad/77c78647c43bfb91f899e91eedc6",
+ "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/d5/01/06663a9b6e38ca0c20b71caf8c88",
+ "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/2b/bb/b099d9d81af6f086d60478365c77",
"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 531bd1c9..73fbf2f4 100644
--- a/.idea/dictionaries/ericf.xml
+++ b/.idea/dictionaries/ericf.xml
@@ -72,6 +72,7 @@
allobjc
allobjs
allpaths
+ allsets
allsettings
allteams
allwarnings
@@ -682,6 +683,8 @@
depdata
depdatas
depentry
+ depfset
+ depname
deps
depset
depsets
@@ -1278,6 +1281,7 @@
headerregistry
heapqmodule
hehe
+ heldfile
helpui
hexdigest
hfile
@@ -1969,11 +1973,13 @@
ossaudiodev
ostype
osval
+ otherpackage
otherplayer
otherspawn
ourcode
ourhash
ourname
+ ourpackage
ourself
outdata
outdelay
@@ -2394,6 +2400,7 @@
reversedepsraw
rfudge
rgba
+ rikko
ritiek
rlcompleter
rlock
@@ -2999,6 +3006,7 @@
uilocation
uinl
uiscale
+ uitypes
uiupkeeptimer
unallowed
uname
diff --git a/.idea/scopes/PyIgnoreProtectedAccess.xml b/.idea/scopes/PyIgnoreProtectedAccess.xml
index fda03c3e..266cb6df 100644
--- a/.idea/scopes/PyIgnoreProtectedAccess.xml
+++ b/.idea/scopes/PyIgnoreProtectedAccess.xml
@@ -1,3 +1,3 @@
-
-
+
+
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3416ee18..30b32e0e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -281,7 +281,7 @@
- (build 21060) Fixed a bug where epic mode was not in slow motion (but sounds
still were hehehehe).
- (build 21062) The audio server no longer stops all playing sounds when it is
- reset. This behavior was intented to keep game sounds from 'bleeding' out into
+ reset. This behavior was intended to keep game sounds from 'bleeding' out into
the main menu, but with app-mode-switches now causing resets just after launch
it is making some early UI sounds (such as the 'power-down' sound if a plugin
disappears) sound cut-off and broken. Please holler if you notice any sounds
diff --git a/ballisticakit-cmake/.idea/dictionaries/ericf.xml b/ballisticakit-cmake/.idea/dictionaries/ericf.xml
index 260f3713..1de8c493 100644
--- a/ballisticakit-cmake/.idea/dictionaries/ericf.xml
+++ b/ballisticakit-cmake/.idea/dictionaries/ericf.xml
@@ -49,6 +49,7 @@
allobjc
allobjs
allocs
+ allsets
allwarnings
alogins
alot
@@ -418,6 +419,8 @@
demangling
denom
depchecks
+ depfset
+ depname
dereferencing
deregistering
deregistration
@@ -747,6 +750,7 @@
havnt
hdiutil
healthcare
+ heldfile
hexval
highp
highquality
@@ -1154,8 +1158,10 @@
ossaudiodev
osssssssssss
ostype
+ otherpackage
ourcode
ourname
+ ourpackage
ourself
ourstanding
outdict
@@ -1381,6 +1387,7 @@
rgui
richcompare
rigth
+ rikko
ritiek
rname
rootwidget
@@ -1699,6 +1706,7 @@
uibounds
uiid
uinl
+ uitypes
unbased
unblessed
uncas
diff --git a/src/assets/ba_data/python/babase/__init__.py b/src/assets/ba_data/python/babase/__init__.py
index ae0761e6..2eda82dd 100644
--- a/src/assets/ba_data/python/babase/__init__.py
+++ b/src/assets/ba_data/python/babase/__init__.py
@@ -12,6 +12,17 @@ from efro.util import set_canonical_module_names
import _babase
from _babase import (
+ get_max_graphics_quality,
+ add_clean_frame_callback,
+ has_gamma_control,
+ get_string_width,
+ get_string_height,
+ get_low_level_config_value,
+ set_low_level_config_value,
+ request_permission,
+ have_permission,
+ increment_analytics_count,
+ fade_screen,
env,
SimpleSound,
ContextRef,
@@ -36,8 +47,19 @@ from _babase import (
clipboard_set_text,
in_logic_thread,
native_stack_trace,
+ lock_all_input,
+ unlock_all_input,
+ appname,
+ appnameupper,
+ set_ui_input_device,
+ is_running_on_fire_tv,
+ get_replays_dir,
+ workspaces_in_use,
+ is_xcode_build,
+ get_display_resolution,
)
+from babase._appconfig import commit_app_config
from babase._appintent import AppIntent, AppIntentDefault, AppIntentExec
from babase._appmode import AppMode
from babase._appsubsystem import AppSubsystem
@@ -45,6 +67,7 @@ from babase._accountv2 import AccountV2Handle
from babase._plugin import PotentialPlugin, Plugin, PluginSubsystem
from babase._app import App
from babase._cloud import CloudSubsystem
+from babase._net import get_ip_address_type
from babase._mgen.enums import (
Permission,
SpecialChar,
@@ -83,6 +106,7 @@ from babase._general import (
verify_object_death,
storagename,
getclass,
+ get_type_name,
)
from babase._keyboard import Keyboard
from babase._math import normalized_color, is_point_in_box, vec3validate
@@ -171,6 +195,30 @@ __all__ = [
'screenmessage',
'native_stack_trace',
'env',
+ 'lock_all_input',
+ 'unlock_all_input',
+ 'appname',
+ 'appnameupper',
+ 'commit_app_config',
+ 'get_ip_address_type',
+ 'get_type_name',
+ 'fade_screen',
+ 'set_ui_input_device',
+ 'is_running_on_fire_tv',
+ 'get_replays_dir',
+ 'increment_analytics_count',
+ 'workspaces_in_use',
+ 'request_permission',
+ 'have_permission',
+ 'get_low_level_config_value',
+ 'set_low_level_config_value',
+ 'is_xcode_build',
+ 'get_string_width',
+ 'get_string_height',
+ 'has_gamma_control',
+ 'add_clean_frame_callback',
+ 'get_max_graphics_quality',
+ 'get_display_resolution',
]
# We want stuff to show up as babase.Foo instead of babase._sub.Foo.
diff --git a/src/assets/ba_data/python/bauiv1/__init__.py b/src/assets/ba_data/python/bauiv1/__init__.py
index c1bccc6e..3b649dd7 100644
--- a/src/assets/ba_data/python/bauiv1/__init__.py
+++ b/src/assets/ba_data/python/bauiv1/__init__.py
@@ -18,59 +18,66 @@ import logging
from efro.util import set_canonical_module_names
-from _babase import (
- app,
- ContextRef,
- fade_screen,
- set_ui_input_device,
- is_running_on_fire_tv,
+
+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,
- quit,
in_logic_thread,
- add_clean_frame_callback,
- charstr,
- pushcall,
- has_gamma_control,
- get_string_width,
- get_string_height,
- set_analytics_screen,
- is_xcode_build,
- set_low_level_config_value,
- get_low_level_config_value,
- have_permission,
- request_permission,
- appnameupper,
- safecolor,
appname,
- workspaces_in_use,
- increment_analytics_count,
- get_replays_dir,
+ 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,
+ AppTime,
+ DisplayTime,
+ screenmessage,
+ Lstr,
+ PotentialPlugin,
+ Plugin,
do_once,
- clipboard_is_supported,
- clipboard_set_text,
+ Keyboard,
+ commit_app_config,
+ get_ip_address_type,
+ getclass,
+ get_type_name,
)
-from _babase import screenmessage
-
-from babase._appintent import AppIntent, AppIntentDefault, AppIntentExec
-from babase._appmode import AppMode
-from babase._general import Call, WeakCall, AppTime, DisplayTime
-from babase._language import Lstr
-from babase._plugin import PotentialPlugin, Plugin
from babase._apputils import get_remote_app_name, is_browser_likely_available
from babase._login import LoginAdapter
-from babase._general import getclass, get_type_name
-from babase._net import get_ip_address_type
-from babase._keyboard import Keyboard
-from babase._appconfig import commit_app_config
from babase._error import NotFoundError
@@ -180,6 +187,7 @@ __all__ = [
'hscrollwidget',
'Widget',
'getclass',
+ 'get_type_name',
'get_ip_address_type',
'do_once',
'Keyboard',
@@ -189,7 +197,6 @@ __all__ = [
'set_party_window_open',
'add_clean_frame_callback',
'in_logic_thread',
- 'get_type_name',
'open_file_externally',
'appnameupper',
'commit_app_config',
diff --git a/src/assets/ba_data/python/bauiv1/_subsystem.py b/src/assets/ba_data/python/bauiv1/_subsystem.py
index 8888911e..dd90b437 100644
--- a/src/assets/ba_data/python/bauiv1/_subsystem.py
+++ b/src/assets/ba_data/python/bauiv1/_subsystem.py
@@ -10,7 +10,7 @@ import babase
import _bauiv1
if TYPE_CHECKING:
- from typing import Any, Callable, Sequence
+ from typing import Any, Callable
from bauiv1._uitypes import UICleanupCheck, UIController
import bauiv1
diff --git a/src/assets/ba_data/python/bauiv1/_uitypes.py b/src/assets/ba_data/python/bauiv1/_uitypes.py
index 2aafd3c4..f8e5989a 100644
--- a/src/assets/ba_data/python/bauiv1/_uitypes.py
+++ b/src/assets/ba_data/python/bauiv1/_uitypes.py
@@ -15,7 +15,6 @@ import _bauiv1
if TYPE_CHECKING:
from typing import Any, Type
- import babase
import bauiv1
# Set environment variable BA_DEBUG_UI_CLEANUP_CHECKS to 1
diff --git a/src/assets/ba_data/python/bauiv1lib/coop/tournamentbutton.py b/src/assets/ba_data/python/bauiv1lib/coop/tournamentbutton.py
index 473d19df..72d604e6 100644
--- a/src/assets/ba_data/python/bauiv1lib/coop/tournamentbutton.py
+++ b/src/assets/ba_data/python/bauiv1lib/coop/tournamentbutton.py
@@ -423,6 +423,8 @@ class TournamentButton:
)
x_offs = 90
+ # pylint: disable=useless-suppression
+ # pylint: disable=unbalanced-tuple-unpacking
(
pr1,
pv1,
@@ -431,6 +433,8 @@ class TournamentButton:
pr3,
pv3,
) = bui.app.classic.get_tournament_prize_strings(entry)
+ # pylint: enable=unbalanced-tuple-unpacking
+ # pylint: enable=useless-suppression
enabled = 'requiredLeague' not in entry
bui.buttonwidget(
diff --git a/tools/batools/featureset.py b/tools/batools/featureset.py
index 38bba0c3..d037e35c 100644
--- a/tools/batools/featureset.py
+++ b/tools/batools/featureset.py
@@ -62,7 +62,7 @@ class FeatureSet:
# By default, Python app subsystems will be created in
# alphabetical order based on their feature set name. All
- # subsystem calbacks adhere to this ordering. If there are any
+ # subsystem callbacks adhere to this ordering. If there are any
# feature sets whose subsystems should always be created before
# this one's, list them here. Note that this does not affect
# whether or not the feature set is included in the build; only