mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-01-19 13:25:31 +08:00
formatting and utils work
This commit is contained in:
parent
c2d88cab28
commit
53e7655a94
88
.efrocachemap
generated
88
.efrocachemap
generated
@ -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",
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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))
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
@ -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),
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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'
|
||||
)
|
||||
),
|
||||
),
|
||||
],
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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())],
|
||||
)
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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,
|
||||
)
|
||||
|
||||
@ -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
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -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
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
),
|
||||
)
|
||||
|
||||
@ -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
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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),
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@ -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),
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@ -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),
|
||||
)
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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],
|
||||
|
||||
@ -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
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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),
|
||||
)
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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),
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@ -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
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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='',
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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),
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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),
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@ -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)
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@ -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
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -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()),
|
||||
)
|
||||
)
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -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'),
|
||||
|
||||
@ -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
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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),
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
@ -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
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
Loading…
x
Reference in New Issue
Block a user