formatting and utils work

This commit is contained in:
Eric 2024-03-12 14:23:17 -07:00
parent c2d88cab28
commit 53e7655a94
No known key found for this signature in database
GPG Key ID: 89C93F0F8D6D5A98
218 changed files with 2022 additions and 1772 deletions

88
.efrocachemap generated
View File

@ -4060,50 +4060,50 @@
"build/assets/windows/Win32/ucrtbased.dll": "2def5335207d41b21b9823f6805997f1",
"build/assets/windows/Win32/vc_redist.x86.exe": "b08a55e2e77623fe657bea24f223a3ae",
"build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "5db2ea1c6bacab3fe60eb948aaa4afdb",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "2b476166b869112112d57f26833a8381",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "7b8d2cb654ab2c022584114ed9910c38",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "846150203fe0611a71ff832176579ce5",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "683c3d3b7ac3b052f3ecc3fef36fc13a",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "e41d6aeb7a2e335ebcc701a35d45df8c",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "f0a97f7c34a78bfd829f460a9f4ea81c",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "d1e697c045e3b4092ec35fb8f3b4bd25",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "952c02766cecd280af3e9b77c80e91e1",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "bceae148212f47bfc9acf60ea52b1003",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "e9ea0d09ba4af6253025cbe3aa8469cf",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "d2cf18fbc6d815268790532bc38d2434",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "1134322221c0ccea4057e462d9fa5197",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "30d10d34fb0e14b8f7ceec1760b521d6",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "d132bc58d9744941144244484bb005a6",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "5ae4aef6e0291175a3a9e3b77adcc0c0",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "abb92db084cdc165d7c1ed500be919ba",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "57bb6f6b5dadbc8f05fbab3271ef8abb",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "c4a68563f1237c1679c870def5d91b1a",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "e2f338fd1d4d8ff9a079e2e9c492aabb",
"build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "ee36a39fd0f524989cb68930c89c8868",
"build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "dbed9145e5db116d92aa47cb9e98da39",
"build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "ee36a39fd0f524989cb68930c89c8868",
"build/prefab/lib/linux_arm64_server/release/libballisticaplus.a": "dbed9145e5db116d92aa47cb9e98da39",
"build/prefab/lib/linux_x86_64_gui/debug/libballisticaplus.a": "dc078f11a4e93062adc7d210fd4f08fb",
"build/prefab/lib/linux_x86_64_gui/release/libballisticaplus.a": "a74bea3380d0fb39f78ac7b7598c1a72",
"build/prefab/lib/linux_x86_64_server/debug/libballisticaplus.a": "dc078f11a4e93062adc7d210fd4f08fb",
"build/prefab/lib/linux_x86_64_server/release/libballisticaplus.a": "a74bea3380d0fb39f78ac7b7598c1a72",
"build/prefab/lib/mac_arm64_gui/debug/libballisticaplus.a": "b397e020f33132c4dd2280cb1222cd14",
"build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "ff0cb4db976707d25bd401bce80a4882",
"build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "b397e020f33132c4dd2280cb1222cd14",
"build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "ff0cb4db976707d25bd401bce80a4882",
"build/prefab/lib/mac_x86_64_gui/debug/libballisticaplus.a": "c464accef921df1325459bdd10c59b84",
"build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "0896e849885cef50bcf33ce863efa7d2",
"build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "e53c808357cc0a2f0da7b870be147083",
"build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "0896e849885cef50bcf33ce863efa7d2",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "72901cf56d898442b6bcf4ecafd5cd65",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "c185b4f41dfc69c133a75260b95421d1",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "096880b9e8faac99a72d234a61ddd624",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "266f4e6a3d8b39c97ee7b5e766e8b207",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "0927775fb993a977de90e4671a09e996",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "53fcf97128862b34771ca967f88641c8",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "160a2caaa393f9ddb40ffebc7546e6bb",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "90716a0e1310a90247a9aee3a7a97a38",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "b8ca5252d3d8f2865e486756bd460118",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "005367a629683ecb9c54bc98fb7a94c6",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "6a90b3bdefbb2d55a5b9c454784e8b16",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "c3d831d36d5c81aa850872d33761c4be",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "5dfa9f0125be245e37d754981b28b8c0",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "7c687fc514f115d6cc368468dd697a91",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "6ed08dcb724be490cab50db9155e1120",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "14b0f978f221664c531bfa72310def53",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "7a2781e352cf7e6581f56ff99ec11edb",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "94465074121d8a252fb13d16f5cc1bff",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "5ceeac21ed1a08f4b7461d73affbc7aa",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "740ede02d02dae029d17d8a109ee699b",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "a389b77ebb76d26ed2a8f9f6c86d4f12",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "62c118fd9da045125073ad121369901c",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "cb62e525bf417724951a4b2b4bb103fe",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "27d6ce4966f64b840b726093572c6f2f",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "32da36c142f47dde0fcb5419f30078e7",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "35079c413dcaae069cfd91b94f8581fb",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "7764a0b91ba45bfad66fe7f9af9b4c3a",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "a3a45ce22e22d5dd9b205b72b08886f9",
"build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "d9865523059d8cf11b2bef4b9da9a8c9",
"build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "56d6440f62c271c4ce9ef520400395a3",
"build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "d9865523059d8cf11b2bef4b9da9a8c9",
"build/prefab/lib/linux_arm64_server/release/libballisticaplus.a": "56d6440f62c271c4ce9ef520400395a3",
"build/prefab/lib/linux_x86_64_gui/debug/libballisticaplus.a": "390a90cf4af1c55662c61ec19f9481bb",
"build/prefab/lib/linux_x86_64_gui/release/libballisticaplus.a": "e55895a55cc40f79be9e2e8095e8adf2",
"build/prefab/lib/linux_x86_64_server/debug/libballisticaplus.a": "390a90cf4af1c55662c61ec19f9481bb",
"build/prefab/lib/linux_x86_64_server/release/libballisticaplus.a": "e55895a55cc40f79be9e2e8095e8adf2",
"build/prefab/lib/mac_arm64_gui/debug/libballisticaplus.a": "9846a6a3dd3685417fe834b91be8ac74",
"build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "68087f1bac1513e92cabdb59c637e759",
"build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "9846a6a3dd3685417fe834b91be8ac74",
"build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "68087f1bac1513e92cabdb59c637e759",
"build/prefab/lib/mac_x86_64_gui/debug/libballisticaplus.a": "72a7370f23c76ed8018999b78d88a545",
"build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "c2cf0dc227e41a826c913d12e117c316",
"build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "fbdc80e41c5883b4a893d2f0786e377f",
"build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "c2cf0dc227e41a826c913d12e117c316",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "45c8b0bec696a73e506deefb3916fcfa",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "0f12d8a899c3e640766904886099e283",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "daf235cf0962ad9ad43bd401802c3d63",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "360f7a2a5765999b570e3ef0094d649d",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "bdea164136c6e9f2c30c9379af739ba4",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "f3e7b1c218457af10ad100c89028562e",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "159e662082897a3f6488919b73fac491",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "1cc0c01a5263434ae9bcc2ea223652dd",
"src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c",
"src/assets/ba_data/python/babase/_mgen/enums.py": "b611c090513a21e2fe90e56582724e9d",
"src/ballistica/base/mgen/pyembed/binding_base.inc": "72bfed2cce8ff19741989dec28302f3f",

View File

@ -1,4 +1,4 @@
### 1.7.33 (build 21772, api 8, 2024-03-02)
### 1.7.33 (build 21775, api 8, 2024-03-12)
- Stress test input-devices are now a bit smarter; they won't press any buttons
while UIs are up (this could cause lots of chaos if it happened).
- Added a 'Show Demos When Idle' option in advanced settings. If enabled, the

View File

@ -152,9 +152,9 @@ class AccountV1Subsystem:
"""(internal)"""
for entry in info:
cache_entry = self.tournament_info[
entry['tournamentID']
] = copy.deepcopy(entry)
cache_entry = self.tournament_info[entry['tournamentID']] = (
copy.deepcopy(entry)
)
# Also store the time we received this, so we can adjust
# time-remaining values/etc.

View File

@ -75,9 +75,9 @@ class AchievementSubsystem:
def __init__(self) -> None:
self.achievements: list[Achievement] = []
self.achievements_to_display: (
list[tuple[baclassic.Achievement, bool]]
) = []
self.achievements_to_display: list[
tuple[baclassic.Achievement, bool]
] = []
self.achievement_display_timer: bascenev1.BaseTimer | None = None
self.last_achievement_display_time: float = 0.0
self.achievement_completion_banner_slots: set[int] = set()

View File

@ -35,9 +35,11 @@ def get_tournament_prize_strings(entry: dict[str, Any]) -> list[str]:
prval = (
''
if rng is None
else ('#' + str(rng[0]))
if (rng[0] == rng[1])
else ('#' + str(rng[0]) + '-' + str(rng[1]))
else (
('#' + str(rng[0]))
if (rng[0] == rng[1])
else ('#' + str(rng[0]) + '-' + str(rng[1]))
)
)
pvval = ''
if trophy_type is not None:

View File

@ -52,7 +52,7 @@ if TYPE_CHECKING:
# Build number and version of the ballistica binary we expect to be
# using.
TARGET_BALLISTICA_BUILD = 21772
TARGET_BALLISTICA_BUILD = 21775
TARGET_BALLISTICA_VERSION = '1.7.33'
@ -264,6 +264,10 @@ def _calc_data_dir(data_dir: str | None) -> str:
def _setup_logging() -> LogHandler:
from efro.log import setup_logging, LogLevel
# TODO: should set this up with individual loggers under a top level
# 'ba' logger, and at that point we can kill off the
# suppress_non_root_debug option since we'll only ever need to set
# 'ba' to DEBUG at most.
log_handler = setup_logging(
log_path=None,
level=LogLevel.DEBUG,

View File

@ -57,8 +57,7 @@ class CloudSubsystem(babase.AppSubsystem):
on_response: Callable[
[bacommon.cloud.LoginProxyRequestResponse | Exception], None
],
) -> None:
...
) -> None: ...
@overload
def send_message_cb(
@ -67,24 +66,21 @@ class CloudSubsystem(babase.AppSubsystem):
on_response: Callable[
[bacommon.cloud.LoginProxyStateQueryResponse | Exception], None
],
) -> None:
...
) -> None: ...
@overload
def send_message_cb(
self,
msg: bacommon.cloud.LoginProxyCompleteMessage,
on_response: Callable[[None | Exception], None],
) -> None:
...
) -> None: ...
@overload
def send_message_cb(
self,
msg: bacommon.cloud.PingMessage,
on_response: Callable[[bacommon.cloud.PingResponse | Exception], None],
) -> None:
...
) -> None: ...
@overload
def send_message_cb(
@ -93,8 +89,7 @@ class CloudSubsystem(babase.AppSubsystem):
on_response: Callable[
[bacommon.cloud.SignInResponse | Exception], None
],
) -> None:
...
) -> None: ...
@overload
def send_message_cb(
@ -103,8 +98,7 @@ class CloudSubsystem(babase.AppSubsystem):
on_response: Callable[
[bacommon.cloud.ManageAccountResponse | Exception], None
],
) -> None:
...
) -> None: ...
def send_message_cb(
self,
@ -129,20 +123,17 @@ class CloudSubsystem(babase.AppSubsystem):
@overload
def send_message(
self, msg: bacommon.cloud.WorkspaceFetchMessage
) -> bacommon.cloud.WorkspaceFetchResponse:
...
) -> bacommon.cloud.WorkspaceFetchResponse: ...
@overload
def send_message(
self, msg: bacommon.cloud.MerchAvailabilityMessage
) -> bacommon.cloud.MerchAvailabilityResponse:
...
) -> bacommon.cloud.MerchAvailabilityResponse: ...
@overload
def send_message(
self, msg: bacommon.cloud.TestMessage
) -> bacommon.cloud.TestResponse:
...
) -> bacommon.cloud.TestResponse: ...
def send_message(self, msg: Message) -> Response | None:
"""Synchronously send a message to the cloud.
@ -154,14 +145,12 @@ class CloudSubsystem(babase.AppSubsystem):
@overload
async def send_message_async(
self, msg: bacommon.cloud.PromoCodeMessage
) -> bacommon.cloud.PromoCodeResponse:
...
) -> bacommon.cloud.PromoCodeResponse: ...
@overload
async def send_message_async(
self, msg: bacommon.cloud.TestMessage
) -> bacommon.cloud.TestResponse:
...
) -> bacommon.cloud.TestResponse: ...
async def send_message_async(self, msg: Message) -> Response | None:
"""Synchronously send a message to the cloud.

View File

@ -203,9 +203,11 @@ class ScoreScreenActivity(Activity[EmptyPlayer, EmptyTeam]):
sval = babase.Lstr(resource='pressAnyButtonText')
Text(
self._custom_continue_message
if self._custom_continue_message is not None
else sval,
(
self._custom_continue_message
if self._custom_continue_message is not None
else sval
),
v_attach=Text.VAttach.BOTTOM,
h_align=Text.HAlign.CENTER,
flash=True,

View File

@ -198,12 +198,14 @@ class Actor:
# Overloads to convey our exact return type depending on 'doraise' value.
@overload
def getactivity(self, doraise: Literal[True] = True) -> bascenev1.Activity:
...
def getactivity(
self, doraise: Literal[True] = True
) -> bascenev1.Activity: ...
@overload
def getactivity(self, doraise: Literal[False]) -> bascenev1.Activity | None:
...
def getactivity(
self, doraise: Literal[False]
) -> bascenev1.Activity | None: ...
def getactivity(self, doraise: bool = True) -> bascenev1.Activity | None:
"""Return the bascenev1.Activity this Actor is associated with.

View File

@ -42,9 +42,9 @@ class GameResults:
self._scores: dict[
int, tuple[weakref.ref[bascenev1.SessionTeam], int | None]
] = {}
self._sessionteams: list[
weakref.ref[bascenev1.SessionTeam]
] | None = None
self._sessionteams: list[weakref.ref[bascenev1.SessionTeam]] | None = (
None
)
self._playerinfos: list[bascenev1.PlayerInfo] | None = None
self._lower_is_better: bool | None = None
self._score_label: str | None = None

View File

@ -73,9 +73,11 @@ class Level:
return babase.Lstr(
translate=(
'coopLevelNames',
self._displayname
if self._displayname is not None
else self._name,
(
self._displayname
if self._displayname is not None
else self._name
),
),
subs=[
('${GAME}', self._gametype.get_display_string(self._settings))

View File

@ -89,18 +89,18 @@ def filter_playlist(
'bs_king_of_the_hill.KingOfTheHillGame',
'bastd.game.kingofthehill.KingOfTheHillGame',
):
entry[
'type'
] = 'bascenev1lib.game.kingofthehill.KingOfTheHillGame'
entry['type'] = (
'bascenev1lib.game.kingofthehill.KingOfTheHillGame'
)
if entry['type'] in (
'Capture_the_Flag.CTFGame',
'bsCaptureTheFlag.CTFGame',
'bs_capture_the_flag.CTFGame',
'bastd.game.capturetheflag.CaptureTheFlagGame',
):
entry[
'type'
] = 'bascenev1lib.game.capturetheflag.CaptureTheFlagGame'
entry['type'] = (
'bascenev1lib.game.capturetheflag.CaptureTheFlagGame'
)
if entry['type'] in (
'Death_Match.DeathMatchGame',
'bsDeathMatch.DeathMatchGame',
@ -163,25 +163,25 @@ def filter_playlist(
'bs_easter_egg_hunt.EasterEggHuntGame',
'bastd.game.easteregghunt.EasterEggHuntGame',
):
entry[
'type'
] = 'bascenev1lib.game.easteregghunt.EasterEggHuntGame'
entry['type'] = (
'bascenev1lib.game.easteregghunt.EasterEggHuntGame'
)
if entry['type'] in (
'bsMeteorShower.MeteorShowerGame',
'bs_meteor_shower.MeteorShowerGame',
'bastd.game.meteorshower.MeteorShowerGame',
):
entry[
'type'
] = 'bascenev1lib.game.meteorshower.MeteorShowerGame'
entry['type'] = (
'bascenev1lib.game.meteorshower.MeteorShowerGame'
)
if entry['type'] in (
'bsTargetPractice.TargetPracticeGame',
'bs_target_practice.TargetPracticeGame',
'bastd.game.targetpractice.TargetPracticeGame',
):
entry[
'type'
] = 'bascenev1lib.game.targetpractice.TargetPracticeGame'
entry['type'] = (
'bascenev1lib.game.targetpractice.TargetPracticeGame'
)
gameclass = babase.getclass(entry['type'], GameActivity)

View File

@ -395,11 +395,15 @@ class CoopScoreScreen(bs.Activity[bs.Player, bs.Team]):
color=(0.45, 0.4, 0.5),
position=(160, v_offs + 480),
size=(350, 62),
label=bui.Lstr(resource='tournamentStandingsText')
if self.session.tournament_id is not None
else bui.Lstr(resource='worldsBestScoresText')
if self._score_type == 'points'
else bui.Lstr(resource='worldsBestTimesText'),
label=(
bui.Lstr(resource='tournamentStandingsText')
if self.session.tournament_id is not None
else (
bui.Lstr(resource='worldsBestScoresText')
if self._score_type == 'points'
else bui.Lstr(resource='worldsBestTimesText')
)
),
autoselect=True,
on_activate_call=bui.WeakCall(self._ui_worlds_best),
transition_delay=delay + 1.9,
@ -515,9 +519,11 @@ class CoopScoreScreen(bs.Activity[bs.Player, bs.Team]):
bui.containerwidget(
edit=rootc,
selected_child=next_button
if (self._newly_complete and self._victory and show_next_button)
else restart_button,
selected_child=(
next_button
if (self._newly_complete and self._victory and show_next_button)
else restart_button
),
on_cancel_call=menu_button.activate,
)
@ -644,14 +650,16 @@ class CoopScoreScreen(bs.Activity[bs.Player, bs.Team]):
and not (env.demo or env.arcade)
):
Text(
bs.Lstr(
value='${A}:\n',
subs=[('${A}', bs.Lstr(resource='levelUnlockedText'))],
)
if self._newly_complete
else bs.Lstr(
value='${A}:\n',
subs=[('${A}', bs.Lstr(resource='nextLevelText'))],
(
bs.Lstr(
value='${A}:\n',
subs=[('${A}', bs.Lstr(resource='levelUnlockedText'))],
)
if self._newly_complete
else bs.Lstr(
value='${A}:\n',
subs=[('${A}', bs.Lstr(resource='nextLevelText'))],
)
),
transition=Text.Transition.IN_RIGHT,
transition_delay=5.2,
@ -860,11 +868,15 @@ class CoopScoreScreen(bs.Activity[bs.Player, bs.Team]):
ts_h_offs = 210
v_offs = 40
txt = Text(
bs.Lstr(resource='tournamentStandingsText')
if self.session.tournament_id is not None
else bs.Lstr(resource='worldsBestScoresText')
if self._score_type == 'points'
else bs.Lstr(resource='worldsBestTimesText'),
(
bs.Lstr(resource='tournamentStandingsText')
if self.session.tournament_id is not None
else (
bs.Lstr(resource='worldsBestScoresText')
if self._score_type == 'points'
else bs.Lstr(resource='worldsBestTimesText')
)
),
maxwidth=210,
position=(ts_h_offs - 10, ts_height / 2 + 25 + v_offs + 20),
transition=Text.Transition.IN_LEFT,
@ -882,9 +894,11 @@ class CoopScoreScreen(bs.Activity[bs.Player, bs.Team]):
ts_h_offs = -480
v_offs = 40
Text(
bs.Lstr(resource='yourBestScoresText')
if self._score_type == 'points'
else bs.Lstr(resource='yourBestTimesText'),
(
bs.Lstr(resource='yourBestScoresText')
if self._score_type == 'points'
else bs.Lstr(resource='yourBestTimesText')
),
maxwidth=210,
position=(ts_h_offs - 10, ts_height / 2 + 25 + v_offs + 20),
transition=Text.Transition.IN_RIGHT,
@ -948,9 +962,11 @@ class CoopScoreScreen(bs.Activity[bs.Player, bs.Team]):
tdelay1 = times[i][0]
tdelay2 = times[i][1]
Text(
str(display_scores[i][0])
if self._score_type == 'points'
else bs.timestring((display_scores[i][0] * 10) / 1000.0),
(
str(display_scores[i][0])
if self._score_type == 'points'
else bs.timestring((display_scores[i][0] * 10) / 1000.0)
),
position=(
ts_h_offs + 20 + h_offs_extra,
v_offs_extra
@ -1127,9 +1143,11 @@ class CoopScoreScreen(bs.Activity[bs.Player, bs.Team]):
tdelay2 = times[i][1]
if name_str != '-':
Text(
str(score)
if self._score_type == 'points'
else bs.timestring((score * 10) / 1000.0),
(
str(score)
if self._score_type == 'points'
else bs.timestring((score * 10) / 1000.0)
),
position=(
ts_h_offs + 20 + h_offs_extra,
v_offs_extra
@ -1313,9 +1331,11 @@ class CoopScoreScreen(bs.Activity[bs.Player, bs.Team]):
if name_str != '-':
Text(
str(score)
if self._score_type == 'points'
else bs.timestring((score * 10) / 1000.0),
(
str(score)
if self._score_type == 'points'
else bs.timestring((score * 10) / 1000.0)
),
position=(
ts_h_offs + 20 + h_offs_extra,
ts_height / 2
@ -1689,17 +1709,22 @@ class CoopScoreScreen(bs.Activity[bs.Player, bs.Team]):
)
if not self._newly_complete:
Text(
bs.Lstr(
value='${A}${B}',
subs=[
('${A}', bs.Lstr(resource='newPersonalBestText')),
('${B}', was_string),
],
)
if new_best
else bs.Lstr(
resource='bestRatingText',
subs=[('${RATING}', str(best_rank))],
(
bs.Lstr(
value='${A}${B}',
subs=[
(
'${A}',
bs.Lstr(resource='newPersonalBestText'),
),
('${B}', was_string),
],
)
if new_best
else bs.Lstr(
resource='bestRatingText',
subs=[('${RATING}', str(best_rank))],
)
),
position=(0, -165),
color=(1, 1, 1, 0.7),
@ -1773,14 +1798,16 @@ class CoopScoreScreen(bs.Activity[bs.Player, bs.Team]):
jitter=1.0,
).autoretain()
Text(
bs.Lstr(
value='${A}:',
subs=[('${A}', bs.Lstr(resource='finalScoreText'))],
)
if self._score_type == 'points'
else bs.Lstr(
value='${A}:',
subs=[('${A}', bs.Lstr(resource='finalTimeText'))],
(
bs.Lstr(
value='${A}:',
subs=[('${A}', bs.Lstr(resource='finalScoreText'))],
)
if self._score_type == 'points'
else bs.Lstr(
value='${A}:',
subs=[('${A}', bs.Lstr(resource='finalTimeText'))],
)
),
maxwidth=300,
position=(0, 200),

View File

@ -199,9 +199,9 @@ class MultiTeamScoreScreenActivity(bs.ScoreScreenActivity):
ts_v_offset + (voffs + 15) * scale,
),
scale=scale,
color=(1.0, 0.9, 0.5, 1.0)
if highlight
else (0.5, 0.5, 0.6, 0.5),
color=(
(1.0, 0.9, 0.5, 1.0) if highlight else (0.5, 0.5, 0.6, 0.5)
),
h_align=Text.HAlign.RIGHT,
v_align=Text.VAlign.CENTER,
maxwidth=maxwidth,

View File

@ -374,9 +374,11 @@ class TeamSeriesVictoryScoreScreenActivity(MultiTeamScoreScreenActivity):
tdelay -= 4 * t_incr
v_offs -= 40
Text(
str(prec.team.customdata['score'])
if self._is_ffa
else str(prec.score),
(
str(prec.team.customdata['score'])
if self._is_ffa
else str(prec.score)
),
color=(0.5, 0.5, 0.5, 1.0),
position=(ts_h_offs + 230, ts_height / 2 + v_offs),
h_align=Text.HAlign.RIGHT,

View File

@ -456,9 +456,11 @@ class ControlsGuide(bs.Actor):
(
'${B}',
bs.Lstr(
resource='holdAnyKeyText'
if all_keyboards
else 'holdAnyButtonText'
resource=(
'holdAnyKeyText'
if all_keyboards
else 'holdAnyButtonText'
)
),
),
],

View File

@ -79,14 +79,12 @@ class PlayerSpaz(Spaz):
@overload
def getplayer(
self, playertype: type[PlayerT], doraise: Literal[False] = False
) -> PlayerT | None:
...
) -> PlayerT | None: ...
@overload
def getplayer(
self, playertype: type[PlayerT], doraise: Literal[True]
) -> PlayerT:
...
) -> PlayerT: ...
def getplayer(
self, playertype: type[PlayerT], doraise: bool = False

View File

@ -73,9 +73,11 @@ class TipsText(bs.Actor):
next_tip = bs.Lstr(
translate=(
'tips',
bs.app.classic.get_next_tip()
if bs.app.classic is not None
else '',
(
bs.app.classic.get_next_tip()
if bs.app.classic is not None
else ''
),
),
subs=[('${REMOTE_APP_NAME}', get_remote_app_name())],
)

View File

@ -334,29 +334,37 @@ class OnslaughtGame(bs.CoopGameActivity[Player, Team]):
Wave(
base_angle=130,
entries=[
Spawn(BrawlerBotLite, spacing=5)
if player_count > 1
else None,
(
Spawn(BrawlerBotLite, spacing=5)
if player_count > 1
else None
),
Spawn(BrawlerBotLite, spacing=5),
Spacing(30),
Spawn(BomberBotLite, spacing=5)
if player_count > 3
else None,
(
Spawn(BomberBotLite, spacing=5)
if player_count > 3
else None
),
Spawn(BomberBotLite, spacing=5),
Spacing(30),
Spawn(BrawlerBotLite, spacing=5),
Spawn(BrawlerBotLite, spacing=5)
if player_count > 2
else None,
(
Spawn(BrawlerBotLite, spacing=5)
if player_count > 2
else None
),
],
),
Wave(
base_angle=195,
entries=[
Spawn(TriggerBot, spacing=90),
Spawn(TriggerBot, spacing=90)
if player_count > 1
else None,
(
Spawn(TriggerBot, spacing=90)
if player_count > 1
else None
),
],
),
]
@ -367,9 +375,11 @@ class OnslaughtGame(bs.CoopGameActivity[Player, Team]):
self._waves = [
Wave(
entries=[
Spawn(ChargerBot, Point.LEFT_UPPER_MORE)
if player_count > 2
else None,
(
Spawn(ChargerBot, Point.LEFT_UPPER_MORE)
if player_count > 2
else None
),
Spawn(ChargerBot, Point.LEFT_UPPER),
]
),
@ -377,36 +387,50 @@ class OnslaughtGame(bs.CoopGameActivity[Player, Team]):
entries=[
Spawn(BomberBotStaticLite, Point.TURRET_TOP_RIGHT),
Spawn(BrawlerBotLite, Point.RIGHT_UPPER),
Spawn(BrawlerBotLite, Point.RIGHT_LOWER)
if player_count > 1
else None,
Spawn(BomberBotStaticLite, Point.TURRET_BOTTOM_RIGHT)
if player_count > 2
else None,
(
Spawn(BrawlerBotLite, Point.RIGHT_LOWER)
if player_count > 1
else None
),
(
Spawn(
BomberBotStaticLite, Point.TURRET_BOTTOM_RIGHT
)
if player_count > 2
else None
),
]
),
Wave(
entries=[
Spawn(BomberBotStaticLite, Point.TURRET_BOTTOM_LEFT),
Spawn(TriggerBot, Point.LEFT),
Spawn(TriggerBot, Point.LEFT_LOWER)
if player_count > 1
else None,
Spawn(TriggerBot, Point.LEFT_UPPER)
if player_count > 2
else None,
(
Spawn(TriggerBot, Point.LEFT_LOWER)
if player_count > 1
else None
),
(
Spawn(TriggerBot, Point.LEFT_UPPER)
if player_count > 2
else None
),
]
),
Wave(
entries=[
Spawn(BrawlerBotLite, Point.TOP_RIGHT),
Spawn(BrawlerBot, Point.TOP_HALF_RIGHT)
if player_count > 1
else None,
(
Spawn(BrawlerBot, Point.TOP_HALF_RIGHT)
if player_count > 1
else None
),
Spawn(BrawlerBotLite, Point.TOP_LEFT),
Spawn(BrawlerBotLite, Point.TOP_HALF_LEFT)
if player_count > 2
else None,
(
Spawn(BrawlerBotLite, Point.TOP_HALF_LEFT)
if player_count > 2
else None
),
Spawn(BrawlerBot, Point.TOP),
Spawn(BomberBotStaticLite, Point.TURRET_TOP_MIDDLE),
]
@ -416,12 +440,16 @@ class OnslaughtGame(bs.CoopGameActivity[Player, Team]):
Spawn(TriggerBotStatic, Point.TURRET_BOTTOM_LEFT),
Spawn(TriggerBotStatic, Point.TURRET_BOTTOM_RIGHT),
Spawn(TriggerBot, Point.BOTTOM),
Spawn(TriggerBot, Point.BOTTOM_HALF_RIGHT)
if player_count > 1
else None,
Spawn(TriggerBot, Point.BOTTOM_HALF_LEFT)
if player_count > 2
else None,
(
Spawn(TriggerBot, Point.BOTTOM_HALF_RIGHT)
if player_count > 1
else None
),
(
Spawn(TriggerBot, Point.BOTTOM_HALF_LEFT)
if player_count > 2
else None
),
]
),
Wave(
@ -429,12 +457,16 @@ class OnslaughtGame(bs.CoopGameActivity[Player, Team]):
Spawn(BomberBotStaticLite, Point.TURRET_TOP_LEFT),
Spawn(BomberBotStaticLite, Point.TURRET_TOP_RIGHT),
Spawn(ChargerBot, Point.BOTTOM),
Spawn(ChargerBot, Point.BOTTOM_HALF_LEFT)
if player_count > 1
else None,
Spawn(ChargerBot, Point.BOTTOM_HALF_RIGHT)
if player_count > 2
else None,
(
Spawn(ChargerBot, Point.BOTTOM_HALF_LEFT)
if player_count > 1
else None
),
(
Spawn(ChargerBot, Point.BOTTOM_HALF_RIGHT)
if player_count > 2
else None
),
]
),
]
@ -446,44 +478,62 @@ class OnslaughtGame(bs.CoopGameActivity[Player, Team]):
Wave(
base_angle=-50,
entries=[
Spawn(BrawlerBot, spacing=12)
if player_count > 3
else None,
(
Spawn(BrawlerBot, spacing=12)
if player_count > 3
else None
),
Spawn(BrawlerBot, spacing=12),
Spawn(BomberBot, spacing=6),
Spawn(BomberBot, spacing=6)
if self._preset is Preset.PRO
else None,
Spawn(BomberBot, spacing=6)
if player_count > 1
else None,
(
Spawn(BomberBot, spacing=6)
if self._preset is Preset.PRO
else None
),
(
Spawn(BomberBot, spacing=6)
if player_count > 1
else None
),
Spawn(BrawlerBot, spacing=12),
Spawn(BrawlerBot, spacing=12)
if player_count > 2
else None,
(
Spawn(BrawlerBot, spacing=12)
if player_count > 2
else None
),
],
),
Wave(
base_angle=180,
entries=[
Spawn(BrawlerBot, spacing=6)
if player_count > 3
else None,
Spawn(BrawlerBot, spacing=6)
if self._preset is Preset.PRO
else None,
(
Spawn(BrawlerBot, spacing=6)
if player_count > 3
else None
),
(
Spawn(BrawlerBot, spacing=6)
if self._preset is Preset.PRO
else None
),
Spawn(BrawlerBot, spacing=6),
Spawn(ChargerBot, spacing=45),
Spawn(ChargerBot, spacing=45)
if player_count > 1
else None,
(
Spawn(ChargerBot, spacing=45)
if player_count > 1
else None
),
Spawn(BrawlerBot, spacing=6),
Spawn(BrawlerBot, spacing=6)
if self._preset is Preset.PRO
else None,
Spawn(BrawlerBot, spacing=6)
if player_count > 2
else None,
(
Spawn(BrawlerBot, spacing=6)
if self._preset is Preset.PRO
else None
),
(
Spawn(BrawlerBot, spacing=6)
if player_count > 2
else None
),
],
),
Wave(
@ -492,15 +542,21 @@ class OnslaughtGame(bs.CoopGameActivity[Player, Team]):
Spawn(ChargerBot, spacing=30),
Spawn(TriggerBot, spacing=30),
Spawn(TriggerBot, spacing=30),
Spawn(TriggerBot, spacing=30)
if self._preset is Preset.PRO
else None,
Spawn(TriggerBot, spacing=30)
if player_count > 1
else None,
Spawn(TriggerBot, spacing=30)
if player_count > 3
else None,
(
Spawn(TriggerBot, spacing=30)
if self._preset is Preset.PRO
else None
),
(
Spawn(TriggerBot, spacing=30)
if player_count > 1
else None
),
(
Spawn(TriggerBot, spacing=30)
if player_count > 3
else None
),
Spawn(ChargerBot, spacing=30),
],
),
@ -508,16 +564,22 @@ class OnslaughtGame(bs.CoopGameActivity[Player, Team]):
base_angle=90,
entries=[
Spawn(StickyBot, spacing=50),
Spawn(StickyBot, spacing=50)
if self._preset is Preset.PRO
else None,
(
Spawn(StickyBot, spacing=50)
if self._preset is Preset.PRO
else None
),
Spawn(StickyBot, spacing=50),
Spawn(StickyBot, spacing=50)
if player_count > 1
else None,
Spawn(StickyBot, spacing=50)
if player_count > 3
else None,
(
Spawn(StickyBot, spacing=50)
if player_count > 1
else None
),
(
Spawn(StickyBot, spacing=50)
if player_count > 3
else None
),
],
),
Wave(
@ -525,14 +587,18 @@ class OnslaughtGame(bs.CoopGameActivity[Player, Team]):
entries=[
Spawn(TriggerBot, spacing=72),
Spawn(TriggerBot, spacing=72),
Spawn(TriggerBot, spacing=72)
if self._preset is Preset.PRO
else None,
(
Spawn(TriggerBot, spacing=72)
if self._preset is Preset.PRO
else None
),
Spawn(TriggerBot, spacing=72),
Spawn(TriggerBot, spacing=72),
Spawn(TriggerBot, spacing=36)
if player_count > 2
else None,
(
Spawn(TriggerBot, spacing=36)
if player_count > 2
else None
),
],
),
Wave(
@ -540,15 +606,21 @@ class OnslaughtGame(bs.CoopGameActivity[Player, Team]):
entries=[
Spawn(ChargerBotProShielded, spacing=50),
Spawn(ChargerBotProShielded, spacing=50),
Spawn(ChargerBotProShielded, spacing=50)
if self._preset is Preset.PRO
else None,
Spawn(ChargerBotProShielded, spacing=50)
if player_count > 1
else None,
Spawn(ChargerBotProShielded, spacing=50)
if player_count > 2
else None,
(
Spawn(ChargerBotProShielded, spacing=50)
if self._preset is Preset.PRO
else None
),
(
Spawn(ChargerBotProShielded, spacing=50)
if player_count > 1
else None
),
(
Spawn(ChargerBotProShielded, spacing=50)
if player_count > 2
else None
),
],
),
]
@ -566,15 +638,21 @@ class OnslaughtGame(bs.CoopGameActivity[Player, Team]):
self._waves = [
Wave(
entries=[
Spawn(BomberBotProStatic, Point.TURRET_TOP_MIDDLE_LEFT)
if hard
else None,
(
Spawn(
BomberBotProStatic, Point.TURRET_TOP_MIDDLE_LEFT
)
if hard
else None
),
Spawn(
BomberBotProStatic, Point.TURRET_TOP_MIDDLE_RIGHT
),
Spawn(BomberBotProStatic, Point.TURRET_TOP_LEFT)
if player_count > 2
else None,
(
Spawn(BomberBotProStatic, Point.TURRET_TOP_LEFT)
if player_count > 2
else None
),
Spawn(ExplodeyBot, Point.TOP_RIGHT),
Delay(4.0),
Spawn(ExplodeyBot, Point.TOP_LEFT),
@ -584,9 +662,11 @@ class OnslaughtGame(bs.CoopGameActivity[Player, Team]):
entries=[
Spawn(ChargerBot, Point.LEFT),
Spawn(ChargerBot, Point.RIGHT),
Spawn(ChargerBot, Point.RIGHT_UPPER_MORE)
if player_count > 2
else None,
(
Spawn(ChargerBot, Point.RIGHT_UPPER_MORE)
if player_count > 2
else None
),
Spawn(BomberBotProStatic, Point.TURRET_TOP_LEFT),
Spawn(BomberBotProStatic, Point.TURRET_TOP_RIGHT),
]
@ -594,29 +674,39 @@ class OnslaughtGame(bs.CoopGameActivity[Player, Team]):
Wave(
entries=[
Spawn(TriggerBotPro, Point.TOP_RIGHT),
Spawn(TriggerBotPro, Point.RIGHT_UPPER_MORE)
if player_count > 1
else None,
(
Spawn(TriggerBotPro, Point.RIGHT_UPPER_MORE)
if player_count > 1
else None
),
Spawn(TriggerBotPro, Point.RIGHT_UPPER),
Spawn(TriggerBotPro, Point.RIGHT_LOWER)
if hard
else None,
Spawn(TriggerBotPro, Point.RIGHT_LOWER_MORE)
if player_count > 2
else None,
(
Spawn(TriggerBotPro, Point.RIGHT_LOWER)
if hard
else None
),
(
Spawn(TriggerBotPro, Point.RIGHT_LOWER_MORE)
if player_count > 2
else None
),
Spawn(TriggerBotPro, Point.BOTTOM_RIGHT),
]
),
Wave(
entries=[
Spawn(ChargerBotProShielded, Point.BOTTOM_RIGHT),
Spawn(ChargerBotProShielded, Point.BOTTOM)
if player_count > 2
else None,
(
Spawn(ChargerBotProShielded, Point.BOTTOM)
if player_count > 2
else None
),
Spawn(ChargerBotProShielded, Point.BOTTOM_LEFT),
Spawn(ChargerBotProShielded, Point.TOP)
if hard
else None,
(
Spawn(ChargerBotProShielded, Point.TOP)
if hard
else None
),
Spawn(BomberBotProStatic, Point.TURRET_TOP_MIDDLE),
]
),
@ -643,12 +733,21 @@ class OnslaughtGame(bs.CoopGameActivity[Player, Team]):
Spawn(BomberBotProStatic, Point.TURRET_TOP_RIGHT),
Spawn(BomberBotProStatic, Point.TURRET_BOTTOM_LEFT),
Spawn(BomberBotProStatic, Point.TURRET_BOTTOM_RIGHT),
Spawn(BomberBotProStatic, Point.TURRET_TOP_MIDDLE_LEFT)
if hard
else None,
Spawn(BomberBotProStatic, Point.TURRET_TOP_MIDDLE_RIGHT)
if hard
else None,
(
Spawn(
BomberBotProStatic, Point.TURRET_TOP_MIDDLE_LEFT
)
if hard
else None
),
(
Spawn(
BomberBotProStatic,
Point.TURRET_TOP_MIDDLE_RIGHT,
)
if hard
else None
),
]
),
]
@ -667,12 +766,14 @@ class OnslaughtGame(bs.CoopGameActivity[Player, Team]):
# Spit out a few powerups and start dropping more shortly.
self._drop_powerups(
standard_points=True,
poweruptype='curse'
if self._preset in [Preset.UBER, Preset.UBER_EASY]
else (
'land_mines'
if self._preset in [Preset.ROOKIE, Preset.ROOKIE_EASY]
else None
poweruptype=(
'curse'
if self._preset in [Preset.UBER, Preset.UBER_EASY]
else (
'land_mines'
if self._preset in [Preset.ROOKIE, Preset.ROOKIE_EASY]
else None
)
),
)
bs.timer(4.0, self._start_powerup_drops)

View File

@ -778,9 +778,11 @@ class RaceGame(bs.TeamGameActivity[Player, Team]):
assert self._timer is not None
if self._timer.has_started():
self._timer.stop(
endtime=None
if self._last_team_time is None
else (self._timer.getstarttime() + self._last_team_time)
endtime=(
None
if self._last_team_time is None
else (self._timer.getstarttime() + self._last_team_time)
)
)
results = bs.GameResults()

View File

@ -279,9 +279,11 @@ class RunaroundGame(bs.CoopGameActivity[Player, Team]):
Spacing(duration=1.0),
Spawn(TriggerBot, path=3),
Spacing(duration=1.0),
Spawn(TriggerBot, path=1)
if (player_count > 1 and hard)
else None,
(
Spawn(TriggerBot, path=1)
if (player_count > 1 and hard)
else None
),
Spacing(duration=1.0),
Spawn(TriggerBot, path=2) if player_count > 2 else None,
Spacing(duration=1.0),
@ -320,17 +322,23 @@ class RunaroundGame(bs.CoopGameActivity[Player, Team]):
Spacing(duration=1.5),
Spawn(BomberBotProShielded, path=1) if hard else None,
Spacing(duration=1.5) if hard else None,
Spawn(BomberBotProShielded, path=3)
if player_count > 1
else None,
(
Spawn(BomberBotProShielded, path=3)
if player_count > 1
else None
),
Spacing(duration=1.5),
Spawn(BomberBotProShielded, path=2)
if player_count > 2
else None,
(
Spawn(BomberBotProShielded, path=2)
if player_count > 2
else None
),
Spacing(duration=1.5),
Spawn(BomberBotProShielded, path=1)
if player_count > 3
else None,
(
Spawn(BomberBotProShielded, path=1)
if player_count > 3
else None
),
]
),
]
@ -352,9 +360,11 @@ class RunaroundGame(bs.CoopGameActivity[Player, Team]):
BrawlerBotPro if hard else BrawlerBot,
point=Point.BOTTOM_LEFT,
),
Spawn(BrawlerBotPro, point=Point.BOTTOM_RIGHT)
if player_count > 2
else None,
(
Spawn(BrawlerBotPro, point=Point.BOTTOM_RIGHT)
if player_count > 2
else None
),
]
),
Wave(
@ -375,9 +385,11 @@ class RunaroundGame(bs.CoopGameActivity[Player, Team]):
Spawn(BomberBotProShielded, path=3),
Spawn(BomberBotProShielded, path=3),
Spawn(ChargerBot, point=Point.BOTTOM_RIGHT),
Spawn(ChargerBot, point=Point.BOTTOM_LEFT)
if player_count > 2
else None,
(
Spawn(ChargerBot, point=Point.BOTTOM_LEFT)
if player_count > 2
else None
),
]
),
Wave(
@ -388,12 +400,16 @@ class RunaroundGame(bs.CoopGameActivity[Player, Team]):
Spawn(TriggerBotPro, path=1 if hard else 2),
Spawn(TriggerBotPro, path=1 if hard else 2),
Spawn(TriggerBotPro, path=1 if hard else 2),
Spawn(TriggerBotPro, path=1 if hard else 2)
if player_count > 1
else None,
Spawn(TriggerBotPro, path=1 if hard else 2)
if player_count > 3
else None,
(
Spawn(TriggerBotPro, path=1 if hard else 2)
if player_count > 1
else None
),
(
Spawn(TriggerBotPro, path=1 if hard else 2)
if player_count > 3
else None
),
]
),
Wave(
@ -402,12 +418,20 @@ class RunaroundGame(bs.CoopGameActivity[Player, Team]):
TriggerBotProShielded if hard else TriggerBotPro,
point=Point.BOTTOM_LEFT,
),
Spawn(TriggerBotProShielded, point=Point.BOTTOM_RIGHT)
if hard
else None,
Spawn(TriggerBotProShielded, point=Point.BOTTOM_RIGHT)
if player_count > 2
else None,
(
Spawn(
TriggerBotProShielded, point=Point.BOTTOM_RIGHT
)
if hard
else None
),
(
Spawn(
TriggerBotProShielded, point=Point.BOTTOM_RIGHT
)
if player_count > 2
else None
),
Spawn(BomberBot, path=3),
Spawn(BomberBot, path=3),
Spacing(duration=5.0),
@ -425,15 +449,19 @@ class RunaroundGame(bs.CoopGameActivity[Player, Team]):
Spawn(StickyBot, point=Point.BOTTOM_RIGHT),
Spawn(BomberBotProShielded, path=2),
Spawn(BomberBotProShielded, path=2),
Spawn(StickyBot, point=Point.BOTTOM_RIGHT)
if player_count > 2
else None,
(
Spawn(StickyBot, point=Point.BOTTOM_RIGHT)
if player_count > 2
else None
),
Spawn(BomberBotProShielded, path=2),
Spawn(ExplodeyBot, point=Point.BOTTOM_LEFT),
Spawn(BomberBotProShielded, path=2),
Spawn(BomberBotProShielded, path=2)
if player_count > 1
else None,
(
Spawn(BomberBotProShielded, path=2)
if player_count > 1
else None
),
Spacing(duration=5.0),
Spawn(StickyBot, point=Point.BOTTOM_LEFT),
Spacing(duration=2.0),
@ -461,9 +489,7 @@ class RunaroundGame(bs.CoopGameActivity[Player, Team]):
l_offs = (
-80
if uiscale is bs.UIScale.SMALL
else -40
if uiscale is bs.UIScale.MEDIUM
else 0
else -40 if uiscale is bs.UIScale.MEDIUM else 0
)
self._lives_bg = bs.NodeActor(

View File

@ -321,11 +321,15 @@ class Target(bs.Actor):
bs.getsound(
'orchestraHit4'
if streak > 3
else 'orchestraHit3'
if streak > 2
else 'orchestraHit2'
if streak > 1
else 'orchestraHit'
else (
'orchestraHit3'
if streak > 2
else (
'orchestraHit2'
if streak > 1
else 'orchestraHit'
)
)
).play()
elif dist <= self._r2 + self._rfudge:
self._nodes[0].color = cdull

View File

@ -164,9 +164,7 @@ class UIController:
entrynew = (
self._dialog_stack[-1]
if self._dialog_stack
else self._main_stack[-1]
if self._main_stack
else None
else self._main_stack[-1] if self._main_stack else None
)
if entrynew is not None:
entrynew.create()

View File

@ -41,15 +41,13 @@ class OnScreenKeyboardWindow(Window):
scale=(
2.0
if uiscale is babase.UIScale.SMALL
else 1.5
if uiscale is babase.UIScale.MEDIUM
else 1.0
else 1.5 if uiscale is babase.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, 0)
if uiscale is babase.UIScale.SMALL
else (0, 0) if uiscale is babase.UIScale.MEDIUM else (0, 0)
),
stack_offset=(0, 0)
if uiscale is babase.UIScale.SMALL
else (0, 0)
if uiscale is babase.UIScale.MEDIUM
else (0, 0),
)
)
self._cancel_button = _bauiv1.buttonwidget(
@ -300,9 +298,11 @@ class OnScreenKeyboardWindow(Window):
chars = [c.upper() for c in chars]
_bauiv1.buttonwidget(
edit=self._shift_button,
color=self._key_color_lit
if self._mode == 'caps'
else self._key_color_dark,
color=(
self._key_color_lit
if self._mode == 'caps'
else self._key_color_dark
),
label=babase.charstr(babase.SpecialChar.SHIFT),
on_activate_call=self._shift,
)

View File

@ -38,9 +38,7 @@ class AccountLinkWindow(bui.Window):
base_scale = (
1.65
if uiscale is bui.UIScale.SMALL
else 1.5
if uiscale is bui.UIScale.MEDIUM
else 1.1
else 1.5 if uiscale is bui.UIScale.MEDIUM else 1.1
)
super().__init__(
root_widget=bui.containerwidget(
@ -48,9 +46,9 @@ class AccountLinkWindow(bui.Window):
transition=transition,
scale=base_scale,
scale_origin_stack_offset=scale_origin,
stack_offset=(0, -10)
if uiscale is bui.UIScale.SMALL
else (0, 0),
stack_offset=(
(0, -10) if uiscale is bui.UIScale.SMALL else (0, 0)
),
)
)
self._cancel_button = bui.buttonwidget(
@ -159,9 +157,7 @@ class AccountLinkCodeWindow(bui.Window):
scale=(
1.8
if uiscale is bui.UIScale.SMALL
else 1.35
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.35 if uiscale is bui.UIScale.MEDIUM else 1.0
),
)
)

View File

@ -74,9 +74,7 @@ class AccountSettingsWindow(bui.Window):
self._height = (
390
if uiscale is bui.UIScale.SMALL
else 430
if uiscale is bui.UIScale.MEDIUM
else 490
else 430 if uiscale is bui.UIScale.MEDIUM else 490
)
self._sign_in_button = None
@ -112,13 +110,11 @@ class AccountSettingsWindow(bui.Window):
scale=(
2.09
if uiscale is bui.UIScale.SMALL
else 1.4
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.4 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -19) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -19)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)
if uiscale is bui.UIScale.SMALL and app.ui_v1.use_toolbars:
@ -928,9 +924,9 @@ class AccountSettingsWindow(bui.Window):
if gpgs_active
else 'achievementsIcon'
),
icon_color=(0.8, 0.95, 0.7)
if gpgs_active
else (0.85, 0.8, 0.9),
icon_color=(
(0.8, 0.95, 0.7) if gpgs_active else (0.85, 0.8, 0.9)
),
on_activate_call=(
self._on_custom_achievements_press
if gpgs_active

View File

@ -39,9 +39,7 @@ class AccountUnlinkWindow(bui.Window):
base_scale = (
2.0
if uiscale is bui.UIScale.SMALL
else 1.6
if uiscale is bui.UIScale.MEDIUM
else 1.1
else 1.6 if uiscale is bui.UIScale.MEDIUM else 1.1
)
super().__init__(
root_widget=bui.containerwidget(
@ -49,9 +47,9 @@ class AccountUnlinkWindow(bui.Window):
transition=transition,
scale=base_scale,
scale_origin_stack_offset=scale_origin,
stack_offset=(0, -10)
if uiscale is bui.UIScale.SMALL
else (0, 0),
stack_offset=(
(0, -10) if uiscale is bui.UIScale.SMALL else (0, 0)
),
)
)
self._cancel_button = bui.buttonwidget(

View File

@ -34,9 +34,7 @@ class V2ProxySignInWindow(bui.Window):
scale=(
1.25
if uiscale is bui.UIScale.SMALL
else 1.05
if uiscale is bui.UIScale.MEDIUM
else 0.9
else 1.05 if uiscale is bui.UIScale.MEDIUM else 0.9
),
)
)

View File

@ -43,9 +43,7 @@ class AccountViewerWindow(PopupWindow):
scale = (
2.6
if uiscale is bui.UIScale.SMALL
else 1.8
if uiscale is bui.UIScale.MEDIUM
else 1.4
else 1.8 if uiscale is bui.UIScale.MEDIUM else 1.4
)
self._transitioning_out = False
@ -53,9 +51,7 @@ class AccountViewerWindow(PopupWindow):
self._height = (
300
if uiscale is bui.UIScale.SMALL
else 400
if uiscale is bui.UIScale.MEDIUM
else 450
else 400 if uiscale is bui.UIScale.MEDIUM else 450
)
self._subcontainer: bui.Widget | None = None
@ -186,9 +182,7 @@ class AccountViewerWindow(PopupWindow):
scale=(
2.3
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
),
choices=choices,
choices_display=choices_display,

View File

@ -23,18 +23,14 @@ class AchievementsWindow(PopupWindow):
scale = (
2.3
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
)
self._transitioning_out = False
self._width = 450
self._height = (
300
if uiscale is bui.UIScale.SMALL
else 370
if uiscale is bui.UIScale.MEDIUM
else 450
else 370 if uiscale is bui.UIScale.MEDIUM else 450
)
bg_color = (0.5, 0.4, 0.6)
@ -126,9 +122,11 @@ class AchievementsWindow(PopupWindow):
bui.imagewidget(
parent=self._subcontainer,
position=(sub_width * 0.10 + 1, sub_height - 20 - incr * i - 9)
if complete
else (sub_width * 0.10 - 4, sub_height - 20 - incr * i - 14),
position=(
(sub_width * 0.10 + 1, sub_height - 20 - incr * i - 9)
if complete
else (sub_width * 0.10 - 4, sub_height - 20 - incr * i - 14)
),
size=(18, 18) if complete else (27, 27),
opacity=1.0 if complete else 0.3,
color=ach.get_icon_color(complete)[:3],
@ -167,9 +165,11 @@ class AchievementsWindow(PopupWindow):
flatness=1.0,
shadow=0.0,
color=(0.83, 0.8, 0.85) if complete else (0.8, 0.8, 0.8, 0.2),
text=ach.description_full_complete
if complete
else ach.description_full,
text=(
ach.description_full_complete
if complete
else ach.description_full
),
size=(0, 0),
h_align='left',
v_align='center',

View File

@ -31,9 +31,7 @@ class ShowFriendCodeWindow(bui.Window):
scale=(
1.7
if uiscale is bui.UIScale.SMALL
else 1.35
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.35 if uiscale is bui.UIScale.MEDIUM else 1.0
),
)
)

View File

@ -41,9 +41,7 @@ class CharacterPicker(PopupWindow):
scale = (
1.85
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
)
self._delegate = delegate

View File

@ -43,9 +43,7 @@ class ColorPicker(PopupWindow):
scale = (
2.3
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
)
self._parent = parent
self._position = position
@ -206,9 +204,7 @@ class ColorPickerExact(PopupWindow):
scale = (
2.3
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
)
self._delegate = delegate
self._transitioning_out = False

View File

@ -61,9 +61,7 @@ class ConfirmWindow:
scale=(
2.1
if uiscale is bui.UIScale.SMALL
else 1.5
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.5 if uiscale is bui.UIScale.MEDIUM else 1.0
),
scale_origin_stack_offset=scale_origin,
)
@ -187,8 +185,10 @@ class QuitWindow:
resource=quit_resource,
subs=[('${APP_NAME}', bui.Lstr(resource='titleText'))],
),
lambda: bui.quit(confirm=False, quit_type=self._quit_type)
if self._quit_type is not None
else bui.quit(confirm=False),
lambda: (
bui.quit(confirm=False, quit_type=self._quit_type)
if self._quit_type is not None
else bui.quit(confirm=False)
),
origin_widget=origin_widget,
).root_widget

View File

@ -148,9 +148,11 @@ class GameButton:
draw_controller=btn,
position=(xach, yach),
size=(a_scale, a_scale),
color=tuple(ach.get_icon_color(a_complete)[:3])
if a_complete
else (1.2, 1.2, 1.2),
color=(
tuple(ach.get_icon_color(a_complete)[:3])
if a_complete
else (1.2, 1.2, 1.2)
),
texture=ach.get_icon_ui_texture(a_complete),
)
imw2 = bui.imagewidget(
@ -307,8 +309,6 @@ class GameButton:
opacity=(
1.0
if (a_complete and unlocked)
else 0.2
if a_complete
else 0.0
else 0.2 if a_complete else 0.0
),
)

View File

@ -23,9 +23,7 @@ class CoopLevelLockedWindow(bui.Window):
scale=(
1.7
if uiscale is bui.UIScale.SMALL
else 1.3
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.3 if uiscale is bui.UIScale.MEDIUM else 1.0
),
)
)

View File

@ -417,9 +417,7 @@ class TournamentButton:
prize_y_offs = (
34
if 'prizeRange3' in entry
else 20
if 'prizeRange2' in entry
else 12
else 20 if 'prizeRange2' in entry else 12
)
x_offs = 90
@ -460,9 +458,11 @@ class TournamentButton:
bui.textwidget(
edit=self.prize_value_1_text,
text='-' if pv1 == '' else pv1,
scale=prize_value_scale_large
if ticket_char not in pv1
else prize_value_scale_small,
scale=(
prize_value_scale_large
if ticket_char not in pv1
else prize_value_scale_small
),
position=(
self.button_x + 380 + x_offs,
self.button_y + self.button_scale_y - 93 + prize_y_offs,
@ -480,9 +480,11 @@ class TournamentButton:
bui.textwidget(
edit=self.prize_value_2_text,
text=pv2,
scale=prize_value_scale_large
if ticket_char not in pv2
else prize_value_scale_small,
scale=(
prize_value_scale_large
if ticket_char not in pv2
else prize_value_scale_small
),
position=(
self.button_x + 380 + x_offs,
self.button_y + self.button_scale_y - 93 - 45 + prize_y_offs,
@ -500,9 +502,11 @@ class TournamentButton:
bui.textwidget(
edit=self.prize_value_3_text,
text=pv3,
scale=prize_value_scale_large
if ticket_char not in pv3
else prize_value_scale_small,
scale=(
prize_value_scale_large
if ticket_char not in pv3
else prize_value_scale_small
),
position=(
self.button_x + 380 + x_offs,
self.button_y + self.button_scale_y - 93 - 90 + prize_y_offs,
@ -667,9 +671,11 @@ class TournamentButton:
self.button_x + 360,
self.button_y + self.button_scale_y - 146,
),
text=''
if ad_tries_remaining in [None, 0]
else ('' + str(ad_tries_remaining)),
text=(
''
if ad_tries_remaining in [None, 0]
else ('' + str(ad_tries_remaining))
),
color=(0.6, 0.6, 0.6, 1 if ads_enabled else 0.2),
)
else:

View File

@ -51,13 +51,11 @@ class CreditsListWindow(bui.Window):
scale=(
2.0
if uiscale is bui.UIScale.SMALL
else 1.3
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.3 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -8) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -8)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)

View File

@ -25,9 +25,7 @@ class DebugWindow(bui.Window):
self._height = height = (
350
if uiscale is bui.UIScale.SMALL
else 420
if uiscale is bui.UIScale.MEDIUM
else 520
else 420 if uiscale is bui.UIScale.MEDIUM else 520
)
self._scroll_width = self._width - 100
@ -50,13 +48,11 @@ class DebugWindow(bui.Window):
scale=(
2.35
if uiscale is bui.UIScale.SMALL
else 1.55
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.55 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -30) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -30)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)

View File

@ -45,9 +45,7 @@ class DiscordWindow(bui.Window):
scale=(
1.6
if uiscale is bui.UIScale.SMALL
else 1.3
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.3 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(0, 5) if uiscale is bui.UIScale.SMALL else (0, 0),
)

View File

@ -33,9 +33,7 @@ def ask_for_rating() -> bui.Widget | None:
scale=(
1.6
if uiscale is bui.UIScale.SMALL
else 1.35
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.35 if uiscale is bui.UIScale.MEDIUM else 1.0
),
)
v = height - 50

View File

@ -57,13 +57,11 @@ class FileSelectorWindow(bui.Window):
scale=(
2.23
if uiscale is bui.UIScale.SMALL
else 1.4
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.4 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -35) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -35)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)
bui.textwidget(
@ -73,11 +71,15 @@ class FileSelectorWindow(bui.Window):
color=bui.app.ui_v1.title_color,
h_align='center',
v_align='center',
text=bui.Lstr(resource=self._r + '.titleFolderText')
if (allow_folders and not valid_file_extensions)
else bui.Lstr(resource=self._r + '.titleFileText')
if not allow_folders
else bui.Lstr(resource=self._r + '.titleFileFolderText'),
text=(
bui.Lstr(resource=self._r + '.titleFolderText')
if (allow_folders and not valid_file_extensions)
else (
bui.Lstr(resource=self._r + '.titleFileText')
if not allow_folders
else bui.Lstr(resource=self._r + '.titleFileFolderText')
)
),
maxwidth=210,
)
@ -444,9 +446,11 @@ class FileSelectorWindow(bui.Window):
position=(10 + folder_icon_size * 1.05, entry_height * 0.5),
size=(0, 0),
maxwidth=self._scroll_width * 0.93 - 50,
color=(1, 1, 1, 1)
if (is_valid_file_path or is_dir)
else (0.5, 0.5, 0.5, 1),
color=(
(1, 1, 1, 1)
if (is_valid_file_path or is_dir)
else (0.5, 0.5, 0.5, 1)
),
)
v -= entry_height

View File

@ -99,9 +99,7 @@ class GatherWindow(bui.Window):
self._height = (
582
if uiscale is bui.UIScale.SMALL
else 680
if uiscale is bui.UIScale.MEDIUM
else 800
else 680 if uiscale is bui.UIScale.MEDIUM else 800
)
self._current_tab: GatherWindow.TabID | None = None
extra_top = 20 if uiscale is bui.UIScale.SMALL else 0
@ -116,15 +114,13 @@ class GatherWindow(bui.Window):
scale=(
1.3
if uiscale is bui.UIScale.SMALL
else 0.97
if uiscale is bui.UIScale.MEDIUM
else 0.8
else 0.97 if uiscale is bui.UIScale.MEDIUM else 0.8
),
stack_offset=(
(0, -11)
if uiscale is bui.UIScale.SMALL
else (0, 0) if uiscale is bui.UIScale.MEDIUM else (0, 0)
),
stack_offset=(0, -11)
if uiscale is bui.UIScale.SMALL
else (0, 0)
if uiscale is bui.UIScale.MEDIUM
else (0, 0),
)
)
@ -165,9 +161,7 @@ class GatherWindow(bui.Window):
scale=(
1.5
if not condensed
else 1.0
if uiscale is bui.UIScale.MEDIUM
else 0.6
else 1.0 if uiscale is bui.UIScale.MEDIUM else 0.6
),
h_align='center',
v_align='center',

View File

@ -44,9 +44,7 @@ class AboutGatherTab(GatherTab):
message_height = (
210
if uiscale is bui.UIScale.SMALL
else 305
if uiscale is bui.UIScale.MEDIUM
else 370
else 305 if uiscale is bui.UIScale.MEDIUM else 370
)
# Let's not talk about sharing in vr-mode; its tricky to fit more
# than one head in a VR-headset.

View File

@ -837,9 +837,7 @@ class PrivateGatherTab(GatherTab):
color=(
(0.6, 0.6, 0.6)
if disabled
else (0.5, 1.0, 0.5)
if waiting
else None
else (0.5, 1.0, 0.5) if waiting else None
),
enable_sound=False,
label=btnlabel,

View File

@ -204,11 +204,11 @@ class UIRow:
bui.textwidget(
edit=self._ping_widget,
text=str(int(party.ping)),
color=(0, 1, 0)
if party.ping <= ping_good
else (1, 1, 0)
if party.ping <= ping_med
else (1, 0, 0),
color=(
(0, 1, 0)
if party.ping <= ping_good
else (1, 1, 0) if party.ping <= ping_med else (1, 0, 0)
),
)
party.clean_display_index = index
@ -369,8 +369,8 @@ class PublicGatherTab(GatherTab):
self._join_status_text: bui.Widget | None = None
self._no_servers_found_text: bui.Widget | None = None
self._host_max_party_size_value: bui.Widget | None = None
self._host_max_party_size_minus_button: (bui.Widget | None) = None
self._host_max_party_size_plus_button: (bui.Widget | None) = None
self._host_max_party_size_minus_button: bui.Widget | None = None
self._host_max_party_size_plus_button: bui.Widget | None = None
self._host_status_text: bui.Widget | None = None
self._signed_in = False
self._ui_rows: list[UIRow] = []
@ -800,9 +800,11 @@ class PublicGatherTab(GatherTab):
parent=self._container,
label=label,
size=(400, 80),
on_activate_call=self._on_stop_advertising_press
if is_public_enabled
else self._on_start_advertizing_press,
on_activate_call=(
self._on_stop_advertising_press
if is_public_enabled
else self._on_start_advertizing_press
),
position=(c_width * 0.5 - 200, v),
autoselect=True,
up_widget=btn2,

View File

@ -72,13 +72,11 @@ class GetCurrencyWindow(bui.Window):
scale=(
1.63
if uiscale is bui.UIScale.SMALL
else 1.2
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.2 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -3) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -3)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)
@ -605,11 +603,11 @@ class GetCurrencyWindow(bui.Window):
self._smooth_increase_speed = (
diff / 100.0
if diff >= 5000
else diff / 50.0
if diff >= 1500
else diff / 30.0
if diff >= 500
else diff / 15.0
else (
diff / 50.0
if diff >= 1500
else diff / 30.0 if diff >= 500 else diff / 15.0
)
)
def _disabled_press(self) -> None:

View File

@ -20,9 +20,7 @@ class GetBSRemoteWindow(PopupWindow):
scale = (
2.3
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
)
self._transitioning_out = False
self._width = 570

View File

@ -41,9 +41,7 @@ class HelpWindow(bui.Window):
height = (
460
if uiscale is bui.UIScale.SMALL
else 530
if uiscale is bui.UIScale.MEDIUM
else 600
else 530 if uiscale is bui.UIScale.MEDIUM else 600
)
super().__init__(
@ -55,15 +53,13 @@ class HelpWindow(bui.Window):
scale=(
1.77
if uiscale is bui.UIScale.SMALL
else 1.25
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.25 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -30)
if uiscale is bui.UIScale.SMALL
else (0, 15) if uiscale is bui.UIScale.MEDIUM else (0, 0)
),
stack_offset=(0, -30)
if uiscale is bui.UIScale.SMALL
else (0, 15)
if uiscale is bui.UIScale.MEDIUM
else (0, 0),
)
)
@ -119,9 +115,11 @@ class HelpWindow(bui.Window):
),
size=(140, 60),
scale=0.7 if uiscale is bui.UIScale.SMALL else 0.8,
label=bui.Lstr(resource='backText')
if self._main_menu
else 'Close',
label=(
bui.Lstr(resource='backText')
if self._main_menu
else 'Close'
),
button_type='back' if self._main_menu else None,
extra_touch_border_scale=2.0,
autoselect=True,

View File

@ -40,9 +40,7 @@ class IconPicker(PopupWindow):
scale = (
1.85
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
)
self._delegate = delegate

View File

@ -472,9 +472,9 @@ class KioskWindow(bui.Window):
'type': 'bs_hockey.HockeyGame',
}
]
appconfig[
'Team Tournament Playlist Selection'
] = 'Just Hockey'
appconfig['Team Tournament Playlist Selection'] = (
'Just Hockey'
)
bui.fade_screen(
False,
endcall=bui.Call(
@ -488,9 +488,11 @@ class KioskWindow(bui.Window):
game = (
'Easy:Onslaught Training'
if mode == 'easy'
else 'Easy:Rookie Football'
if mode == 'medium'
else 'Easy:Uber Onslaught'
else (
'Easy:Rookie Football'
if mode == 'medium'
else 'Easy:Uber Onslaught'
)
)
cfg = bui.app.config
cfg['Selected Coop Game'] = game

View File

@ -63,9 +63,7 @@ class LeagueRankWindow(bui.Window):
self._height = (
657
if uiscale is bui.UIScale.SMALL
else 710
if uiscale is bui.UIScale.MEDIUM
else 800
else 710 if uiscale is bui.UIScale.MEDIUM else 800
)
self._r = 'coopSelectWindow'
self._rdict = bui.app.lang.get_resource(self._r)
@ -79,19 +77,17 @@ class LeagueRankWindow(bui.Window):
super().__init__(
root_widget=bui.containerwidget(
size=(self._width, self._height + top_extra),
stack_offset=(0, -15)
if uiscale is bui.UIScale.SMALL
else (0, 10)
if uiscale is bui.UIScale.MEDIUM
else (0, 0),
stack_offset=(
(0, -15)
if uiscale is bui.UIScale.SMALL
else (0, 10) if uiscale is bui.UIScale.MEDIUM else (0, 0)
),
transition=transition,
scale_origin_stack_offset=scale_origin,
scale=(
1.2
if uiscale is bui.UIScale.SMALL
else 0.93
if uiscale is bui.UIScale.MEDIUM
else 0.8
else 0.93 if uiscale is bui.UIScale.MEDIUM else 0.8
),
)
)
@ -210,9 +206,11 @@ class LeagueRankWindow(bui.Window):
assert plus is not None
txt = bui.Lstr(
resource='coopSelectWindow.activenessAllTimeInfoText'
if self._season == 'a'
else 'coopSelectWindow.activenessInfoText',
resource=(
'coopSelectWindow.activenessAllTimeInfoText'
if self._season == 'a'
else 'coopSelectWindow.activenessInfoText'
),
subs=[
(
'${MAX}',
@ -853,9 +851,11 @@ class LeagueRankWindow(bui.Window):
bui.textwidget(
edit=self._league_title_text,
text=''
if self._season == 'a'
else bui.Lstr(resource='league.leagueText'),
text=(
''
if self._season == 'a'
else bui.Lstr(resource='league.leagueText')
),
)
if data is None:
@ -910,9 +910,11 @@ class LeagueRankWindow(bui.Window):
bui.textwidget(edit=self._season_ends_text, text=to_end_string)
bui.textwidget(
edit=self._trophy_counts_reset_text,
text=bui.Lstr(resource='league.trophyCountsResetText')
if self._is_current_season and show_season_end
else '',
text=(
bui.Lstr(resource='league.trophyCountsResetText')
if self._is_current_season and show_season_end
else ''
),
)
bui.textwidget(edit=self._league_text, text=lname, color=lcolor)
@ -932,21 +934,25 @@ class LeagueRankWindow(bui.Window):
)
bui.textwidget(
edit=self._to_ranked_text,
text=bui.Lstr(resource='coopSelectWindow.toRankedText').evaluate()
+ ''
+ extra_text
if do_percent
else '',
text=(
bui.Lstr(resource='coopSelectWindow.toRankedText').evaluate()
+ ''
+ extra_text
if do_percent
else ''
),
)
bui.textwidget(
edit=self._your_power_ranking_text,
text=bui.Lstr(
resource='rankText',
fallback_resource='coopSelectWindow.yourPowerRankingText',
)
if (not do_percent)
else '',
text=(
bui.Lstr(
resource='rankText',
fallback_resource='coopSelectWindow.yourPowerRankingText',
)
if (not do_percent)
else ''
),
)
bui.textwidget(
@ -954,11 +960,11 @@ class LeagueRankWindow(bui.Window):
position=(473, v - 70 - (170 if do_percent else 220)),
text=status_text,
big=(in_top or do_percent),
scale=3.0
if (in_top or do_percent)
else 0.7
if finished_season_unranked
else 1.0,
scale=(
3.0
if (in_top or do_percent)
else 0.7 if finished_season_unranked else 1.0
),
)
if self._activity_mult_button is not None:
@ -992,9 +998,11 @@ class LeagueRankWindow(bui.Window):
# pylint: disable=consider-using-f-string
bui.textwidget(
edit=self._pro_mult_text,
text=' -'
if (data is None or not have_pro)
else 'x ' + ('%.2f' % pro_mult),
text=(
' -'
if (data is None or not have_pro)
else 'x ' + ('%.2f' % pro_mult)
),
)
bui.buttonwidget(
edit=self._pro_mult_button,
@ -1019,9 +1027,11 @@ class LeagueRankWindow(bui.Window):
bui.textwidget(
edit=self._power_ranking_achievement_total_text,
text='-'
if data is None
else ('+ ' + pts_txt.replace('${NUMBER}', str(total_ach_value))),
text=(
'-'
if data is None
else ('+ ' + pts_txt.replace('${NUMBER}', str(total_ach_value)))
),
)
total_trophies_count = accounts.get_league_rank_points(
@ -1035,19 +1045,24 @@ class LeagueRankWindow(bui.Window):
)
bui.textwidget(
edit=self._power_ranking_trophies_total_text,
text='-'
if data is None
else (
'+ ' + pts_txt.replace('${NUMBER}', str(total_trophies_value))
text=(
'-'
if data is None
else (
'+ '
+ pts_txt.replace('${NUMBER}', str(total_trophies_value))
)
),
)
bui.textwidget(
edit=self._power_ranking_total_text,
text='-'
if data is None
else eq_text.replace(
'${NUMBER}', str(accounts.get_league_rank_points(data))
text=(
'-'
if data is None
else eq_text.replace(
'${NUMBER}', str(accounts.get_league_rank_points(data))
)
),
)
for widget in self._power_ranking_score_widgets:

View File

@ -43,9 +43,11 @@ class MainMenuWindow(bui.Window):
super().__init__(
root_widget=bui.containerwidget(
transition=transition,
toolbar_visibility='menu_minimal_no_back'
if self._in_game
else 'menu_minimal_no_back',
toolbar_visibility=(
'menu_minimal_no_back'
if self._in_game
else 'menu_minimal_no_back'
),
)
)
@ -142,9 +144,11 @@ class MainMenuWindow(bui.Window):
return (
'storeCharacterXmas'
if plus.get_v1_account_misc_read_val('xmas', False)
else 'storeCharacterEaster'
if plus.get_v1_account_misc_read_val('easter', False)
else 'storeCharacter'
else (
'storeCharacterEaster'
if plus.get_v1_account_misc_read_val('easter', False)
else 'storeCharacter'
)
)
def _check_refresh(self) -> None:
@ -344,9 +348,7 @@ class MainMenuWindow(bui.Window):
icon_size = (
55
if uiscale is bui.UIScale.SMALL
else 55
if uiscale is bui.UIScale.MEDIUM
else 70
else 55 if uiscale is bui.UIScale.MEDIUM else 70
)
bui.imagewidget(
parent=self._root_widget,
@ -646,9 +648,11 @@ class MainMenuWindow(bui.Window):
color=(0.45, 0.55, 0.45),
textcolor=(0.7, 0.8, 0.7),
label=bui.Lstr(
resource='modeArcadeText'
if bui.app.env.arcade
else 'modeDemoText'
resource=(
'modeArcadeText'
if bui.app.env.arcade
else 'modeDemoText'
)
),
transition_delay=demo_menu_delay,
on_activate_call=self._demo_menu_press,
@ -659,9 +663,7 @@ class MainMenuWindow(bui.Window):
foof = (
-1
if uiscale is bui.UIScale.SMALL
else 1
if uiscale is bui.UIScale.MEDIUM
else 3
else 1 if uiscale is bui.UIScale.MEDIUM else 3
)
h, v, scale = positions[self._p_index]
v = v + foof
@ -906,9 +908,7 @@ class MainMenuWindow(bui.Window):
scale=(
2.15
if uiscale is bui.UIScale.SMALL
else 1.6
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.6 if uiscale is bui.UIScale.MEDIUM else 1.0
),
)
h = 125.0

View File

@ -36,9 +36,7 @@ class PartyWindow(bui.Window):
self._height = (
365
if uiscale is bui.UIScale.SMALL
else 480
if uiscale is bui.UIScale.MEDIUM
else 600
else 480 if uiscale is bui.UIScale.MEDIUM else 600
)
self._display_old_msgs = True
super().__init__(
@ -52,15 +50,15 @@ class PartyWindow(bui.Window):
scale=(
2.0
if uiscale is bui.UIScale.SMALL
else 1.35
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.35 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -10)
if uiscale is bui.UIScale.SMALL
else (
(240, 0) if uiscale is bui.UIScale.MEDIUM else (330, 20)
)
),
stack_offset=(0, -10)
if uiscale is bui.UIScale.SMALL
else (240, 0)
if uiscale is bui.UIScale.MEDIUM
else (330, 20),
)
)
@ -251,9 +249,7 @@ class PartyWindow(bui.Window):
scale=(
2.3
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
),
choices=choices,
choices_display=choices_display,
@ -312,9 +308,7 @@ class PartyWindow(bui.Window):
columns = (
1
if len(self._roster) == 1
else 2
if len(self._roster) == 2
else 3
else 2 if len(self._roster) == 2 else 3
)
rows = int(math.ceil(float(len(self._roster)) / columns))
c_width = (self._width * 0.9) / max(3, columns)
@ -572,9 +566,7 @@ class PartyWindow(bui.Window):
scale=(
2.3
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
),
choices=['kick'],
choices_display=[kick_str],

View File

@ -274,9 +274,7 @@ class PartyQueueWindow(bui.Window):
scale=(
1.4
if uiscale is bui.UIScale.SMALL
else 1.2
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.2 if uiscale is bui.UIScale.MEDIUM else 1.0
),
)
)

View File

@ -57,9 +57,7 @@ class PlayWindow(bui.Window):
scale=(
1.6
if uiscale is bui.UIScale.SMALL
else 0.9
if uiscale is bui.UIScale.MEDIUM
else 0.8
else 0.9 if uiscale is bui.UIScale.MEDIUM else 0.8
),
stack_offset=(0, 0) if uiscale is bui.UIScale.SMALL else (0, 0),
)
@ -83,9 +81,11 @@ class PlayWindow(bui.Window):
# (101 if main_menu else 61)),
size=(0, 0),
text=bui.Lstr(
resource=(self._r + '.titleText')
if self._is_main_menu
else 'playlistsText'
resource=(
(self._r + '.titleText')
if self._is_main_menu
else 'playlistsText'
)
),
scale=1.7,
res_scale=2.0,
@ -494,18 +494,22 @@ class PlayWindow(bui.Window):
bui.containerwidget(
edit=self._root_widget,
on_cancel_call=self._back,
selected_child=self._coop_button
if self._is_main_menu
else self._teams_button,
selected_child=(
self._coop_button
if self._is_main_menu
else self._teams_button
),
)
else:
bui.buttonwidget(edit=back_button, on_activate_call=self._back)
bui.containerwidget(
edit=self._root_widget,
cancel_button=back_button,
selected_child=self._coop_button
if self._is_main_menu
else self._teams_button,
selected_child=(
self._coop_button
if self._is_main_menu
else self._teams_button
),
)
self._restore_state()

View File

@ -30,9 +30,7 @@ class PlaylistAddGameWindow(bui.Window):
self._height = (
346
if uiscale is bui.UIScale.SMALL
else 380
if uiscale is bui.UIScale.MEDIUM
else 440
else 380 if uiscale is bui.UIScale.MEDIUM else 440
)
top_extra = 30 if uiscale is bui.UIScale.SMALL else 20
self._scroll_width = 210
@ -44,9 +42,7 @@ class PlaylistAddGameWindow(bui.Window):
scale=(
2.17
if uiscale is bui.UIScale.SMALL
else 1.5
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.5 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(0, 1) if uiscale is bui.UIScale.SMALL else (0, 0),
)

View File

@ -67,9 +67,7 @@ class PlaylistBrowserWindow(bui.Window):
self._height = (
480
if uiscale is bui.UIScale.SMALL
else 510
if uiscale is bui.UIScale.MEDIUM
else 580
else 510 if uiscale is bui.UIScale.MEDIUM else 580
)
top_extra = 20 if uiscale is bui.UIScale.SMALL else 0
@ -83,13 +81,11 @@ class PlaylistBrowserWindow(bui.Window):
scale=(
1.69
if uiscale is bui.UIScale.SMALL
else 1.05
if uiscale is bui.UIScale.MEDIUM
else 0.9
else 1.05 if uiscale is bui.UIScale.MEDIUM else 0.9
),
stack_offset=(
(0, -26) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -26)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)
@ -714,9 +710,9 @@ class PlaylistBrowserWindow(bui.Window):
)
if self._selected_playlist != prev_sel:
cfg = bui.app.config
cfg[
self._pvars.config_name + ' Playlist Selection'
] = self._selected_playlist
cfg[self._pvars.config_name + ' Playlist Selection'] = (
self._selected_playlist
)
cfg.commit()
self._save_state()

View File

@ -36,9 +36,7 @@ class PlaylistEditWindow(bui.Window):
self._height = (
400
if uiscale is bui.UIScale.SMALL
else 470
if uiscale is bui.UIScale.MEDIUM
else 540
else 470 if uiscale is bui.UIScale.MEDIUM else 540
)
top_extra = 20 if uiscale is bui.UIScale.SMALL else 0
@ -49,13 +47,11 @@ class PlaylistEditWindow(bui.Window):
scale=(
2.0
if uiscale is bui.UIScale.SMALL
else 1.3
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.3 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -16) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -16)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)
cancel_button = bui.buttonwidget(
@ -149,9 +145,7 @@ class PlaylistEditWindow(bui.Window):
scl = (
1.03
if uiscale is bui.UIScale.SMALL
else 1.36
if uiscale is bui.UIScale.MEDIUM
else 1.74
else 1.36 if uiscale is bui.UIScale.MEDIUM else 1.74
)
v -= 63.0 * scl

View File

@ -108,9 +108,7 @@ class PlaylistEditGameWindow(bui.Window):
height = (
365
if uiscale is bui.UIScale.SMALL
else 460
if uiscale is bui.UIScale.MEDIUM
else 550
else 460 if uiscale is bui.UIScale.MEDIUM else 550
)
spacing = 52
y_extra = 15
@ -129,13 +127,11 @@ class PlaylistEditGameWindow(bui.Window):
scale=(
2.19
if uiscale is bui.UIScale.SMALL
else 1.35
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.35 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -17) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -17)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)
@ -143,9 +139,11 @@ class PlaylistEditGameWindow(bui.Window):
parent=self._root_widget,
position=(45 + x_inset, height - 82 + y_extra2),
size=(180, 70) if is_add else (180, 65),
label=bui.Lstr(resource='backText')
if is_add
else bui.Lstr(resource='cancelText'),
label=(
bui.Lstr(resource='backText')
if is_add
else bui.Lstr(resource='cancelText')
),
button_type='back' if is_add else None,
autoselect=True,
scale=0.75,
@ -160,9 +158,11 @@ class PlaylistEditGameWindow(bui.Window):
size=(200, 65),
scale=0.75,
text_scale=1.3,
label=bui.Lstr(resource=self._r + '.addGameText')
if is_add
else bui.Lstr(resource='doneText'),
label=(
bui.Lstr(resource=self._r + '.addGameText')
if is_add
else bui.Lstr(resource='doneText')
),
)
if bui.app.ui_v1.use_toolbars:
@ -447,9 +447,11 @@ class PlaylistEditGameWindow(bui.Window):
parent=self._subcontainer,
position=(h + 509 - 95, v),
size=(0, 28),
text=bui.Lstr(resource='onText')
if value
else bui.Lstr(resource='offText'),
text=(
bui.Lstr(resource='onText')
if value
else bui.Lstr(resource='offText')
),
editable=False,
color=(0.6, 1.0, 0.6, 1.0),
maxwidth=mw2,
@ -566,9 +568,11 @@ class PlaylistEditGameWindow(bui.Window):
) -> None:
bui.textwidget(
edit=widget,
text=bui.Lstr(resource='onText')
if value
else bui.Lstr(resource='offText'),
text=(
bui.Lstr(resource='onText')
if value
else bui.Lstr(resource='offText')
),
)
self._settings[setting_name] = value

View File

@ -49,9 +49,7 @@ class PlaylistMapSelectWindow(bui.Window):
height = (
400
if uiscale is bui.UIScale.SMALL
else 480
if uiscale is bui.UIScale.MEDIUM
else 600
else 480 if uiscale is bui.UIScale.MEDIUM else 600
)
top_extra = 20 if uiscale is bui.UIScale.SMALL else 0
@ -62,13 +60,11 @@ class PlaylistMapSelectWindow(bui.Window):
scale=(
2.17
if uiscale is bui.UIScale.SMALL
else 1.3
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.3 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -27) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -27)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)

View File

@ -93,9 +93,7 @@ class SharePlaylistResultsWindow(bui.Window):
scale=(
1.8
if uiscale is bui.UIScale.SMALL
else 1.35
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.35 if uiscale is bui.UIScale.MEDIUM else 1.0
),
)
)

View File

@ -223,12 +223,14 @@ class PopupMenuWindow(PopupWindow):
size=(self._width - 40, 28),
on_select_call=bui.Call(self._select, index),
click_activate=True,
color=(0.5, 0.5, 0.5, 0.5)
if inactive
else (
(0.5, 1, 0.5, 1)
if choice == self._current_choice
else (0.8, 0.8, 0.8, 1.0)
color=(
(0.5, 0.5, 0.5, 0.5)
if inactive
else (
(0.5, 1, 0.5, 1)
if choice == self._current_choice
else (0.8, 0.8, 0.8, 1.0)
)
),
padding=0,
maxwidth=maxwidth,
@ -318,9 +320,7 @@ class PopupMenu:
scale = (
2.3
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
)
if current_choice not in choices:
current_choice = None

View File

@ -38,9 +38,7 @@ class ProfileBrowserWindow(bui.Window):
self._height = (
360.0
if uiscale is bui.UIScale.SMALL
else 385.0
if uiscale is bui.UIScale.MEDIUM
else 410.0
else 385.0 if uiscale is bui.UIScale.MEDIUM else 410.0
)
# If we're being called up standalone, handle pause/resume ourself.
@ -74,13 +72,11 @@ class ProfileBrowserWindow(bui.Window):
scale=(
2.2
if uiscale is bui.UIScale.SMALL
else 1.6
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.6 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -14) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -14)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)
@ -125,9 +121,7 @@ class ProfileBrowserWindow(bui.Window):
scl = (
1.055
if uiscale is bui.UIScale.SMALL
else 1.18
if uiscale is bui.UIScale.MEDIUM
else 1.3
else 1.18 if uiscale is bui.UIScale.MEDIUM else 1.3
)
v -= 70.0 * scl
self._new_button = bui.buttonwidget(

View File

@ -65,17 +65,13 @@ class EditProfileWindow(bui.Window):
self._height = height = (
350.0
if uiscale is bui.UIScale.SMALL
else 400.0
if uiscale is bui.UIScale.MEDIUM
else 450.0
else 400.0 if uiscale is bui.UIScale.MEDIUM else 450.0
)
spacing = 40
self._base_scale = (
2.05
if uiscale is bui.UIScale.SMALL
else 1.5
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.5 if uiscale is bui.UIScale.MEDIUM else 1.0
)
top_extra = 15 if uiscale is bui.UIScale.SMALL else 15
super().__init__(
@ -83,9 +79,9 @@ class EditProfileWindow(bui.Window):
size=(width, height + top_extra),
transition=transition,
scale=self._base_scale,
stack_offset=(0, 15)
if uiscale is bui.UIScale.SMALL
else (0, 0),
stack_offset=(
(0, 15) if uiscale is bui.UIScale.SMALL else (0, 0)
),
)
)
cancel_button = btn = bui.buttonwidget(
@ -475,9 +471,11 @@ class EditProfileWindow(bui.Window):
parent=self._root_widget,
autoselect=True,
position=(self._width * 0.5 + b_offs - b_size * 0.5, v - 50),
up_widget=self._upgrade_button
if self._upgrade_button is not None
else self._account_type_info_button,
up_widget=(
self._upgrade_button
if self._upgrade_button is not None
else self._account_type_info_button
),
size=(b_size, b_size),
color=self._highlight,
label='',

View File

@ -39,9 +39,7 @@ class ProfileUpgradeWindow(bui.Window):
self._base_scale = (
2.05
if uiscale is bui.UIScale.SMALL
else 1.5
if uiscale is bui.UIScale.MEDIUM
else 1.2
else 1.5 if uiscale is bui.UIScale.MEDIUM else 1.2
)
self._upgrade_start_time: float | None = None
self._name = edit_profile_window.getname()
@ -54,9 +52,9 @@ class ProfileUpgradeWindow(bui.Window):
toolbar_visibility='menu_currency',
transition=transition,
scale=self._base_scale,
stack_offset=(0, 15)
if uiscale is bui.UIScale.SMALL
else (0, 0),
stack_offset=(
(0, 15) if uiscale is bui.UIScale.SMALL else (0, 0)
),
)
)
cancel_button = bui.buttonwidget(

View File

@ -47,9 +47,7 @@ class PromoCodeWindow(bui.Window):
scale=(
2.0
if uiscale is bui.UIScale.SMALL
else 1.5
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.5 if uiscale is bui.UIScale.MEDIUM else 1.0
),
)
)

View File

@ -48,13 +48,11 @@ class PurchaseWindow(bui.Window):
scale=(
1.2
if uiscale is bui.UIScale.SMALL
else 1.1
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.1 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -15) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -15)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)
self._is_double = False

View File

@ -19,9 +19,7 @@ class QRCodeWindow(PopupWindow):
scale = (
2.3
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
)
self._transitioning_out = False
self._width = 450

View File

@ -29,9 +29,7 @@ class ReportPlayerWindow(bui.Window):
scale=(
1.8
if uiscale is bui.UIScale.SMALL
else 1.35
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.35 if uiscale is bui.UIScale.MEDIUM else 1.0
),
)
)

View File

@ -19,9 +19,7 @@ class ResourceTypeInfoWindow(PopupWindow):
scale = (
2.3
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
)
self._transitioning_out = False
self._width = 570

View File

@ -51,9 +51,7 @@ class ServerDialogWindow(bui.Window):
scale=(
1.8
if uiscale is bui.UIScale.SMALL
else 1.35
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.35 if uiscale is bui.UIScale.MEDIUM else 1.0
),
)
)
@ -114,9 +112,11 @@ class ServerDialogWindow(bui.Window):
self._ok_button = bui.buttonwidget(
parent=self._root_widget,
position=(
(self._width - 182)
if (data.show_cancel or show_copy)
else (self._width * 0.5 - 80),
(
(self._width - 182)
if (data.show_cancel or show_copy)
else (self._width * 0.5 - 80)
),
30,
),
size=(160, 60),

View File

@ -52,9 +52,7 @@ class AdvancedSettingsWindow(bui.Window):
self._height = (
390.0
if uiscale is bui.UIScale.SMALL
else 450.0
if uiscale is bui.UIScale.MEDIUM
else 520.0
else 450.0 if uiscale is bui.UIScale.MEDIUM else 520.0
)
self._lang_status_text: bui.Widget | None = None
@ -71,13 +69,11 @@ class AdvancedSettingsWindow(bui.Window):
scale=(
2.06
if uiscale is bui.UIScale.SMALL
else 1.4
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.4 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -25) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -25)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)
@ -202,30 +198,38 @@ class AdvancedSettingsWindow(bui.Window):
up_to_date = bui.app.lang.language in self._complete_langs_list
bui.textwidget(
edit=self._lang_status_text,
text=''
if bui.app.lang.language == 'Test'
else bui.Lstr(
resource=f'{self._r}.translationNoUpdateNeededText'
)
if up_to_date
else bui.Lstr(
resource=f'{self._r}.translationUpdateNeededText'
text=(
''
if bui.app.lang.language == 'Test'
else (
bui.Lstr(
resource=f'{self._r}.translationNoUpdateNeededText'
)
if up_to_date
else bui.Lstr(
resource=f'{self._r}.translationUpdateNeededText'
)
)
),
color=(
(0.2, 1.0, 0.2, 0.8) if up_to_date else (1.0, 0.2, 0.2, 0.8)
),
color=(0.2, 1.0, 0.2, 0.8)
if up_to_date
else (1.0, 0.2, 0.2, 0.8),
)
else:
bui.textwidget(
edit=self._lang_status_text,
text=bui.Lstr(resource=f'{self._r}.translationFetchErrorText')
if self._complete_langs_error
else bui.Lstr(
resource=f'{self._r}.translationFetchingStatusText'
text=(
bui.Lstr(resource=f'{self._r}.translationFetchErrorText')
if self._complete_langs_error
else bui.Lstr(
resource=f'{self._r}.translationFetchingStatusText'
)
),
color=(
(1.0, 0.5, 0.2)
if self._complete_langs_error
else (0.7, 0.7, 0.7)
),
color=(1.0, 0.5, 0.2)
if self._complete_langs_error
else (0.7, 0.7, 0.7),
)
def _rebuild(self) -> None:

View File

@ -56,13 +56,11 @@ class AllSettingsWindow(bui.Window):
scale=(
1.75
if uiscale is bui.UIScale.SMALL
else 1.35
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.35 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -8) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -8)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)

View File

@ -63,9 +63,7 @@ class AudioSettingsWindow(bui.Window):
base_scale = (
2.05
if uiscale is bui.UIScale.SMALL
else 1.6
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.6 if uiscale is bui.UIScale.MEDIUM else 1.0
)
popup_menu_scale = base_scale * 1.2
@ -75,9 +73,9 @@ class AudioSettingsWindow(bui.Window):
transition=transition,
scale=base_scale,
scale_origin_stack_offset=scale_origin,
stack_offset=(0, -20)
if uiscale is bui.UIScale.SMALL
else (0, 0),
stack_offset=(
(0, -20) if uiscale is bui.UIScale.SMALL else (0, 0)
),
)
)

View File

@ -124,9 +124,7 @@ class ControlsSettingsWindow(bui.Window):
scale=(
smallscale
if uiscale is bui.UIScale.SMALL
else 1.5
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.5 if uiscale is bui.UIScale.MEDIUM else 1.0
),
)
)

View File

@ -53,13 +53,11 @@ class GamepadSettingsWindow(bui.Window):
scale=(
1.63
if uiscale is bui.UIScale.SMALL
else 1.35
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.35 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(-20, -16) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(-20, -16)
if uiscale is bui.UIScale.SMALL
else (0, 0),
transition=transition,
)
)
@ -543,16 +541,12 @@ class GamepadSettingsWindow(bui.Window):
sval1 = (
self._settings['analogStickLR' + self._ext]
if 'analogStickLR' + self._ext in self._settings
else 5
if self._is_secondary
else None
else 5 if self._is_secondary else None
)
sval2 = (
self._settings['analogStickUD' + self._ext]
if 'analogStickUD' + self._ext in self._settings
else 6
if self._is_secondary
else None
else 6 if self._is_secondary else None
)
assert isinstance(sval1, (int, type(None)))
assert isinstance(sval2, (int, type(None)))
@ -595,9 +589,7 @@ class GamepadSettingsWindow(bui.Window):
dpadnum = (
self._settings['dpad' + self._ext]
if 'dpad' + self._ext in self._settings
else 2
if self._is_secondary
else None
else 2 if self._is_secondary else None
)
assert isinstance(dpadnum, (int, type(None)))
if dpadnum is not None:
@ -893,9 +885,7 @@ class AwaitGamepadInputWindow(bui.Window):
scale=(
2.0
if uiscale is bui.UIScale.SMALL
else 1.9
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.9 if uiscale is bui.UIScale.MEDIUM else 1.0
),
size=(width, height),
transition='in_scale',

View File

@ -42,13 +42,11 @@ class GamepadAdvancedSettingsWindow(bui.Window):
* (
1.85
if uiscale is bui.UIScale.SMALL
else 1.35
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.35 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -25) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -25)
if uiscale is bui.UIScale.SMALL
else (0, 0),
scale_origin_stack_offset=(advb.get_screen_space_center()),
)
)

View File

@ -45,9 +45,7 @@ def gamepad_configure_callback(event: dict[str, Any]) -> None:
scale=(
1.7
if uiscale is bui.UIScale.SMALL
else 1.4
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.4 if uiscale is bui.UIScale.MEDIUM else 1.0
),
size=(width, height),
transition='in_right',
@ -122,9 +120,7 @@ class GamepadSelectWindow(bui.Window):
scale=(
2.3
if uiscale is bui.UIScale.SMALL
else 1.5
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.5 if uiscale is bui.UIScale.MEDIUM else 1.0
),
size=(width, height),
transition='in_right',

View File

@ -75,9 +75,7 @@ class GraphicsSettingsWindow(bui.Window):
base_scale = (
2.0
if uiscale is bui.UIScale.SMALL
else 1.5
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.5 if uiscale is bui.UIScale.MEDIUM else 1.0
)
popup_menu_scale = base_scale * 1.2
v = height - 50
@ -88,9 +86,9 @@ class GraphicsSettingsWindow(bui.Window):
transition=transition,
scale_origin_stack_offset=scale_origin,
scale=base_scale,
stack_offset=(0, -30)
if uiscale is bui.UIScale.SMALL
else (0, 0),
stack_offset=(
(0, -30) if uiscale is bui.UIScale.SMALL else (0, 0)
),
)
)
@ -174,9 +172,11 @@ class GraphicsSettingsWindow(bui.Window):
width=150,
scale=popup_menu_scale,
choices=['Auto', 'Higher', 'High', 'Medium', 'Low'],
choices_disabled=['Higher', 'High']
if bui.get_max_graphics_quality() == 'Medium'
else [],
choices_disabled=(
['Higher', 'High']
if bui.get_max_graphics_quality() == 'Medium'
else []
),
choices_display=[
bui.Lstr(resource='autoText'),
bui.Lstr(resource=self._r + '.higherText'),

View File

@ -39,9 +39,7 @@ class ConfigKeyboardWindow(bui.Window):
scale=(
1.6
if uiscale is bui.UIScale.SMALL
else 1.3
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.3 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(0, 5) if uiscale is bui.UIScale.SMALL else (0, 0),
transition=transition,
@ -70,10 +68,10 @@ class ConfigKeyboardWindow(bui.Window):
'buttonLeft',
'buttonRight',
]:
self._settings[
button
] = bui.app.classic.get_input_device_mapped_value(
self._input, button
self._settings[button] = (
bui.app.classic.get_input_device_mapped_value(
self._input, button
)
)
cancel_button = bui.buttonwidget(
@ -347,9 +345,7 @@ class AwaitKeyboardInputWindow(bui.Window):
scale=(
2.0
if uiscale is bui.UIScale.SMALL
else 1.5
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.5 if uiscale is bui.UIScale.MEDIUM else 1.0
),
)
)

View File

@ -37,9 +37,7 @@ class NetTestingWindow(bui.Window):
scale=(
1.56
if uiscale is bui.UIScale.SMALL
else 1.2
if uiscale is bui.UIScale.MEDIUM
else 0.8
else 1.2 if uiscale is bui.UIScale.MEDIUM else 0.8
),
stack_offset=(0.0, -7 if uiscale is bui.UIScale.SMALL else 0.0),
transition=transition,

View File

@ -58,9 +58,7 @@ class PluginWindow(bui.Window):
self._height = (
390.0
if uiscale is bui.UIScale.SMALL
else 450.0
if uiscale is bui.UIScale.MEDIUM
else 520.0
else 450.0 if uiscale is bui.UIScale.MEDIUM else 520.0
)
top_extra = 10 if uiscale is bui.UIScale.SMALL else 0
super().__init__(
@ -72,13 +70,11 @@ class PluginWindow(bui.Window):
scale=(
2.06
if uiscale is bui.UIScale.SMALL
else 1.4
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.4 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -25) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -25)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)
@ -252,9 +248,7 @@ class PluginWindow(bui.Window):
scale=(
2.3
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
),
choices=[c.value for c in Category],
choices_display=[bui.Lstr(resource=c.resource) for c in Category],
@ -365,9 +359,11 @@ class PluginWindow(bui.Window):
textcolor=(
(0.8, 0.3, 0.3)
if (plugspec.attempted_load and plugspec.plugin is None)
else (0.6, 0.6, 0.6)
if plugspec.plugin is None
else (0, 1, 0)
else (
(0.6, 0.6, 0.6)
if plugspec.plugin is None
else (0, 1, 0)
)
),
)
# noinspection PyUnresolvedReferences

View File

@ -22,9 +22,7 @@ class PluginSettingsWindow(bui.Window):
height = (
365.0
if uiscale is bui.UIScale.SMALL
else 300.0
if uiscale is bui.UIScale.MEDIUM
else 370.0
else 300.0 if uiscale is bui.UIScale.MEDIUM else 370.0
)
top_extra = 10 if uiscale is bui.UIScale.SMALL else 0
@ -37,13 +35,11 @@ class PluginSettingsWindow(bui.Window):
scale=(
2.06
if uiscale is bui.UIScale.SMALL
else 1.4
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.4 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -25) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -25)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)

View File

@ -24,13 +24,11 @@ class RemoteAppSettingsWindow(bui.Window):
scale=(
1.85
if uiscale is bui.UIScale.SMALL
else 1.3
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.3 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(-10, 0) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(-10, 0)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)
btn = bui.buttonwidget(

View File

@ -36,13 +36,11 @@ class TestingWindow(bui.Window):
scale=(
2.5
if uiscale is bui.UIScale.SMALL
else 1.2
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.2 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -28) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -28)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)
self._back_button = btn = bui.buttonwidget(
@ -114,9 +112,9 @@ class TestingWindow(bui.Window):
# If we haven't yet, record the default value for this name so
# we can reset if we want..
if entry_name not in bui.app.classic.value_test_defaults:
bui.app.classic.value_test_defaults[
entry_name
] = bui.app.classic.value_test(entry_name)
bui.app.classic.value_test_defaults[entry_name] = (
bui.app.classic.value_test(entry_name)
)
bui.textwidget(
parent=self._subcontainer,

View File

@ -35,9 +35,7 @@ class TouchscreenSettingsWindow(bui.Window):
scale=(
1.9
if uiscale is bui.UIScale.SMALL
else 1.55
if uiscale is bui.UIScale.MEDIUM
else 1.2
else 1.55 if uiscale is bui.UIScale.MEDIUM else 1.2
),
)
)

View File

@ -35,9 +35,7 @@ class SoundtrackEditWindow(bui.Window):
self._height = (
395
if uiscale is bui.UIScale.SMALL
else 450
if uiscale is bui.UIScale.MEDIUM
else 560
else 450 if uiscale is bui.UIScale.MEDIUM else 560
)
super().__init__(
root_widget=bui.containerwidget(
@ -46,15 +44,13 @@ class SoundtrackEditWindow(bui.Window):
scale=(
2.08
if uiscale is bui.UIScale.SMALL
else 1.5
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.5 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -48)
if uiscale is bui.UIScale.SMALL
else (0, 15) if uiscale is bui.UIScale.MEDIUM else (0, 0)
),
stack_offset=(0, -48)
if uiscale is bui.UIScale.SMALL
else (0, 15)
if uiscale is bui.UIScale.MEDIUM
else (0, 0),
)
)
cancel_button = bui.buttonwidget(
@ -266,13 +262,11 @@ class SoundtrackEditWindow(bui.Window):
icon=(
self._file_tex
if icon_type == 'file'
else self._folder_tex
if icon_type == 'folder'
else None
else self._folder_tex if icon_type == 'folder' else None
),
icon_color=(
(1.1, 0.8, 0.2) if icon_type == 'folder' else (1, 1, 1)
),
icon_color=(1.1, 0.8, 0.2)
if icon_type == 'folder'
else (1, 1, 1),
left_widget=self._text_field,
iconscale=0.7,
autoselect=True,
@ -314,9 +308,11 @@ class SoundtrackEditWindow(bui.Window):
label=bui.Lstr(resource=self._r + '.testText'),
text_scale=0.6,
on_activate_call=bui.Call(self._test, bs.MusicType(song_type)),
up_widget=prev_test_button
if prev_test_button is not None
else self._text_field,
up_widget=(
prev_test_button
if prev_test_button is not None
else self._text_field
),
)
if prev_test_button is not None:
bui.widget(edit=prev_test_button, down_widget=btn)

View File

@ -63,9 +63,7 @@ class SoundtrackEntryTypeSelectWindow(bui.Window):
scale=(
1.7
if uiscale is bui.UIScale.SMALL
else 1.4
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.4 if uiscale is bui.UIScale.MEDIUM else 1.0
),
),
cleanupcheck=False,

View File

@ -86,13 +86,11 @@ class SpecialOfferWindow(bui.Window):
scale=(
1.2
if uiscale is bui.UIScale.SMALL
else 1.15
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.15 if uiscale is bui.UIScale.MEDIUM else 1.0
),
stack_offset=(
(0, -15) if uiscale is bui.UIScale.SMALL else (0, 0)
),
stack_offset=(0, -15)
if uiscale is bui.UIScale.SMALL
else (0, 0),
)
)
self._is_bundle_sale = False
@ -310,9 +308,11 @@ class SpecialOfferWindow(bui.Window):
self._cancel_button = bui.buttonwidget(
parent=self._root_widget,
position=(50, 40)
if self._is_bundle_sale
else (self._width * 0.5 - 75, 40),
position=(
(50, 40)
if self._is_bundle_sale
else (self._width * 0.5 - 75, 40)
),
size=(150, 60),
scale=1.0,
on_activate_call=self._cancel,
@ -322,9 +322,11 @@ class SpecialOfferWindow(bui.Window):
self._cancel_countdown_text = bui.textwidget(
parent=self._root_widget,
text='',
position=(50 + 150 + 20, 40 + 27)
if self._is_bundle_sale
else (self._width * 0.5 - 75 + 150 + 20, 40 + 27),
position=(
(50 + 150 + 20, 40 + 27)
if self._is_bundle_sale
else (self._width * 0.5 - 75 + 150 + 20, 40 + 27)
),
scale=1.1,
size=(0, 0),
h_align='left',
@ -349,12 +351,14 @@ class SpecialOfferWindow(bui.Window):
bui.containerwidget(
edit=self._root_widget,
cancel_button=self._cancel_button,
start_button=self._purchase_button
if self._is_bundle_sale
else None,
selected_child=self._purchase_button
if self._is_bundle_sale
else display['button'],
start_button=(
self._purchase_button if self._is_bundle_sale else None
),
selected_child=(
self._purchase_button
if self._is_bundle_sale
else display['button']
),
)
def _stop_flashing(self) -> None:
@ -373,12 +377,12 @@ class SpecialOfferWindow(bui.Window):
def _update_cancel_button_graphics(self) -> None:
bui.buttonwidget(
edit=self._cancel_button,
color=(0.5, 0.5, 0.5)
if self._cancel_delay > 0
else (0.7, 0.4, 0.34),
textcolor=(0.5, 0.5, 0.5)
if self._cancel_delay > 0
else (0.9, 0.9, 1.0),
color=(
(0.5, 0.5, 0.5) if self._cancel_delay > 0 else (0.7, 0.4, 0.34)
),
textcolor=(
(0.5, 0.5, 0.5) if self._cancel_delay > 0 else (0.9, 0.9, 1.0)
),
)
bui.textwidget(
edit=self._cancel_countdown_text,

View File

@ -81,9 +81,7 @@ class StoreBrowserWindow(bui.Window):
self._height = (
578
if uiscale is bui.UIScale.SMALL
else 645
if uiscale is bui.UIScale.MEDIUM
else 800
else 645 if uiscale is bui.UIScale.MEDIUM else 800
)
self._current_tab: StoreBrowserWindow.TabID | None = None
extra_top = 30 if uiscale is bui.UIScale.SMALL else 0
@ -100,17 +98,13 @@ class StoreBrowserWindow(bui.Window):
scale=(
1.3
if uiscale is bui.UIScale.SMALL
else 0.9
if uiscale is bui.UIScale.MEDIUM
else 0.8
else 0.9 if uiscale is bui.UIScale.MEDIUM else 0.8
),
scale_origin_stack_offset=scale_origin,
stack_offset=(
(0, -5)
if uiscale is bui.UIScale.SMALL
else (0, 0)
if uiscale is bui.UIScale.MEDIUM
else (0, 0)
else (0, 0) if uiscale is bui.UIScale.MEDIUM else (0, 0)
),
)
)
@ -905,27 +899,23 @@ class StoreBrowserWindow(bui.Window):
dummy_name = 'icons.foo'
else:
dummy_name = ''
section[
'button_size'
] = cstore.get_store_item_display_size(dummy_name)
section['button_size'] = (
cstore.get_store_item_display_size(dummy_name)
)
section['v_spacing'] = (
-25
if (
self._tab == 'extras'
and uiscale is bui.UIScale.SMALL
)
else -17
if self._tab == 'characters'
else 0
else -17 if self._tab == 'characters' else 0
)
if 'title' not in section:
section['title'] = ''
section['x_offs'] = (
130
if self._tab == 'extras'
else 270
if self._tab == 'maps'
else 0
else 270 if self._tab == 'maps' else 0
)
section['y_offs'] = (
20
@ -934,14 +924,14 @@ class StoreBrowserWindow(bui.Window):
and uiscale is bui.UIScale.SMALL
and bui.app.config.get('Merch Link')
)
else 55
if (
self._tab == 'extras'
and uiscale is bui.UIScale.SMALL
else (
55
if (
self._tab == 'extras'
and uiscale is bui.UIScale.SMALL
)
else -20 if self._tab == 'icons' else 0
)
else -20
if self._tab == 'icons'
else 0
)
def instantiate(

View File

@ -83,16 +83,20 @@ def instantiate_store_item_display(
tint_color = (
item_info['color']
if 'color' in item_info
else character.default_color
if character.default_color is not None
else (1, 1, 1)
else (
character.default_color
if character.default_color is not None
else (1, 1, 1)
)
)
tint2_color = (
item_info['highlight']
if 'highlight' in item_info
else character.default_highlight
if character.default_highlight is not None
else (1, 1, 1)
else (
character.default_highlight
if character.default_highlight is not None
else (1, 1, 1)
)
)
icon_tex = character.icon_texture
tint_tex = character.icon_mask_texture

View File

@ -33,9 +33,7 @@ class TeamNamesColorsWindow(PopupWindow):
scale = (
1.69
if uiscale is bui.UIScale.SMALL
else 1.1
if uiscale is bui.UIScale.MEDIUM
else 0.85
else 1.1 if uiscale is bui.UIScale.MEDIUM else 0.85
)
super().__init__(
position=scale_origin, size=(self._width, self._height), scale=scale

View File

@ -73,9 +73,7 @@ class TournamentEntryWindow(PopupWindow):
scale = (
2.3
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
)
self._delegate = delegate
self._transitioning_out = False
@ -203,9 +201,11 @@ class TournamentEntryWindow(PopupWindow):
self._ad_text = bui.textwidget(
parent=self.root_widget,
draw_controller=btn,
position=self._ad_text_position_remaining
if have_ad_tries_remaining
else self._ad_text_position,
position=(
self._ad_text_position_remaining
if have_ad_tries_remaining
else self._ad_text_position
),
size=(0, 0),
h_align='center',
v_align='center',
@ -407,9 +407,11 @@ class TournamentEntryWindow(PopupWindow):
):
plus.tournament_query(
args={
'source': 'entry window'
if self._tournament_activity is None
else 'retry entry window'
'source': (
'entry window'
if self._tournament_activity is None
else 'retry entry window'
)
},
callback=bui.WeakCall(self._on_tournament_query_response),
)
@ -448,35 +450,43 @@ class TournamentEntryWindow(PopupWindow):
subs=[
(
'${COUNT}',
str(self._purchase_price)
if self._purchase_price is not None
else '?',
(
str(self._purchase_price)
if self._purchase_price is not None
else '?'
),
)
],
)
),
position=self._ticket_cost_text_position_free
if self._purchase_price == 0
else self._ticket_cost_text_position,
position=(
self._ticket_cost_text_position_free
if self._purchase_price == 0
else self._ticket_cost_text_position
),
scale=1.0 if self._purchase_price == 0 else 0.6,
)
bui.textwidget(
edit=self._free_plays_remaining_text,
text=''
if (
self._tournament_info['freeTriesRemaining'] in [None, 0]
or self._purchase_price != 0
)
else '' + str(self._tournament_info['freeTriesRemaining']),
text=(
''
if (
self._tournament_info['freeTriesRemaining'] in [None, 0]
or self._purchase_price != 0
)
else '' + str(self._tournament_info['freeTriesRemaining'])
),
)
bui.imagewidget(
edit=self._ticket_img,
opacity=0.2 if self._purchase_price == 0 else 1.0,
position=self._ticket_img_pos_free
if self._purchase_price == 0
else self._ticket_img_pos,
position=(
self._ticket_img_pos_free
if self._purchase_price == 0
else self._ticket_img_pos
),
)
if self._do_ad_btn:
@ -487,9 +497,11 @@ class TournamentEntryWindow(PopupWindow):
)
bui.textwidget(
edit=self._ad_text,
position=self._ad_text_position_remaining
if have_ad_tries_remaining
else self._ad_text_position,
position=(
self._ad_text_position_remaining
if have_ad_tries_remaining
else self._ad_text_position
),
color=(0, 1, 0) if enabled else (0.5, 0.5, 0.5),
)
bui.imagewidget(
@ -563,16 +575,18 @@ class TournamentEntryWindow(PopupWindow):
bui.apptimer(0.1, bui.getsound('cashRegister').play)
bui.apptimer(
1.0,
lambda: bui.app.classic.launch_coop_game(
self._tournament_info['game'],
args={
'min_players': self._tournament_info['minPlayers'],
'max_players': self._tournament_info['maxPlayers'],
'tournament_id': self._tournament_id,
},
)
if bui.app.classic is not None
else None,
lambda: (
bui.app.classic.launch_coop_game(
self._tournament_info['game'],
args={
'min_players': self._tournament_info['minPlayers'],
'max_players': self._tournament_info['maxPlayers'],
'tournament_id': self._tournament_id,
},
)
if bui.app.classic is not None
else None
),
)
bui.apptimer(0.7, self._transition_out)
bui.screenmessage(

View File

@ -48,9 +48,7 @@ class TournamentScoresWindow(PopupWindow):
scale = (
2.3
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
)
self._transitioning_out = False
@ -58,9 +56,7 @@ class TournamentScoresWindow(PopupWindow):
self._height = (
300
if uiscale is bui.UIScale.SMALL
else 370
if uiscale is bui.UIScale.MEDIUM
else 450
else 370 if uiscale is bui.UIScale.MEDIUM else 450
)
bg_color = (0.5, 0.4, 0.6)

View File

@ -31,9 +31,7 @@ class TrophiesWindow(popup.PopupWindow):
scale = (
2.3
if uiscale is bui.UIScale.SMALL
else 1.65
if uiscale is bui.UIScale.MEDIUM
else 1.23
else 1.65 if uiscale is bui.UIScale.MEDIUM else 1.23
)
self._transitioning_out = False
self._width = 300
@ -179,9 +177,9 @@ class TrophiesWindow(popup.PopupWindow):
scale=0.4,
flatness=1.0,
shadow=0.0,
color=(0.63, 0.6, 0.75)
if (t_count > 0)
else (0.6, 0.6, 0.6, 0.4),
color=(
(0.63, 0.6, 0.75) if (t_count > 0) else (0.6, 0.6, 0.6, 0.4)
),
text=txt,
size=(0, 0),
h_align='center',
@ -193,9 +191,9 @@ class TrophiesWindow(popup.PopupWindow):
parent=self._subcontainer,
position=(sub_width * 0.88, sub_height - 20 - incr * i),
maxwidth=sub_width * 0.3,
color=(0.7, 0.8, 1.0)
if (t_count > 0)
else (0.9, 0.9, 1.0, 0.3),
color=(
(0.7, 0.8, 1.0) if (t_count > 0) else (0.9, 0.9, 1.0, 0.3)
),
flatness=1.0,
shadow=0.0,
scale=0.5,

View File

@ -27,9 +27,7 @@ class ShowURLWindow(bui.Window):
scale=(
1.25
if uiscale is bui.UIScale.SMALL
else 1.25
if uiscale is bui.UIScale.MEDIUM
else 1.25
else 1.25 if uiscale is bui.UIScale.MEDIUM else 1.25
),
)
)

View File

@ -28,9 +28,7 @@ class V2UpgradeWindow(bui.Window):
scale=(
1.25
if uiscale is bui.UIScale.SMALL
else 1.25
if uiscale is bui.UIScale.MEDIUM
else 1.25
else 1.25 if uiscale is bui.UIScale.MEDIUM else 1.25
),
)
)

View File

@ -60,9 +60,7 @@ class WatchWindow(bui.Window):
self._height = (
578
if uiscale is bui.UIScale.SMALL
else 670
if uiscale is bui.UIScale.MEDIUM
else 800
else 670 if uiscale is bui.UIScale.MEDIUM else 800
)
self._current_tab: WatchWindow.TabID | None = None
extra_top = 20 if uiscale is bui.UIScale.SMALL else 0
@ -76,15 +74,13 @@ class WatchWindow(bui.Window):
scale=(
1.3
if uiscale is bui.UIScale.SMALL
else 0.97
if uiscale is bui.UIScale.MEDIUM
else 0.8
else 0.97 if uiscale is bui.UIScale.MEDIUM else 0.8
),
stack_offset=(
(0, -10)
if uiscale is bui.UIScale.SMALL
else (0, 15) if uiscale is bui.UIScale.MEDIUM else (0, 0)
),
stack_offset=(0, -10)
if uiscale is bui.UIScale.SMALL
else (0, 15)
if uiscale is bui.UIScale.MEDIUM
else (0, 0),
)
)
@ -249,16 +245,12 @@ class WatchWindow(bui.Window):
b_height = (
107
if uiscale is bui.UIScale.SMALL
else 142
if uiscale is bui.UIScale.MEDIUM
else 190
else 142 if uiscale is bui.UIScale.MEDIUM else 190
)
b_space_extra = (
0
if uiscale is bui.UIScale.SMALL
else -2
if uiscale is bui.UIScale.MEDIUM
else -5
else -2 if uiscale is bui.UIScale.MEDIUM else -5
)
b_color = (0.6, 0.53, 0.63)
@ -268,9 +260,7 @@ class WatchWindow(bui.Window):
- (
48
if uiscale is bui.UIScale.SMALL
else 45
if uiscale is bui.UIScale.MEDIUM
else 40
else 45 if uiscale is bui.UIScale.MEDIUM else 40
)
- b_height
)
@ -393,9 +383,7 @@ class WatchWindow(bui.Window):
scale=(
1.8
if uiscale is bui.UIScale.SMALL
else 1.55
if uiscale is bui.UIScale.MEDIUM
else 1.0
else 1.55 if uiscale is bui.UIScale.MEDIUM else 1.0
),
size=(c_width, c_height),
transition='in_scale',
@ -581,9 +569,9 @@ class WatchWindow(bui.Window):
parent=self._columnwidget,
size=(self._my_replays_scroll_width / t_scale, 30),
selectable=True,
color=(1.0, 1, 0.4)
if name == '__lastReplay.brp'
else (1, 1, 1),
color=(
(1.0, 1, 0.4) if name == '__lastReplay.brp' else (1, 1, 1)
),
always_highlight=True,
on_select_call=bui.Call(self._on_my_replay_select, name),
on_activate_call=self._my_replays_watch_replay_button.activate,

View File

@ -699,8 +699,8 @@ auto Assets::GetPendingLoadCount() -> int {
template <typename T>
auto Assets::GetAssetPendingLoadCount(
std::unordered_map<std::string, Object::Ref<T> >* t_list, AssetType type)
-> int {
std::unordered_map<std::string, Object::Ref<T> >* t_list,
AssetType type) -> int {
assert(g_base->InLogicThread());
assert(asset_lists_locked_);
@ -1056,8 +1056,8 @@ void Assets::Prune(int level) {
}
}
auto Assets::FindAssetFile(FileType type, const std::string& name)
-> std::string {
auto Assets::FindAssetFile(FileType type,
const std::string& name) -> std::string {
std::string file_out;
// We don't protect package-path access so make sure its always from here.

Some files were not shown because too many files have changed in this diff Show More