diff --git a/.efrocachemap b/.efrocachemap index b0cbce77..173d1a50 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -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", diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e9f4499..3e371e2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/src/assets/ba_data/python/baclassic/_accountv1.py b/src/assets/ba_data/python/baclassic/_accountv1.py index e732f135..d0df1f64 100644 --- a/src/assets/ba_data/python/baclassic/_accountv1.py +++ b/src/assets/ba_data/python/baclassic/_accountv1.py @@ -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. diff --git a/src/assets/ba_data/python/baclassic/_achievement.py b/src/assets/ba_data/python/baclassic/_achievement.py index 38f6f5b0..3ef3bed8 100644 --- a/src/assets/ba_data/python/baclassic/_achievement.py +++ b/src/assets/ba_data/python/baclassic/_achievement.py @@ -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() diff --git a/src/assets/ba_data/python/baclassic/_tournament.py b/src/assets/ba_data/python/baclassic/_tournament.py index 552dca04..242ba527 100644 --- a/src/assets/ba_data/python/baclassic/_tournament.py +++ b/src/assets/ba_data/python/baclassic/_tournament.py @@ -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: diff --git a/src/assets/ba_data/python/baenv.py b/src/assets/ba_data/python/baenv.py index 1bb9453c..7e9a04c2 100644 --- a/src/assets/ba_data/python/baenv.py +++ b/src/assets/ba_data/python/baenv.py @@ -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, diff --git a/src/assets/ba_data/python/baplus/_cloud.py b/src/assets/ba_data/python/baplus/_cloud.py index d2e51eb0..32d6d141 100644 --- a/src/assets/ba_data/python/baplus/_cloud.py +++ b/src/assets/ba_data/python/baplus/_cloud.py @@ -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. diff --git a/src/assets/ba_data/python/bascenev1/_activitytypes.py b/src/assets/ba_data/python/bascenev1/_activitytypes.py index 9b46b3eb..0102305a 100644 --- a/src/assets/ba_data/python/bascenev1/_activitytypes.py +++ b/src/assets/ba_data/python/bascenev1/_activitytypes.py @@ -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, diff --git a/src/assets/ba_data/python/bascenev1/_actor.py b/src/assets/ba_data/python/bascenev1/_actor.py index 178a901d..11f4f07c 100644 --- a/src/assets/ba_data/python/bascenev1/_actor.py +++ b/src/assets/ba_data/python/bascenev1/_actor.py @@ -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. diff --git a/src/assets/ba_data/python/bascenev1/_gameresults.py b/src/assets/ba_data/python/bascenev1/_gameresults.py index e493939a..8735ff36 100644 --- a/src/assets/ba_data/python/bascenev1/_gameresults.py +++ b/src/assets/ba_data/python/bascenev1/_gameresults.py @@ -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 diff --git a/src/assets/ba_data/python/bascenev1/_level.py b/src/assets/ba_data/python/bascenev1/_level.py index 2f1906e6..74792e96 100644 --- a/src/assets/ba_data/python/bascenev1/_level.py +++ b/src/assets/ba_data/python/bascenev1/_level.py @@ -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)) diff --git a/src/assets/ba_data/python/bascenev1/_playlist.py b/src/assets/ba_data/python/bascenev1/_playlist.py index 35c902c8..013f6e56 100644 --- a/src/assets/ba_data/python/bascenev1/_playlist.py +++ b/src/assets/ba_data/python/bascenev1/_playlist.py @@ -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) diff --git a/src/assets/ba_data/python/bascenev1lib/activity/coopscore.py b/src/assets/ba_data/python/bascenev1lib/activity/coopscore.py index a88c418b..12ffc3ad 100644 --- a/src/assets/ba_data/python/bascenev1lib/activity/coopscore.py +++ b/src/assets/ba_data/python/bascenev1lib/activity/coopscore.py @@ -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), diff --git a/src/assets/ba_data/python/bascenev1lib/activity/multiteamscore.py b/src/assets/ba_data/python/bascenev1lib/activity/multiteamscore.py index 7b754014..3a0db16a 100644 --- a/src/assets/ba_data/python/bascenev1lib/activity/multiteamscore.py +++ b/src/assets/ba_data/python/bascenev1lib/activity/multiteamscore.py @@ -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, diff --git a/src/assets/ba_data/python/bascenev1lib/activity/multiteamvictory.py b/src/assets/ba_data/python/bascenev1lib/activity/multiteamvictory.py index afc2a26b..e2a09252 100644 --- a/src/assets/ba_data/python/bascenev1lib/activity/multiteamvictory.py +++ b/src/assets/ba_data/python/bascenev1lib/activity/multiteamvictory.py @@ -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, diff --git a/src/assets/ba_data/python/bascenev1lib/actor/controlsguide.py b/src/assets/ba_data/python/bascenev1lib/actor/controlsguide.py index f3068f0e..d73ea28b 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/controlsguide.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/controlsguide.py @@ -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' + ) ), ), ], diff --git a/src/assets/ba_data/python/bascenev1lib/actor/playerspaz.py b/src/assets/ba_data/python/bascenev1lib/actor/playerspaz.py index 2ea3ead7..58069c54 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/playerspaz.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/playerspaz.py @@ -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 diff --git a/src/assets/ba_data/python/bascenev1lib/actor/tipstext.py b/src/assets/ba_data/python/bascenev1lib/actor/tipstext.py index 7a6335fc..8e20951e 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/tipstext.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/tipstext.py @@ -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())], ) diff --git a/src/assets/ba_data/python/bascenev1lib/game/onslaught.py b/src/assets/ba_data/python/bascenev1lib/game/onslaught.py index d4644130..b1c2e145 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/onslaught.py +++ b/src/assets/ba_data/python/bascenev1lib/game/onslaught.py @@ -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) diff --git a/src/assets/ba_data/python/bascenev1lib/game/race.py b/src/assets/ba_data/python/bascenev1lib/game/race.py index 4a35fa4c..6898a2f3 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/race.py +++ b/src/assets/ba_data/python/bascenev1lib/game/race.py @@ -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() diff --git a/src/assets/ba_data/python/bascenev1lib/game/runaround.py b/src/assets/ba_data/python/bascenev1lib/game/runaround.py index b970d354..8827bd78 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/runaround.py +++ b/src/assets/ba_data/python/bascenev1lib/game/runaround.py @@ -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( diff --git a/src/assets/ba_data/python/bascenev1lib/game/targetpractice.py b/src/assets/ba_data/python/bascenev1lib/game/targetpractice.py index fdff48f2..42993572 100644 --- a/src/assets/ba_data/python/bascenev1lib/game/targetpractice.py +++ b/src/assets/ba_data/python/bascenev1lib/game/targetpractice.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1/_uitypes.py b/src/assets/ba_data/python/bauiv1/_uitypes.py index 2f93f227..2c60ad4c 100644 --- a/src/assets/ba_data/python/bauiv1/_uitypes.py +++ b/src/assets/ba_data/python/bauiv1/_uitypes.py @@ -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() diff --git a/src/assets/ba_data/python/bauiv1/onscreenkeyboard.py b/src/assets/ba_data/python/bauiv1/onscreenkeyboard.py index e91972e2..dc020714 100644 --- a/src/assets/ba_data/python/bauiv1/onscreenkeyboard.py +++ b/src/assets/ba_data/python/bauiv1/onscreenkeyboard.py @@ -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, ) diff --git a/src/assets/ba_data/python/bauiv1lib/account/link.py b/src/assets/ba_data/python/bauiv1lib/account/link.py index 3f1ceb77..79c4fd85 100644 --- a/src/assets/ba_data/python/bauiv1lib/account/link.py +++ b/src/assets/ba_data/python/bauiv1lib/account/link.py @@ -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 ), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/account/settings.py b/src/assets/ba_data/python/bauiv1lib/account/settings.py index f9eab7c7..00448630 100644 --- a/src/assets/ba_data/python/bauiv1lib/account/settings.py +++ b/src/assets/ba_data/python/bauiv1lib/account/settings.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/account/unlink.py b/src/assets/ba_data/python/bauiv1lib/account/unlink.py index aa1a9937..ef80dad3 100644 --- a/src/assets/ba_data/python/bauiv1lib/account/unlink.py +++ b/src/assets/ba_data/python/bauiv1lib/account/unlink.py @@ -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( diff --git a/src/assets/ba_data/python/bauiv1lib/account/v2proxy.py b/src/assets/ba_data/python/bauiv1lib/account/v2proxy.py index 756ea612..52d93ea5 100644 --- a/src/assets/ba_data/python/bauiv1lib/account/v2proxy.py +++ b/src/assets/ba_data/python/bauiv1lib/account/v2proxy.py @@ -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 ), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/account/viewer.py b/src/assets/ba_data/python/bauiv1lib/account/viewer.py index 9046a805..cf3c90bf 100644 --- a/src/assets/ba_data/python/bauiv1lib/account/viewer.py +++ b/src/assets/ba_data/python/bauiv1lib/account/viewer.py @@ -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, diff --git a/src/assets/ba_data/python/bauiv1lib/achievements.py b/src/assets/ba_data/python/bauiv1lib/achievements.py index df2345d5..6a065f1f 100644 --- a/src/assets/ba_data/python/bauiv1lib/achievements.py +++ b/src/assets/ba_data/python/bauiv1lib/achievements.py @@ -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', diff --git a/src/assets/ba_data/python/bauiv1lib/appinvite.py b/src/assets/ba_data/python/bauiv1lib/appinvite.py index 06305e36..4bcbbcb7 100644 --- a/src/assets/ba_data/python/bauiv1lib/appinvite.py +++ b/src/assets/ba_data/python/bauiv1lib/appinvite.py @@ -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 ), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/characterpicker.py b/src/assets/ba_data/python/bauiv1lib/characterpicker.py index 92194e2b..a5881ae5 100644 --- a/src/assets/ba_data/python/bauiv1lib/characterpicker.py +++ b/src/assets/ba_data/python/bauiv1lib/characterpicker.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/colorpicker.py b/src/assets/ba_data/python/bauiv1lib/colorpicker.py index 30887432..7a6c281e 100644 --- a/src/assets/ba_data/python/bauiv1lib/colorpicker.py +++ b/src/assets/ba_data/python/bauiv1lib/colorpicker.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/confirm.py b/src/assets/ba_data/python/bauiv1lib/confirm.py index 2882b598..69e3ccd5 100644 --- a/src/assets/ba_data/python/bauiv1lib/confirm.py +++ b/src/assets/ba_data/python/bauiv1lib/confirm.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/coop/gamebutton.py b/src/assets/ba_data/python/bauiv1lib/coop/gamebutton.py index c24d3909..5172e3a6 100644 --- a/src/assets/ba_data/python/bauiv1lib/coop/gamebutton.py +++ b/src/assets/ba_data/python/bauiv1lib/coop/gamebutton.py @@ -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 ), ) diff --git a/src/assets/ba_data/python/bauiv1lib/coop/level.py b/src/assets/ba_data/python/bauiv1lib/coop/level.py index b3e6d477..e3bfcaa5 100644 --- a/src/assets/ba_data/python/bauiv1lib/coop/level.py +++ b/src/assets/ba_data/python/bauiv1lib/coop/level.py @@ -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 ), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/coop/tournamentbutton.py b/src/assets/ba_data/python/bauiv1lib/coop/tournamentbutton.py index 4b766379..0ee8a597 100644 --- a/src/assets/ba_data/python/bauiv1lib/coop/tournamentbutton.py +++ b/src/assets/ba_data/python/bauiv1lib/coop/tournamentbutton.py @@ -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: diff --git a/src/assets/ba_data/python/bauiv1lib/creditslist.py b/src/assets/ba_data/python/bauiv1lib/creditslist.py index c087dfbf..f25449f3 100644 --- a/src/assets/ba_data/python/bauiv1lib/creditslist.py +++ b/src/assets/ba_data/python/bauiv1lib/creditslist.py @@ -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), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/debug.py b/src/assets/ba_data/python/bauiv1lib/debug.py index b397610f..5bcf38fb 100644 --- a/src/assets/ba_data/python/bauiv1lib/debug.py +++ b/src/assets/ba_data/python/bauiv1lib/debug.py @@ -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), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/discord.py b/src/assets/ba_data/python/bauiv1lib/discord.py index 2e2eb520..de891b29 100644 --- a/src/assets/ba_data/python/bauiv1lib/discord.py +++ b/src/assets/ba_data/python/bauiv1lib/discord.py @@ -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), ) diff --git a/src/assets/ba_data/python/bauiv1lib/feedback.py b/src/assets/ba_data/python/bauiv1lib/feedback.py index 09568a3f..6767bbee 100644 --- a/src/assets/ba_data/python/bauiv1lib/feedback.py +++ b/src/assets/ba_data/python/bauiv1lib/feedback.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/fileselector.py b/src/assets/ba_data/python/bauiv1lib/fileselector.py index e9cf0ca6..427df3fb 100644 --- a/src/assets/ba_data/python/bauiv1lib/fileselector.py +++ b/src/assets/ba_data/python/bauiv1lib/fileselector.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/gather/__init__.py b/src/assets/ba_data/python/bauiv1lib/gather/__init__.py index 61efe323..710e36c1 100644 --- a/src/assets/ba_data/python/bauiv1lib/gather/__init__.py +++ b/src/assets/ba_data/python/bauiv1lib/gather/__init__.py @@ -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', diff --git a/src/assets/ba_data/python/bauiv1lib/gather/abouttab.py b/src/assets/ba_data/python/bauiv1lib/gather/abouttab.py index 1257c4bd..7e0a6caa 100644 --- a/src/assets/ba_data/python/bauiv1lib/gather/abouttab.py +++ b/src/assets/ba_data/python/bauiv1lib/gather/abouttab.py @@ -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. diff --git a/src/assets/ba_data/python/bauiv1lib/gather/privatetab.py b/src/assets/ba_data/python/bauiv1lib/gather/privatetab.py index 8b6cf7fb..2b73ec47 100644 --- a/src/assets/ba_data/python/bauiv1lib/gather/privatetab.py +++ b/src/assets/ba_data/python/bauiv1lib/gather/privatetab.py @@ -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, diff --git a/src/assets/ba_data/python/bauiv1lib/gather/publictab.py b/src/assets/ba_data/python/bauiv1lib/gather/publictab.py index 83b3b534..a0e1b8ed 100644 --- a/src/assets/ba_data/python/bauiv1lib/gather/publictab.py +++ b/src/assets/ba_data/python/bauiv1lib/gather/publictab.py @@ -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, diff --git a/src/assets/ba_data/python/bauiv1lib/getcurrency.py b/src/assets/ba_data/python/bauiv1lib/getcurrency.py index 6e355d42..e04666b6 100644 --- a/src/assets/ba_data/python/bauiv1lib/getcurrency.py +++ b/src/assets/ba_data/python/bauiv1lib/getcurrency.py @@ -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: diff --git a/src/assets/ba_data/python/bauiv1lib/getremote.py b/src/assets/ba_data/python/bauiv1lib/getremote.py index 0cea25ae..7f4e2be0 100644 --- a/src/assets/ba_data/python/bauiv1lib/getremote.py +++ b/src/assets/ba_data/python/bauiv1lib/getremote.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/helpui.py b/src/assets/ba_data/python/bauiv1lib/helpui.py index e1981aad..0a3de5fa 100644 --- a/src/assets/ba_data/python/bauiv1lib/helpui.py +++ b/src/assets/ba_data/python/bauiv1lib/helpui.py @@ -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, diff --git a/src/assets/ba_data/python/bauiv1lib/iconpicker.py b/src/assets/ba_data/python/bauiv1lib/iconpicker.py index 260bbdec..3abd3f42 100644 --- a/src/assets/ba_data/python/bauiv1lib/iconpicker.py +++ b/src/assets/ba_data/python/bauiv1lib/iconpicker.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/kiosk.py b/src/assets/ba_data/python/bauiv1lib/kiosk.py index ab1ca87e..3543e5ce 100644 --- a/src/assets/ba_data/python/bauiv1lib/kiosk.py +++ b/src/assets/ba_data/python/bauiv1lib/kiosk.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/league/rankwindow.py b/src/assets/ba_data/python/bauiv1lib/league/rankwindow.py index 725bb318..7e6d8d1e 100644 --- a/src/assets/ba_data/python/bauiv1lib/league/rankwindow.py +++ b/src/assets/ba_data/python/bauiv1lib/league/rankwindow.py @@ -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: diff --git a/src/assets/ba_data/python/bauiv1lib/mainmenu.py b/src/assets/ba_data/python/bauiv1lib/mainmenu.py index bec93e9c..68a98eb7 100644 --- a/src/assets/ba_data/python/bauiv1lib/mainmenu.py +++ b/src/assets/ba_data/python/bauiv1lib/mainmenu.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/party.py b/src/assets/ba_data/python/bauiv1lib/party.py index e531b860..3e52fd45 100644 --- a/src/assets/ba_data/python/bauiv1lib/party.py +++ b/src/assets/ba_data/python/bauiv1lib/party.py @@ -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], diff --git a/src/assets/ba_data/python/bauiv1lib/partyqueue.py b/src/assets/ba_data/python/bauiv1lib/partyqueue.py index 26c97bd6..147fabfc 100644 --- a/src/assets/ba_data/python/bauiv1lib/partyqueue.py +++ b/src/assets/ba_data/python/bauiv1lib/partyqueue.py @@ -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 ), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/play.py b/src/assets/ba_data/python/bauiv1lib/play.py index ea52588c..eda60abd 100644 --- a/src/assets/ba_data/python/bauiv1lib/play.py +++ b/src/assets/ba_data/python/bauiv1lib/play.py @@ -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() diff --git a/src/assets/ba_data/python/bauiv1lib/playlist/addgame.py b/src/assets/ba_data/python/bauiv1lib/playlist/addgame.py index c8acdb8a..dce81eec 100644 --- a/src/assets/ba_data/python/bauiv1lib/playlist/addgame.py +++ b/src/assets/ba_data/python/bauiv1lib/playlist/addgame.py @@ -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), ) diff --git a/src/assets/ba_data/python/bauiv1lib/playlist/browser.py b/src/assets/ba_data/python/bauiv1lib/playlist/browser.py index 806ab7aa..f8b1a73f 100644 --- a/src/assets/ba_data/python/bauiv1lib/playlist/browser.py +++ b/src/assets/ba_data/python/bauiv1lib/playlist/browser.py @@ -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() diff --git a/src/assets/ba_data/python/bauiv1lib/playlist/edit.py b/src/assets/ba_data/python/bauiv1lib/playlist/edit.py index 11e00190..d01badba 100644 --- a/src/assets/ba_data/python/bauiv1lib/playlist/edit.py +++ b/src/assets/ba_data/python/bauiv1lib/playlist/edit.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/playlist/editgame.py b/src/assets/ba_data/python/bauiv1lib/playlist/editgame.py index 491608f9..c7dea649 100644 --- a/src/assets/ba_data/python/bauiv1lib/playlist/editgame.py +++ b/src/assets/ba_data/python/bauiv1lib/playlist/editgame.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/playlist/mapselect.py b/src/assets/ba_data/python/bauiv1lib/playlist/mapselect.py index 77200bea..8e2cc8ea 100644 --- a/src/assets/ba_data/python/bauiv1lib/playlist/mapselect.py +++ b/src/assets/ba_data/python/bauiv1lib/playlist/mapselect.py @@ -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), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/playlist/share.py b/src/assets/ba_data/python/bauiv1lib/playlist/share.py index 480aba52..cd9af1cb 100644 --- a/src/assets/ba_data/python/bauiv1lib/playlist/share.py +++ b/src/assets/ba_data/python/bauiv1lib/playlist/share.py @@ -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 ), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/popup.py b/src/assets/ba_data/python/bauiv1lib/popup.py index b53cfc93..89e7b4c2 100644 --- a/src/assets/ba_data/python/bauiv1lib/popup.py +++ b/src/assets/ba_data/python/bauiv1lib/popup.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/profile/browser.py b/src/assets/ba_data/python/bauiv1lib/profile/browser.py index ef9db117..67d816bc 100644 --- a/src/assets/ba_data/python/bauiv1lib/profile/browser.py +++ b/src/assets/ba_data/python/bauiv1lib/profile/browser.py @@ -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( diff --git a/src/assets/ba_data/python/bauiv1lib/profile/edit.py b/src/assets/ba_data/python/bauiv1lib/profile/edit.py index 8456c607..f86ce46a 100644 --- a/src/assets/ba_data/python/bauiv1lib/profile/edit.py +++ b/src/assets/ba_data/python/bauiv1lib/profile/edit.py @@ -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='', diff --git a/src/assets/ba_data/python/bauiv1lib/profile/upgrade.py b/src/assets/ba_data/python/bauiv1lib/profile/upgrade.py index b4f0243a..da446d22 100644 --- a/src/assets/ba_data/python/bauiv1lib/profile/upgrade.py +++ b/src/assets/ba_data/python/bauiv1lib/profile/upgrade.py @@ -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( diff --git a/src/assets/ba_data/python/bauiv1lib/promocode.py b/src/assets/ba_data/python/bauiv1lib/promocode.py index 09bcf86a..5dcf3fb6 100644 --- a/src/assets/ba_data/python/bauiv1lib/promocode.py +++ b/src/assets/ba_data/python/bauiv1lib/promocode.py @@ -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 ), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/purchase.py b/src/assets/ba_data/python/bauiv1lib/purchase.py index 1a9c04f6..56e03cec 100644 --- a/src/assets/ba_data/python/bauiv1lib/purchase.py +++ b/src/assets/ba_data/python/bauiv1lib/purchase.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/qrcode.py b/src/assets/ba_data/python/bauiv1lib/qrcode.py index 467bab7f..3357de5c 100644 --- a/src/assets/ba_data/python/bauiv1lib/qrcode.py +++ b/src/assets/ba_data/python/bauiv1lib/qrcode.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/report.py b/src/assets/ba_data/python/bauiv1lib/report.py index 1b00e116..a6256e9b 100644 --- a/src/assets/ba_data/python/bauiv1lib/report.py +++ b/src/assets/ba_data/python/bauiv1lib/report.py @@ -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 ), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/resourcetypeinfo.py b/src/assets/ba_data/python/bauiv1lib/resourcetypeinfo.py index 6c3fc587..5bcc48cb 100644 --- a/src/assets/ba_data/python/bauiv1lib/resourcetypeinfo.py +++ b/src/assets/ba_data/python/bauiv1lib/resourcetypeinfo.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/serverdialog.py b/src/assets/ba_data/python/bauiv1lib/serverdialog.py index acd86938..92ac7d55 100644 --- a/src/assets/ba_data/python/bauiv1lib/serverdialog.py +++ b/src/assets/ba_data/python/bauiv1lib/serverdialog.py @@ -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), diff --git a/src/assets/ba_data/python/bauiv1lib/settings/advanced.py b/src/assets/ba_data/python/bauiv1lib/settings/advanced.py index 38285375..1ce4cd54 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/advanced.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/advanced.py @@ -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: diff --git a/src/assets/ba_data/python/bauiv1lib/settings/allsettings.py b/src/assets/ba_data/python/bauiv1lib/settings/allsettings.py index 98aedda9..6e6ed9d4 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/allsettings.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/allsettings.py @@ -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), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/settings/audio.py b/src/assets/ba_data/python/bauiv1lib/settings/audio.py index fc39b719..27ed2e4b 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/audio.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/audio.py @@ -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) + ), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/settings/controls.py b/src/assets/ba_data/python/bauiv1lib/settings/controls.py index 108657f5..8c28836a 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/controls.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/controls.py @@ -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 ), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/settings/gamepad.py b/src/assets/ba_data/python/bauiv1lib/settings/gamepad.py index a63847d4..2ec2e37c 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/gamepad.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/gamepad.py @@ -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', diff --git a/src/assets/ba_data/python/bauiv1lib/settings/gamepadadvanced.py b/src/assets/ba_data/python/bauiv1lib/settings/gamepadadvanced.py index d44300f0..4249cbb1 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/gamepadadvanced.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/gamepadadvanced.py @@ -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()), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/settings/gamepadselect.py b/src/assets/ba_data/python/bauiv1lib/settings/gamepadselect.py index d0dba0ac..416d48f6 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/gamepadselect.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/gamepadselect.py @@ -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', diff --git a/src/assets/ba_data/python/bauiv1lib/settings/graphics.py b/src/assets/ba_data/python/bauiv1lib/settings/graphics.py index f441826c..3eaf429e 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/graphics.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/graphics.py @@ -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'), diff --git a/src/assets/ba_data/python/bauiv1lib/settings/keyboard.py b/src/assets/ba_data/python/bauiv1lib/settings/keyboard.py index 1e564378..5984c985 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/keyboard.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/keyboard.py @@ -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 ), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/settings/nettesting.py b/src/assets/ba_data/python/bauiv1lib/settings/nettesting.py index e4e6e996..7cb824c4 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/nettesting.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/nettesting.py @@ -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, diff --git a/src/assets/ba_data/python/bauiv1lib/settings/plugins.py b/src/assets/ba_data/python/bauiv1lib/settings/plugins.py index b5f93320..b3f27c69 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/plugins.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/plugins.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/settings/pluginsettings.py b/src/assets/ba_data/python/bauiv1lib/settings/pluginsettings.py index 1474f5cb..d59554ff 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/pluginsettings.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/pluginsettings.py @@ -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), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/settings/remoteapp.py b/src/assets/ba_data/python/bauiv1lib/settings/remoteapp.py index 3542f992..c38b727a 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/remoteapp.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/remoteapp.py @@ -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( diff --git a/src/assets/ba_data/python/bauiv1lib/settings/testing.py b/src/assets/ba_data/python/bauiv1lib/settings/testing.py index 30f11e28..5af029bb 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/testing.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/testing.py @@ -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, diff --git a/src/assets/ba_data/python/bauiv1lib/settings/touchscreen.py b/src/assets/ba_data/python/bauiv1lib/settings/touchscreen.py index d77a16a2..b3e1d2bf 100644 --- a/src/assets/ba_data/python/bauiv1lib/settings/touchscreen.py +++ b/src/assets/ba_data/python/bauiv1lib/settings/touchscreen.py @@ -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 ), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/soundtrack/edit.py b/src/assets/ba_data/python/bauiv1lib/soundtrack/edit.py index 8c3887eb..628a599a 100644 --- a/src/assets/ba_data/python/bauiv1lib/soundtrack/edit.py +++ b/src/assets/ba_data/python/bauiv1lib/soundtrack/edit.py @@ -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) diff --git a/src/assets/ba_data/python/bauiv1lib/soundtrack/entrytypeselect.py b/src/assets/ba_data/python/bauiv1lib/soundtrack/entrytypeselect.py index 583855a8..c1a7d2e2 100644 --- a/src/assets/ba_data/python/bauiv1lib/soundtrack/entrytypeselect.py +++ b/src/assets/ba_data/python/bauiv1lib/soundtrack/entrytypeselect.py @@ -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, diff --git a/src/assets/ba_data/python/bauiv1lib/specialoffer.py b/src/assets/ba_data/python/bauiv1lib/specialoffer.py index 6e4a463b..24ae04db 100644 --- a/src/assets/ba_data/python/bauiv1lib/specialoffer.py +++ b/src/assets/ba_data/python/bauiv1lib/specialoffer.py @@ -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, diff --git a/src/assets/ba_data/python/bauiv1lib/store/browser.py b/src/assets/ba_data/python/bauiv1lib/store/browser.py index 555e5e1c..1f6df697 100644 --- a/src/assets/ba_data/python/bauiv1lib/store/browser.py +++ b/src/assets/ba_data/python/bauiv1lib/store/browser.py @@ -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( diff --git a/src/assets/ba_data/python/bauiv1lib/store/item.py b/src/assets/ba_data/python/bauiv1lib/store/item.py index 3a801466..ee779cb4 100644 --- a/src/assets/ba_data/python/bauiv1lib/store/item.py +++ b/src/assets/ba_data/python/bauiv1lib/store/item.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/teamnamescolors.py b/src/assets/ba_data/python/bauiv1lib/teamnamescolors.py index 3fe95459..23bbd0c0 100644 --- a/src/assets/ba_data/python/bauiv1lib/teamnamescolors.py +++ b/src/assets/ba_data/python/bauiv1lib/teamnamescolors.py @@ -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 diff --git a/src/assets/ba_data/python/bauiv1lib/tournamententry.py b/src/assets/ba_data/python/bauiv1lib/tournamententry.py index 90996bc0..34c863c5 100644 --- a/src/assets/ba_data/python/bauiv1lib/tournamententry.py +++ b/src/assets/ba_data/python/bauiv1lib/tournamententry.py @@ -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( diff --git a/src/assets/ba_data/python/bauiv1lib/tournamentscores.py b/src/assets/ba_data/python/bauiv1lib/tournamentscores.py index ebd44de7..b7499498 100644 --- a/src/assets/ba_data/python/bauiv1lib/tournamentscores.py +++ b/src/assets/ba_data/python/bauiv1lib/tournamentscores.py @@ -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) diff --git a/src/assets/ba_data/python/bauiv1lib/trophies.py b/src/assets/ba_data/python/bauiv1lib/trophies.py index e605ad7c..1224ca2b 100644 --- a/src/assets/ba_data/python/bauiv1lib/trophies.py +++ b/src/assets/ba_data/python/bauiv1lib/trophies.py @@ -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, diff --git a/src/assets/ba_data/python/bauiv1lib/url.py b/src/assets/ba_data/python/bauiv1lib/url.py index 2e9b8335..bb199123 100644 --- a/src/assets/ba_data/python/bauiv1lib/url.py +++ b/src/assets/ba_data/python/bauiv1lib/url.py @@ -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 ), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/v2upgrade.py b/src/assets/ba_data/python/bauiv1lib/v2upgrade.py index de398221..1ce5b3be 100644 --- a/src/assets/ba_data/python/bauiv1lib/v2upgrade.py +++ b/src/assets/ba_data/python/bauiv1lib/v2upgrade.py @@ -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 ), ) ) diff --git a/src/assets/ba_data/python/bauiv1lib/watch.py b/src/assets/ba_data/python/bauiv1lib/watch.py index b9636123..0757c68e 100644 --- a/src/assets/ba_data/python/bauiv1lib/watch.py +++ b/src/assets/ba_data/python/bauiv1lib/watch.py @@ -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, diff --git a/src/ballistica/base/assets/assets.cc b/src/ballistica/base/assets/assets.cc index a8b59020..0223e911 100644 --- a/src/ballistica/base/assets/assets.cc +++ b/src/ballistica/base/assets/assets.cc @@ -699,8 +699,8 @@ auto Assets::GetPendingLoadCount() -> int { template auto Assets::GetAssetPendingLoadCount( - std::unordered_map >* t_list, AssetType type) - -> int { + std::unordered_map >* 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. diff --git a/src/ballistica/base/assets/assets.h b/src/ballistica/base/assets/assets.h index aa396371..f9cbbe94 100644 --- a/src/ballistica/base/assets/assets.h +++ b/src/ballistica/base/assets/assets.h @@ -38,8 +38,8 @@ class Assets { /// is deleted once the load is completed. void AddPendingLoad(Object::Ref* c); enum class FileType { kMesh, kCollisionMesh, kTexture, kSound, kData }; - auto FindAssetFile(FileType fileType, const std::string& file_in) - -> std::string; + auto FindAssetFile(FileType fileType, + const std::string& file_in) -> std::string; /// Unload renderer-specific bits only (gl display lists, etc) - used when /// recreating/adjusting the renderer. @@ -131,8 +131,8 @@ class Assets { template auto GetAssetPendingLoadCount( - std::unordered_map >* t_list, AssetType type) - -> int; + std::unordered_map >* t_list, + AssetType type) -> int; template auto GetAsset(const std::string& file_name, diff --git a/src/ballistica/base/assets/sound_asset.cc b/src/ballistica/base/assets/sound_asset.cc index 69571ecd..c6e64dcb 100644 --- a/src/ballistica/base/assets/sound_asset.cc +++ b/src/ballistica/base/assets/sound_asset.cc @@ -33,8 +33,8 @@ static auto CallbackRead(void* ptr, size_t size, size_t nmemb, void* data_source) -> size_t { return fread(ptr, size, nmemb, static_cast(data_source)); } -static auto CallbackSeek(void* data_source, ogg_int64_t offset, int whence) - -> int { +static auto CallbackSeek(void* data_source, ogg_int64_t offset, + int whence) -> int { return fseek(static_cast(data_source), static_cast_check_fit(offset), whence); // NOLINT } diff --git a/src/ballistica/base/audio/audio.cc b/src/ballistica/base/audio/audio.cc index f37f4632..7638f032 100644 --- a/src/ballistica/base/audio/audio.cc +++ b/src/ballistica/base/audio/audio.cc @@ -124,8 +124,8 @@ auto Audio::IsSoundPlaying(uint32_t play_id) -> bool { return result; } -auto Audio::SourceBeginExisting(uint32_t play_id, int debug_id) - -> AudioSource* { +auto Audio::SourceBeginExisting(uint32_t play_id, + int debug_id) -> AudioSource* { BA_DEBUG_FUNCTION_TIMER_BEGIN(); uint32_t source_id = AudioServer::SourceIdFromPlayId(play_id); @@ -186,8 +186,8 @@ auto Audio::SafePlaySysSound(SysSoundID sound_id) -> std::optional { return PlaySound(g_base->assets->SysSound(sound_id)); } -auto Audio::PlaySound(SoundAsset* sound, float volume) - -> std::optional { +auto Audio::PlaySound(SoundAsset* sound, + float volume) -> std::optional { assert(g_core); assert(g_base->InLogicThread()); BA_DEBUG_FUNCTION_TIMER_BEGIN(); diff --git a/src/ballistica/base/audio/ogg_stream.cc b/src/ballistica/base/audio/ogg_stream.cc index 5b51d427..c62c4799 100644 --- a/src/ballistica/base/audio/ogg_stream.cc +++ b/src/ballistica/base/audio/ogg_stream.cc @@ -15,8 +15,8 @@ static auto CallbackRead(void* ptr, size_t size, size_t nmemb, return fread(ptr, size, nmemb, static_cast(data_source)); } -static auto CallbackSeek(void* data_source, ogg_int64_t offset, int whence) - -> int { +static auto CallbackSeek(void* data_source, ogg_int64_t offset, + int whence) -> int { return fseek(static_cast(data_source), static_cast_check_fit(offset), whence); // NOLINT } diff --git a/src/ballistica/base/graphics/gl/program/program_blur_gl.h b/src/ballistica/base/graphics/gl/program/program_blur_gl.h index ddd0219a..7d1deb27 100644 --- a/src/ballistica/base/graphics/gl/program/program_blur_gl.h +++ b/src/ballistica/base/graphics/gl/program/program_blur_gl.h @@ -19,9 +19,9 @@ class RendererGL::ProgramBlurGL : public RendererGL::ProgramGL { ProgramBlurGL(RendererGL* renderer, int flags) : RendererGL::ProgramGL( - renderer, Object::New(GetVertexCode(flags)), - Object::New(GetFragmentCode(flags)), GetName(flags), - GetPFlags(flags)), + renderer, Object::New(GetVertexCode(flags)), + Object::New(GetFragmentCode(flags)), + GetName(flags), GetPFlags(flags)), flags_(flags), pixel_size_x_(0.0f), pixel_size_y_(0.0f) { diff --git a/src/ballistica/base/graphics/gl/program/program_object_gl.h b/src/ballistica/base/graphics/gl/program/program_object_gl.h index 0941ea9f..7bb620db 100644 --- a/src/ballistica/base/graphics/gl/program/program_object_gl.h +++ b/src/ballistica/base/graphics/gl/program/program_object_gl.h @@ -23,9 +23,9 @@ class RendererGL::ProgramObjectGL : public RendererGL::ProgramGL { ProgramObjectGL(RendererGL* renderer, int flags) : RendererGL::ProgramGL( - renderer, Object::New(GetVertexCode(flags)), - Object::New(GetFragmentCode(flags)), GetName(flags), - GetPFlags(flags)), + renderer, Object::New(GetVertexCode(flags)), + Object::New(GetFragmentCode(flags)), + GetName(flags), GetPFlags(flags)), flags_(flags), r_(0), g_(0), diff --git a/src/ballistica/base/graphics/gl/program/program_post_process_gl.h b/src/ballistica/base/graphics/gl/program/program_post_process_gl.h index 64e7df99..87c31d78 100644 --- a/src/ballistica/base/graphics/gl/program/program_post_process_gl.h +++ b/src/ballistica/base/graphics/gl/program/program_post_process_gl.h @@ -23,9 +23,9 @@ class RendererGL::ProgramPostProcessGL : public RendererGL::ProgramGL { ProgramPostProcessGL(RendererGL* renderer, int flags) : RendererGL::ProgramGL( - renderer, Object::New(GetVertexCode(flags)), - Object::New(GetFragmentCode(flags)), GetName(flags), - GetPFlags(flags)), + renderer, Object::New(GetVertexCode(flags)), + Object::New(GetFragmentCode(flags)), + GetName(flags), GetPFlags(flags)), flags_(flags), dof_near_min_(0), dof_near_max_(0), diff --git a/src/ballistica/base/graphics/gl/program/program_shield_gl.h b/src/ballistica/base/graphics/gl/program/program_shield_gl.h index 9ecfd8e9..16ad3724 100644 --- a/src/ballistica/base/graphics/gl/program/program_shield_gl.h +++ b/src/ballistica/base/graphics/gl/program/program_shield_gl.h @@ -19,9 +19,9 @@ class RendererGL::ProgramShieldGL : public RendererGL::ProgramGL { ProgramShieldGL(RendererGL* renderer, int flags) : RendererGL::ProgramGL( - renderer, Object::New(GetVertexCode(flags)), - Object::New(GetFragmentCode(flags)), GetName(flags), - GetPFlags(flags)), + renderer, Object::New(GetVertexCode(flags)), + Object::New(GetFragmentCode(flags)), + GetName(flags), GetPFlags(flags)), flags_(flags) { SetTextureUnit("depthTex", kDepthTexUnit); } diff --git a/src/ballistica/base/graphics/gl/program/program_simple_gl.h b/src/ballistica/base/graphics/gl/program/program_simple_gl.h index e2b27d67..23c85f48 100644 --- a/src/ballistica/base/graphics/gl/program/program_simple_gl.h +++ b/src/ballistica/base/graphics/gl/program/program_simple_gl.h @@ -22,9 +22,9 @@ class RendererGL::ProgramSimpleGL : public RendererGL::ProgramGL { ProgramSimpleGL(RendererGL* renderer, int flags) : RendererGL::ProgramGL( - renderer, Object::New(GetVertexCode(flags)), - Object::New(GetFragmentCode(flags)), GetName(flags), - GetPFlags(flags)), + renderer, Object::New(GetVertexCode(flags)), + Object::New(GetFragmentCode(flags)), + GetName(flags), GetPFlags(flags)), flags_(flags) { if (flags & SHD_TEXTURE) { SetTextureUnit("colorTex", kColorTexUnit); diff --git a/src/ballistica/base/graphics/gl/program/program_smoke_gl.h b/src/ballistica/base/graphics/gl/program/program_smoke_gl.h index dc6f2bbc..e5050e1c 100644 --- a/src/ballistica/base/graphics/gl/program/program_smoke_gl.h +++ b/src/ballistica/base/graphics/gl/program/program_smoke_gl.h @@ -17,9 +17,9 @@ class RendererGL::ProgramSmokeGL : public RendererGL::ProgramGL { ProgramSmokeGL(RendererGL* renderer, int flags) : RendererGL::ProgramGL( - renderer, Object::New(GetVertexCode(flags)), - Object::New(GetFragmentCode(flags)), GetName(flags), - GetPFlags(flags)), + renderer, Object::New(GetVertexCode(flags)), + Object::New(GetFragmentCode(flags)), + GetName(flags), GetPFlags(flags)), flags_(flags), r_(0), g_(0), diff --git a/src/ballistica/base/graphics/gl/program/program_sprite_gl.h b/src/ballistica/base/graphics/gl/program/program_sprite_gl.h index 16f34dbd..da8625d0 100644 --- a/src/ballistica/base/graphics/gl/program/program_sprite_gl.h +++ b/src/ballistica/base/graphics/gl/program/program_sprite_gl.h @@ -17,9 +17,9 @@ class RendererGL::ProgramSpriteGL : public RendererGL::ProgramGL { ProgramSpriteGL(RendererGL* renderer, int flags) : RendererGL::ProgramGL( - renderer, Object::New(GetVertexCode(flags)), - Object::New(GetFragmentCode(flags)), GetName(flags), - GetPFlags(flags)), + renderer, Object::New(GetVertexCode(flags)), + Object::New(GetFragmentCode(flags)), + GetName(flags), GetPFlags(flags)), flags_(flags), r_(0), g_(0), diff --git a/src/ballistica/base/graphics/gl/renderer_gl.cc b/src/ballistica/base/graphics/gl/renderer_gl.cc index 26f84d7c..38f8b173 100644 --- a/src/ballistica/base/graphics/gl/renderer_gl.cc +++ b/src/ballistica/base/graphics/gl/renderer_gl.cc @@ -2944,19 +2944,17 @@ auto RendererGL::NewScreenRenderTarget() -> RenderTarget* { return Object::NewDeferred(this); } -auto RendererGL::NewFramebufferRenderTarget(int width, int height, - bool linear_interp, bool depth, - bool texture, bool depth_texture, - bool high_quality, bool msaa, - bool alpha) - -> Object::Ref { +auto RendererGL::NewFramebufferRenderTarget( + int width, int height, bool linear_interp, bool depth, bool texture, + bool depth_texture, bool high_quality, bool msaa, + bool alpha) -> Object::Ref { return Object::New( this, width, height, linear_interp, depth, texture, depth_texture, high_quality, msaa, alpha); } -auto RendererGL::NewMeshData(MeshDataType mesh_type, MeshDrawType draw_type) - -> MeshRendererData* { +auto RendererGL::NewMeshData(MeshDataType mesh_type, + MeshDrawType draw_type) -> MeshRendererData* { switch (mesh_type) { case MeshDataType::kIndexedSimpleSplit: { MeshDataSimpleSplitGL* data; diff --git a/src/ballistica/base/graphics/gl/renderer_gl.h b/src/ballistica/base/graphics/gl/renderer_gl.h index 7793a70e..383bd356 100644 --- a/src/ballistica/base/graphics/gl/renderer_gl.h +++ b/src/ballistica/base/graphics/gl/renderer_gl.h @@ -150,18 +150,17 @@ class RendererGL : public Renderer { void SetDepthTesting(bool enable) override; void SetDrawAtEqualDepth(bool enable) override; auto NewScreenRenderTarget() -> RenderTarget* override; - auto NewFramebufferRenderTarget(int width, int height, bool linear_interp, - bool depth, bool texture, - bool depth_is_texture, bool high_quality, - bool msaa, bool alpha) - -> Object::Ref override; + auto NewFramebufferRenderTarget( + int width, int height, bool linear_interp, bool depth, bool texture, + bool depth_is_texture, bool high_quality, bool msaa, + bool alpha) -> Object::Ref override; auto NewMeshAssetData(const MeshAsset& mesh) -> Object::Ref override; auto NewTextureData(const TextureAsset& texture) -> Object::Ref override; - auto NewMeshData(MeshDataType type, MeshDrawType drawType) - -> MeshRendererData* override; + auto NewMeshData(MeshDataType type, + MeshDrawType drawType) -> MeshRendererData* override; void DeleteMeshData(MeshRendererData* data, MeshDataType type) override; void ProcessRenderCommandBuffer(RenderCommandBuffer* buffer, diff --git a/src/ballistica/base/graphics/graphics.cc b/src/ballistica/base/graphics/graphics.cc index 77f30abf..41adaba9 100644 --- a/src/ballistica/base/graphics/graphics.cc +++ b/src/ballistica/base/graphics/graphics.cc @@ -481,8 +481,8 @@ void Graphics::DrawMiscOverlays(FrameDef* frame_def) { screenmessages->DrawMiscOverlays(frame_def); } -auto Graphics::GetDebugGraph(const std::string& name, bool smoothed) - -> NetGraph* { +auto Graphics::GetDebugGraph(const std::string& name, + bool smoothed) -> NetGraph* { auto out = debug_graphs_.find(name); if (out == debug_graphs_.end()) { debug_graphs_[name] = Object::New(); @@ -1653,9 +1653,8 @@ auto Graphics::GraphicsQualityFromRequest(GraphicsQualityRequest request, } } -auto Graphics::TextureQualityFromRequest(TextureQualityRequest request, - TextureQuality auto_val) - -> TextureQuality { +auto Graphics::TextureQualityFromRequest( + TextureQualityRequest request, TextureQuality auto_val) -> TextureQuality { switch (request) { case TextureQualityRequest::kLow: return TextureQuality::kLow; diff --git a/src/ballistica/base/graphics/graphics.h b/src/ballistica/base/graphics/graphics.h index 93ef8310..687f07ea 100644 --- a/src/ballistica/base/graphics/graphics.h +++ b/src/ballistica/base/graphics/graphics.h @@ -335,9 +335,8 @@ class Graphics { static auto GraphicsQualityFromRequest(GraphicsQualityRequest request, GraphicsQuality auto_val) -> GraphicsQuality; - static auto TextureQualityFromRequest(TextureQualityRequest request, - TextureQuality auto_val) - -> TextureQuality; + static auto TextureQualityFromRequest( + TextureQualityRequest request, TextureQuality auto_val) -> TextureQuality; /// For temporary use from arbitrary threads. This should be removed when /// possible and replaced with proper safe thread-specific access patterns diff --git a/src/ballistica/base/graphics/graphics_vr.cc b/src/ballistica/base/graphics/graphics_vr.cc index 386825e5..3325555b 100644 --- a/src/ballistica/base/graphics/graphics_vr.cc +++ b/src/ballistica/base/graphics/graphics_vr.cc @@ -15,8 +15,8 @@ namespace ballistica::base { -static auto ValueTestFloat(float* storage, double* absval, double* deltaval) - -> double { +static auto ValueTestFloat(float* storage, double* absval, + double* deltaval) -> double { if (absval) { *storage = static_cast(*absval); } @@ -26,8 +26,8 @@ static auto ValueTestFloat(float* storage, double* absval, double* deltaval) return *storage; } -static auto ValueTestBool(bool* storage, double* absval, double* deltaval) - -> double { +static auto ValueTestBool(bool* storage, double* absval, + double* deltaval) -> double { if (absval) { *storage = static_cast(*absval); } @@ -245,9 +245,8 @@ void GraphicsVR::CalcVROverlayMatrices(FrameDef* frame_def) { } } -auto GraphicsVR::CalcVROverlayMatrix(const Vector3f& cam_pt, - const Vector3f& cam_target_pt) const - -> Matrix44f { +auto GraphicsVR::CalcVROverlayMatrix( + const Vector3f& cam_pt, const Vector3f& cam_target_pt) const -> Matrix44f { Matrix44f m = Matrix44fTranslate(cam_target_pt); Vector3f diff = cam_pt - cam_target_pt; diff.Normalize(); diff --git a/src/ballistica/base/graphics/renderer/renderer.h b/src/ballistica/base/graphics/renderer/renderer.h index 3bc6ccc2..4a4a0466 100644 --- a/src/ballistica/base/graphics/renderer/renderer.h +++ b/src/ballistica/base/graphics/renderer/renderer.h @@ -152,8 +152,8 @@ class Renderer { -> Object::Ref = 0; virtual auto NewTextureData(const TextureAsset& texture) -> Object::Ref = 0; - virtual auto NewMeshData(MeshDataType t, MeshDrawType drawType) - -> MeshRendererData* = 0; + virtual auto NewMeshData(MeshDataType t, + MeshDrawType drawType) -> MeshRendererData* = 0; virtual void DeleteMeshData(MeshRendererData* data, MeshDataType t) = 0; virtual void ProcessRenderCommandBuffer(RenderCommandBuffer* buffer, const RenderPass& pass, @@ -176,12 +176,10 @@ class Renderer { virtual void InvalidateFramebuffer(bool color, bool depth, bool target_read_framebuffer) = 0; virtual auto NewScreenRenderTarget() -> RenderTarget* = 0; - virtual auto NewFramebufferRenderTarget(int width, int height, - bool linear_interp, bool depth, - bool texture, bool depth_texture, - bool high_quality, bool msaa, - bool alpha) - -> Object::Ref = 0; + virtual auto NewFramebufferRenderTarget( + int width, int height, bool linear_interp, bool depth, bool texture, + bool depth_texture, bool high_quality, bool msaa, + bool alpha) -> Object::Ref = 0; virtual void PushGroupMarker(const char* label) = 0; virtual void PopGroupMarker() = 0; virtual void BlitBuffer(RenderTarget* src, RenderTarget* dst, bool depth, diff --git a/src/ballistica/base/graphics/support/camera.cc b/src/ballistica/base/graphics/support/camera.cc index c8406c33..483429bc 100644 --- a/src/ballistica/base/graphics/support/camera.cc +++ b/src/ballistica/base/graphics/support/camera.cc @@ -904,18 +904,16 @@ void Camera::ApplyToFrameDef(FrameDef* frame_def) { // for now, though, there's just a single beauty pass // which is us. - RenderPass* passes[] = { - frame_def->beauty_pass(), - frame_def->beauty_pass_bg(), + RenderPass* passes[] = {frame_def->beauty_pass(), + frame_def->beauty_pass_bg(), #if BA_VR_BUILD - frame_def->overlay_pass(), - frame_def->GetOverlayFixedPass(), - frame_def->vr_cover_pass(), + frame_def->overlay_pass(), + frame_def->GetOverlayFixedPass(), + frame_def->vr_cover_pass(), #endif - frame_def->overlay_3d_pass(), - frame_def->blit_pass(), - nullptr - }; + frame_def->overlay_3d_pass(), + frame_def->blit_pass(), + nullptr}; // Currently, our x/y fovs are simply enough to fit everything. // Check the aspect ratio of what we're rendering to and fit them. diff --git a/src/ballistica/base/graphics/texture/ktx.cc b/src/ballistica/base/graphics/texture/ktx.cc index b532aa92..8b5dd24f 100644 --- a/src/ballistica/base/graphics/texture/ktx.cc +++ b/src/ballistica/base/graphics/texture/ktx.cc @@ -320,7 +320,7 @@ typedef short int16; #define PUTBITS(dest, data, size, startpos) \ dest = ((dest & ~MASK(size, startpos)) \ | ((data << SHIFT(size, startpos)) & MASK(size, startpos))) -#define SHIFTHIGH(size, startpos) (((startpos)-32) - (size) + 1) +#define SHIFTHIGH(size, startpos) (((startpos) - 32) - (size) + 1) #define MASKHIGH(size, startpos) \ (((1 << (size)) - 1) << SHIFTHIGH(size, startpos)) #define PUTBITSHIGH(dest, data, size, startpos) \ @@ -329,7 +329,7 @@ typedef short int16; #define GETBITS(source, size, startpos) \ (((source) >> ((startpos) - (size) + 1)) & ((1 << (size)) - 1)) #define GETBITSHIGH(source, size, startpos) \ - (((source) >> (((startpos)-32) - (size) + 1)) & ((1 << (size)) - 1)) + (((source) >> (((startpos) - 32) - (size) + 1)) & ((1 << (size)) - 1)) #ifndef PGMOUT #define PGMOUT 0 #endif @@ -352,7 +352,7 @@ typedef short int16; // Helper Macros #define CLAMP(ll, x, ul) (((x) < (ll)) ? (ll) : (((x) > (ul)) ? (ul) : (x))) -#define JAS_ROUND(x) (((x) < 0.0) ? ((int)((x)-0.5)) : ((int)((x) + 0.5))) +#define JAS_ROUND(x) (((x) < 0.0) ? ((int)((x) - 0.5)) : ((int)((x) + 0.5))) #define RED_CHANNEL(img, width, x, y, channels) \ img[channels * (y * width + x) + 0] diff --git a/src/ballistica/base/input/device/joystick_input.cc b/src/ballistica/base/input/device/joystick_input.cc index 08f7386c..4e333224 100644 --- a/src/ballistica/base/input/device/joystick_input.cc +++ b/src/ballistica/base/input/device/joystick_input.cc @@ -331,8 +331,8 @@ auto JoystickInput::ShouldBeHiddenFromUser() -> bool { } } -auto JoystickInput::GetCalibratedValue(float raw, float neutral) const - -> int32_t { +auto JoystickInput::GetCalibratedValue(float raw, + float neutral) const -> int32_t { int32_t val; float dead_zone = 0.5f; float mag, target; diff --git a/src/ballistica/base/input/input.h b/src/ballistica/base/input/input.h index 5c23bf33..5d7b0b12 100644 --- a/src/ballistica/base/input/input.h +++ b/src/ballistica/base/input/input.h @@ -43,8 +43,8 @@ class Input { // Given a device name and persistent identifier for it, returns a device or // nullptr. Note that this can return hidden devices (ones the user has // flagged as totally-ignored, etc). - auto GetInputDevice(const std::string& name, const std::string& persistent_id) - -> InputDevice*; + auto GetInputDevice(const std::string& name, + const std::string& persistent_id) -> InputDevice*; // Return a device by id, or nullptr for an invalid id. Note that this can // return hidden devices (ones the user has flagged as totally-ignored, etc). diff --git a/src/ballistica/base/logic/logic.cc b/src/ballistica/base/logic/logic.cc index 12f03435..b6516c57 100644 --- a/src/ballistica/base/logic/logic.cc +++ b/src/ballistica/base/logic/logic.cc @@ -634,8 +634,8 @@ void Logic::NotifyOfPendingAssetLoads() { UpdatePendingWorkTimer_(); } -auto Logic::NewAppTimer(microsecs_t length, bool repeat, Runnable* runnable) - -> int { +auto Logic::NewAppTimer(microsecs_t length, bool repeat, + Runnable* runnable) -> int { // App-Timers simply get injected into our loop and run alongside our own // stuff. assert(g_base->InLogicThread()); @@ -659,8 +659,8 @@ void Logic::SetAppTimerLength(int timer_id, microsecs_t length) { } } -auto Logic::NewDisplayTimer(microsecs_t length, bool repeat, Runnable* runnable) - -> int { +auto Logic::NewDisplayTimer(microsecs_t length, bool repeat, + Runnable* runnable) -> int { // Display-Timers go into a timer-list that we exec explicitly when we // step display-time. assert(g_base->InLogicThread()); diff --git a/src/ballistica/base/logic/logic.h b/src/ballistica/base/logic/logic.h index 2e389214..e2af720e 100644 --- a/src/ballistica/base/logic/logic.h +++ b/src/ballistica/base/logic/logic.h @@ -95,8 +95,8 @@ class Logic { void DeleteAppTimer(int timer_id); void SetAppTimerLength(int timer_id, microsecs_t length); - auto NewDisplayTimer(microsecs_t length, bool repeat, Runnable* runnable) - -> int; + auto NewDisplayTimer(microsecs_t length, bool repeat, + Runnable* runnable) -> int; void DeleteDisplayTimer(int timer_id); void SetDisplayTimerLength(int timer_id, microsecs_t length); diff --git a/src/ballistica/base/python/base_python.cc b/src/ballistica/base/python/base_python.cc index a22c126e..83f53425 100644 --- a/src/ballistica/base/python/base_python.cc +++ b/src/ballistica/base/python/base_python.cc @@ -333,8 +333,8 @@ auto BasePython::GetRawConfigValue(const char* name) -> PyObject* { return PyDict_GetItemString(objs().Get(ObjID::kConfig).Get(), name); } -auto BasePython::GetRawConfigValue(const char* name, const char* default_value) - -> std::string { +auto BasePython::GetRawConfigValue(const char* name, + const char* default_value) -> std::string { assert(g_base->InLogicThread()); assert(objs().Exists(ObjID::kConfig)); PyObject* value = @@ -345,8 +345,8 @@ auto BasePython::GetRawConfigValue(const char* name, const char* default_value) return PyUnicode_AsUTF8(value); } -auto BasePython::GetRawConfigValue(const char* name, float default_value) - -> float { +auto BasePython::GetRawConfigValue(const char* name, + float default_value) -> float { assert(g_base->InLogicThread()); assert(objs().Exists(ObjID::kConfig)); PyObject* value = @@ -402,8 +402,8 @@ auto BasePython::GetRawConfigValue(const char* name, int default_value) -> int { } } -auto BasePython::GetRawConfigValue(const char* name, bool default_value) - -> bool { +auto BasePython::GetRawConfigValue(const char* name, + bool default_value) -> bool { assert(g_base->InLogicThread()); assert(objs().Exists(ObjID::kConfig)); PyObject* value = @@ -545,8 +545,8 @@ auto BasePython::GetResource(const char* key, const char* fallback_resource, return std::string(""; } -auto BasePython::GetTranslation(const char* category, const char* s) - -> std::string { +auto BasePython::GetTranslation(const char* category, + const char* s) -> std::string { assert(Python::HaveGIL()); PythonRef results; PythonRef args(Py_BuildValue("(ss)", category, s), PythonRef::kSteal); diff --git a/src/ballistica/base/python/base_python.h b/src/ballistica/base/python/base_python.h index 3d661f7a..e5cf4d50 100644 --- a/src/ballistica/base/python/base_python.h +++ b/src/ballistica/base/python/base_python.h @@ -145,8 +145,8 @@ class BasePython { // functions (which themselves call these functions) auto GetRawConfigValue(const char* name) -> PyObject*; // (returns a borrowed ref) - auto GetRawConfigValue(const char* name, const char* default_value) - -> std::string; + auto GetRawConfigValue(const char* name, + const char* default_value) -> std::string; auto GetRawConfigValue(const char* name, float default_value) -> float; auto GetRawConfigValue(const char* name, std::optional default_value) -> std::optional; diff --git a/src/ballistica/base/python/class/python_class_app_timer.h b/src/ballistica/base/python/class/python_class_app_timer.h index 7295988a..0c086a2e 100644 --- a/src/ballistica/base/python/class/python_class_app_timer.h +++ b/src/ballistica/base/python/class/python_class_app_timer.h @@ -18,8 +18,8 @@ class PythonClassAppTimer : public PythonClass { static PyTypeObject type_obj; private: - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassAppTimer* self); int timer_id_{}; bool have_timer_{}; diff --git a/src/ballistica/base/python/class/python_class_context_call.cc b/src/ballistica/base/python/class/python_class_context_call.cc index 3dad799a..e50b227e 100644 --- a/src/ballistica/base/python/class/python_class_context_call.cc +++ b/src/ballistica/base/python/class/python_class_context_call.cc @@ -92,8 +92,8 @@ auto PythonClassContextCall::tp_new(PyTypeObject* type, PyObject* args, } auto PythonClassContextCall::tp_call(PythonClassContextCall* self, - PyObject* args, PyObject* keywds) - -> PyObject* { + PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {nullptr}; if (!PyArg_ParseTupleAndKeywords(args, keywds, "", diff --git a/src/ballistica/base/python/class/python_class_context_call.h b/src/ballistica/base/python/class/python_class_context_call.h index 8d0c3020..349cc289 100644 --- a/src/ballistica/base/python/class/python_class_context_call.h +++ b/src/ballistica/base/python/class/python_class_context_call.h @@ -23,8 +23,8 @@ class PythonClassContextCall : public PythonClass { static auto tp_call(PythonClassContextCall* self, PyObject* args, PyObject* keywds) -> PyObject*; static auto tp_repr(PythonClassContextCall* self) -> PyObject*; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassContextCall* self); Object::Ref* context_call_{}; }; diff --git a/src/ballistica/base/python/class/python_class_context_ref.cc b/src/ballistica/base/python/class/python_class_context_ref.cc index e32fb729..90fef920 100644 --- a/src/ballistica/base/python/class/python_class_context_ref.cc +++ b/src/ballistica/base/python/class/python_class_context_ref.cc @@ -151,8 +151,8 @@ auto PythonClassContextRef::Enter(PythonClassContextRef* self) -> PyObject* { BA_PYTHON_CATCH; } -auto PythonClassContextRef::Exit(PythonClassContextRef* self, PyObject* args) - -> PyObject* { +auto PythonClassContextRef::Exit(PythonClassContextRef* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; g_base->SetCurrentContext(*self->context_ref_prev_); Py_RETURN_NONE; diff --git a/src/ballistica/base/python/class/python_class_context_ref.h b/src/ballistica/base/python/class/python_class_context_ref.h index b325dfca..9c3c5edd 100644 --- a/src/ballistica/base/python/class/python_class_context_ref.h +++ b/src/ballistica/base/python/class/python_class_context_ref.h @@ -22,10 +22,10 @@ class PythonClassContextRef : public PythonClass { private: static PyMethodDef tp_methods[]; static auto tp_repr(PythonClassContextRef* self) -> PyObject*; - static auto tp_richcompare(PythonClassContextRef* c1, PyObject* c2, int op) - -> PyObject*; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_richcompare(PythonClassContextRef* c1, PyObject* c2, + int op) -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassContextRef* self); static auto Enter(PythonClassContextRef* self) -> PyObject*; static auto Exit(PythonClassContextRef* self, PyObject* args) -> PyObject*; diff --git a/src/ballistica/base/python/class/python_class_display_timer.h b/src/ballistica/base/python/class/python_class_display_timer.h index 61c25888..35b10d3b 100644 --- a/src/ballistica/base/python/class/python_class_display_timer.h +++ b/src/ballistica/base/python/class/python_class_display_timer.h @@ -18,8 +18,8 @@ class PythonClassDisplayTimer : public PythonClass { static PyTypeObject type_obj; private: - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassDisplayTimer* self); int timer_id_; bool have_timer_; diff --git a/src/ballistica/base/python/class/python_class_env.cc b/src/ballistica/base/python/class/python_class_env.cc index 08ac7bef..3079e93c 100644 --- a/src/ballistica/base/python/class/python_class_env.cc +++ b/src/ballistica/base/python/class/python_class_env.cc @@ -214,8 +214,8 @@ void PythonClassEnv::tp_dealloc(PythonClassEnv* self) { Py_TYPE(self)->tp_free(reinterpret_cast(self)); } -auto PythonClassEnv::tp_getattro(PythonClassEnv* self, PyObject* attr) - -> PyObject* { +auto PythonClassEnv::tp_getattro(PythonClassEnv* self, + PyObject* attr) -> PyObject* { BA_PYTHON_TRY; // Do we need to support other attr types? diff --git a/src/ballistica/base/python/class/python_class_env.h b/src/ballistica/base/python/class/python_class_env.h index dcca64c5..dd28f68b 100644 --- a/src/ballistica/base/python/class/python_class_env.h +++ b/src/ballistica/base/python/class/python_class_env.h @@ -34,8 +34,8 @@ class PythonClassEnv : public PythonClass { PythonClassEnv(); ~PythonClassEnv(); static PyMethodDef tp_methods[]; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassEnv* self); static auto Dir(PythonClassEnv* self) -> PyObject*; }; diff --git a/src/ballistica/base/python/class/python_class_feature_set_data.h b/src/ballistica/base/python/class/python_class_feature_set_data.h index f9283d4d..5df100e4 100644 --- a/src/ballistica/base/python/class/python_class_feature_set_data.h +++ b/src/ballistica/base/python/class/python_class_feature_set_data.h @@ -40,8 +40,8 @@ class PythonClassFeatureSetData : public PythonClass { private: static PyMethodDef tp_methods[]; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassFeatureSetData* self); FeatureSetNativeComponent* feature_set_{}; static auto Play(PythonClassFeatureSetData* self, PyObject* args, diff --git a/src/ballistica/base/python/class/python_class_simple_sound.h b/src/ballistica/base/python/class/python_class_simple_sound.h index 6f4e3e69..a0cd3244 100644 --- a/src/ballistica/base/python/class/python_class_simple_sound.h +++ b/src/ballistica/base/python/class/python_class_simple_sound.h @@ -42,8 +42,8 @@ class PythonClassSimpleSound : public PythonClass { private: static PyMethodDef tp_methods[]; static auto tp_repr(PythonClassSimpleSound* self) -> PyObject*; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassSimpleSound* self); Object::Ref* sound_; static auto Play(PythonClassSimpleSound* self, PyObject* args, diff --git a/src/ballistica/base/python/class/python_class_vec3.cc b/src/ballistica/base/python/class/python_class_vec3.cc index cbf96e4d..31602fc2 100644 --- a/src/ballistica/base/python/class/python_class_vec3.cc +++ b/src/ballistica/base/python/class/python_class_vec3.cc @@ -138,8 +138,8 @@ auto PythonClassVec3::sq_length(PythonClassVec3* self) -> Py_ssize_t { return kMemberCount; } -auto PythonClassVec3::sq_item(PythonClassVec3* self, Py_ssize_t i) - -> PyObject* { +auto PythonClassVec3::sq_item(PythonClassVec3* self, + Py_ssize_t i) -> PyObject* { if (i < 0 || i >= kMemberCount) { PyErr_SetString(PyExc_IndexError, "Vec3 index out of range"); return nullptr; @@ -159,8 +159,8 @@ auto PythonClassVec3::sq_ass_item(PythonClassVec3* self, Py_ssize_t i, BA_PYTHON_INT_CATCH; } -auto PythonClassVec3::nb_add(PythonClassVec3* l, PythonClassVec3* r) - -> PyObject* { +auto PythonClassVec3::nb_add(PythonClassVec3* l, + PythonClassVec3* r) -> PyObject* { BA_PYTHON_TRY; // We can add if both sides are Vec3. @@ -175,8 +175,8 @@ auto PythonClassVec3::nb_add(PythonClassVec3* l, PythonClassVec3* r) BA_PYTHON_CATCH; } -auto PythonClassVec3::nb_subtract(PythonClassVec3* l, PythonClassVec3* r) - -> PyObject* { +auto PythonClassVec3::nb_subtract(PythonClassVec3* l, + PythonClassVec3* r) -> PyObject* { BA_PYTHON_TRY; // We can subtract if both sides are Vec3. @@ -240,8 +240,8 @@ auto PythonClassVec3::nb_multiply(PyObject* l, PyObject* r) -> PyObject* { BA_PYTHON_CATCH; } -auto PythonClassVec3::tp_richcompare(PythonClassVec3* c1, PyObject* c2, int op) - -> PyObject* { +auto PythonClassVec3::tp_richcompare(PythonClassVec3* c1, PyObject* c2, + int op) -> PyObject* { // Always return false against other types. if (!Check(c2)) { Py_RETURN_FALSE; @@ -283,8 +283,8 @@ auto PythonClassVec3::Dot(PythonClassVec3* self, PyObject* other) -> PyObject* { BA_PYTHON_CATCH; } -auto PythonClassVec3::Cross(PythonClassVec3* self, PyObject* other) - -> PyObject* { +auto PythonClassVec3::Cross(PythonClassVec3* self, + PyObject* other) -> PyObject* { BA_PYTHON_TRY; return Create(Vector3f::Cross(self->value, BasePython::GetPyVector3f(other))); BA_PYTHON_CATCH; @@ -309,8 +309,8 @@ PyMethodDef PythonClassVec3::tp_methods[] = { "Returns the cross product of this vector and another."}, {nullptr}}; -auto PythonClassVec3::tp_getattro(PythonClassVec3* self, PyObject* attr) - -> PyObject* { +auto PythonClassVec3::tp_getattro(PythonClassVec3* self, + PyObject* attr) -> PyObject* { BA_PYTHON_TRY; assert(PyUnicode_Check(attr)); diff --git a/src/ballistica/base/python/class/python_class_vec3.h b/src/ballistica/base/python/class/python_class_vec3.h index 1855a4cd..3290b420 100644 --- a/src/ballistica/base/python/class/python_class_vec3.h +++ b/src/ballistica/base/python/class/python_class_vec3.h @@ -30,19 +30,19 @@ class PythonClassVec3 : public PythonClass { static auto tp_repr(PythonClassVec3* self) -> PyObject*; static auto sq_length(PythonClassVec3* self) -> Py_ssize_t; static auto sq_item(PythonClassVec3* self, Py_ssize_t i) -> PyObject*; - static auto sq_ass_item(PythonClassVec3* self, Py_ssize_t i, PyObject* val) - -> int; + static auto sq_ass_item(PythonClassVec3* self, Py_ssize_t i, + PyObject* val) -> int; static auto nb_add(PythonClassVec3* l, PythonClassVec3* r) -> PyObject*; static auto nb_subtract(PythonClassVec3* l, PythonClassVec3* r) -> PyObject*; static auto nb_multiply(PyObject* l, PyObject* r) -> PyObject*; static auto nb_negative(PythonClassVec3* self) -> PyObject*; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static auto tp_getattro(PythonClassVec3* self, PyObject* attr) -> PyObject*; - static auto tp_richcompare(PythonClassVec3* c1, PyObject* c2, int op) - -> PyObject*; - static auto tp_setattro(PythonClassVec3* self, PyObject* attr, PyObject* val) - -> int; + static auto tp_richcompare(PythonClassVec3* c1, PyObject* c2, + int op) -> PyObject*; + static auto tp_setattro(PythonClassVec3* self, PyObject* attr, + PyObject* val) -> int; }; } // namespace ballistica::base diff --git a/src/ballistica/base/python/methods/python_methods_app.cc b/src/ballistica/base/python/methods/python_methods_app.cc index a440f0af..12ddfd05 100644 --- a/src/ballistica/base/python/methods/python_methods_app.cc +++ b/src/ballistica/base/python/methods/python_methods_app.cc @@ -184,8 +184,8 @@ static PyMethodDef PyCanDisplayFullUnicodeDef = { // -------------------------- app_instance_uuid -------------------------------- -static auto PyAppInstanceUUID(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyAppInstanceUUID(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {nullptr}; if (!PyArg_ParseTupleAndKeywords(args, keywds, "", @@ -208,8 +208,8 @@ static PyMethodDef PyAppInstanceUUIDDef = { // --------------------------- user_ran_commands ------------------------------- -static auto PyUserRanCommands(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyUserRanCommands(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {nullptr}; if (!PyArg_ParseTupleAndKeywords(args, keywds, "", @@ -233,8 +233,8 @@ static PyMethodDef PyUserRanCommandsDef = { // -------------------------------- pushcall ---------------------------------- -static auto PyPushCall(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyPushCall(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* call_obj; int from_other_thread{}; @@ -337,8 +337,8 @@ static PyMethodDef PyPushCallDef = { // ------------------------------ apptime -------------------------------------- -static auto PyAppTime(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyAppTime(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {nullptr}; if (!PyArg_ParseTupleAndKeywords(args, keywds, "", @@ -373,8 +373,8 @@ static PyMethodDef PyAppTimeDef = { // ------------------------------ apptimer ------------------------------------- -static auto PyAppTimer(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyAppTimer(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; BA_PRECONDITION(g_base->InLogicThread()); double length; @@ -431,8 +431,8 @@ static PyMethodDef PyAppTimerDef = { // --------------------------- displaytime ------------------------------------- -static auto PyDisplayTime(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyDisplayTime(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {nullptr}; if (!PyArg_ParseTupleAndKeywords(args, keywds, "", @@ -466,8 +466,8 @@ static PyMethodDef PyDisplayTimeDef = { // ---------------------------- displaytimer ----------------------------------- -static auto PyDisplayTimer(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyDisplayTimer(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; BA_PRECONDITION(g_base->InLogicThread()); double length; @@ -529,8 +529,8 @@ static PyMethodDef PyDisplayTimerDef = { // ----------------------------------- quit ------------------------------------ -static auto PyQuit(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyQuit(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; BA_PRECONDITION(g_base->IsAppStarted()); @@ -594,8 +594,8 @@ static PyMethodDef PyDoApplyAppConfigDef = { // ----------------------------- commit_config --------------------------------- -static auto PyCommitConfig(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyCommitConfig(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* config_obj; static const char* kwlist[] = {"config", nullptr}; @@ -810,8 +810,8 @@ static PyMethodDef PyEnvDef = { // -------------------------------- emit_log ----------------------------------- -static auto PyEmitLog(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyEmitLog(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {"name", "level", "message", nullptr}; const char* name; @@ -862,8 +862,8 @@ static PyMethodDef PyEmitLogDef = { // ------------------------------ lifecyclelog --------------------------------- -static auto PyLifecycleLog(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyLifecycleLog(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {"message", nullptr}; const char* message; @@ -890,8 +890,8 @@ static PyMethodDef PyLifecycleLogDef = { // ----------------------------- v1_cloud_log ---------------------------------- -static auto PyV1CloudLog(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyV1CloudLog(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* message; static const char* kwlist[] = {"message", nullptr}; @@ -919,8 +919,8 @@ static PyMethodDef PyV1CloudLogDef = { // --------------------------- music_player_stop ------------------------------- -static auto PyMusicPlayerStop(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyMusicPlayerStop(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {nullptr}; if (!PyArg_ParseTupleAndKeywords(args, keywds, "", @@ -945,8 +945,8 @@ static PyMethodDef PyMusicPlayerStopDef = { // ---------------------------- music_player_play ------------------------------ -static auto PyMusicPlayerPlay(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyMusicPlayerPlay(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* files_obj; static const char* kwlist[] = {"files", nullptr}; @@ -1051,8 +1051,8 @@ static PyMethodDef PyReloadMediaDef = { // --------------------------- mac_music_app_init ------------------------------ -static auto PyMacMusicAppInit(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyMacMusicAppInit(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; g_core->platform->MacMusicAppInit(); Py_RETURN_NONE; @@ -1115,8 +1115,8 @@ static PyMethodDef PyMacMusicAppSetVolumeDef = { // --------------------------- mac_music_app_stop ------------------------------ -static auto PyMacMusicAppStop(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyMacMusicAppStop(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; g_core->platform->MacMusicAppStop(); Py_RETURN_NONE; @@ -1193,8 +1193,8 @@ static PyMethodDef PyMacMusicAppGetPlaylistsDef = { // -------------------------- is_os_playing_music ------------------------------ -static auto PyIsOSPlayingMusic(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyIsOSPlayingMusic(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; if (g_core->platform->IsOSPlayingMusic()) { Py_RETURN_TRUE; diff --git a/src/ballistica/base/python/methods/python_methods_graphics.cc b/src/ballistica/base/python/methods/python_methods_graphics.cc index 46215776..68b4b102 100644 --- a/src/ballistica/base/python/methods/python_methods_graphics.cc +++ b/src/ballistica/base/python/methods/python_methods_graphics.cc @@ -26,8 +26,8 @@ namespace ballistica::base { // ---------------------------- screenmessage ---------------------------------- -static auto PyScreenMessage(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyScreenMessage(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* color_obj = Py_None; PyObject* message_obj; @@ -130,8 +130,8 @@ static PyMethodDef PyGetCameraPositionDef = { // --------------------------- get_camera_target ------------------------------- -static auto PyGetCameraTarget(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetCameraTarget(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; float x = 0.0f; float y = 0.0f; @@ -191,8 +191,8 @@ static PyMethodDef PySetCameraPositionDef = { // ---------------------------- set_camera_target ------------------------------ -static auto PySetCameraTarget(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PySetCameraTarget(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; float x = 0.0f; float y = 0.0f; @@ -224,8 +224,8 @@ static PyMethodDef PySetCameraTargetDef = { // ---------------------------- set_camera_manual ------------------------------ -static auto PySetCameraManual(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PySetCameraManual(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; bool value = false; static const char* kwlist[] = {"value", nullptr}; @@ -255,8 +255,8 @@ static PyMethodDef PySetCameraManualDef = { // -------------------------------- charstr ------------------------------------ -static auto PyCharStr(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyCharStr(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* name_obj; static const char* kwlist[] = {"name", nullptr}; @@ -291,8 +291,8 @@ static PyMethodDef PyCharStrDef = { // ------------------------------- safecolor ----------------------------------- -static auto PySafeColor(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PySafeColor(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* color_obj; float red, green, blue; @@ -368,8 +368,8 @@ static PyMethodDef PyGetMaxGraphicsQualityDef = { // ------------------------------ evaluate_lstr -------------------------------- -static auto PyEvaluateLstr(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyEvaluateLstr(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* value; static const char* kwlist[] = {"value", nullptr}; @@ -394,8 +394,8 @@ static PyMethodDef PyEvaluateLstrDef = { // --------------------------- get_string_height ------------------------------- -static auto PyGetStringHeight(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetStringHeight(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; std::string s; int suppress_warning = 0; @@ -440,8 +440,8 @@ static PyMethodDef PyGetStringHeightDef = { // ---------------------------- get_string_width ------------------------------- -static auto PyGetStringWidth(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetStringWidth(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; std::string s; PyObject* s_obj; @@ -487,8 +487,8 @@ static PyMethodDef PyGetStringWidthDef = { // ------------------------------ have_chars ----------------------------------- -static auto PyHaveChars(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyHaveChars(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; std::string text; PyObject* text_obj; @@ -518,8 +518,8 @@ static PyMethodDef PyHaveCharsDef = { // ----------------------------- fade_screen ----------------------------------- -static auto PyFadeScreen(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyFadeScreen(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; int fade{}; @@ -765,8 +765,8 @@ static PyMethodDef PySupportsMaxFPSDef = { // --------------------------- show_progress_bar ------------------------------- -static auto PyShowProgressBar(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyShowProgressBar(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; g_base->graphics->EnableProgressBar(false); diff --git a/src/ballistica/base/python/methods/python_methods_misc.cc b/src/ballistica/base/python/methods/python_methods_misc.cc index c1ba7116..798db3de 100644 --- a/src/ballistica/base/python/methods/python_methods_misc.cc +++ b/src/ballistica/base/python/methods/python_methods_misc.cc @@ -26,8 +26,8 @@ namespace ballistica::base { // ---------------------------- getsimplesound -------------------------------- -static auto PyGetSimpleSound(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetSimpleSound(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; static const char* kwlist[] = {"name", nullptr}; @@ -57,8 +57,8 @@ static PyMethodDef PyGetSimpleSoundDef = { // -------------------------- set_ui_input_device ------------------------------ -static auto PySetUIInputDevice(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PySetUIInputDevice(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); static const char* kwlist[] = {"input_device_id", nullptr}; @@ -97,8 +97,8 @@ static PyMethodDef PySetUIInputDeviceDef = { // ----------------------------- hastouchscreen -------------------------------- -static auto PyHasTouchScreen(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyHasTouchScreen(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); static const char* kwlist[] = {nullptr}; @@ -180,8 +180,8 @@ static PyMethodDef PyClipboardHasTextDef = { // --------------------------- clipboard_set_text ------------------------------ -static auto PyClipboardSetText(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyClipboardSetText(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* value; static const char* kwlist[] = {"value", nullptr}; @@ -258,8 +258,8 @@ static PyMethodDef PySetUpSigIntDef = { // ---------------------------- have_permission -------------------------------- -static auto PyHavePermission(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyHavePermission(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; BA_PRECONDITION(g_base->InLogicThread()); Permission permission; @@ -322,8 +322,8 @@ static PyMethodDef PyRequestPermissionDef = { // ----------------------------- in_logic_thread ------------------------------- -static auto PyInLogicThread(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyInLogicThread(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {nullptr}; if (!PyArg_ParseTupleAndKeywords(args, keywds, "", @@ -351,8 +351,8 @@ static PyMethodDef PyInLogicThreadDef = { // ----------------------------- set_thread_name ------------------------------- -static auto PySetThreadName(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PySetThreadName(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; static const char* kwlist[] = {"name", nullptr}; @@ -381,8 +381,8 @@ static PyMethodDef PySetThreadNameDef = { // ------------------------------ get_thread_name ------------------------------ -static auto PyGetThreadName(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetThreadName(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {nullptr}; if (!PyArg_ParseTupleAndKeywords(args, keywds, "", @@ -411,8 +411,8 @@ static PyMethodDef PyGetThreadNameDef = { // returns an extra hash value that can be incorporated into security checks; // this contains things like whether console commands have been run, etc. -auto PyExtraHashValue(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +auto PyExtraHashValue(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {nullptr}; if (!PyArg_ParseTupleAndKeywords(args, keywds, "", @@ -546,8 +546,8 @@ static PyMethodDef PyDebugPrintPyErrDef = { // ----------------------------- print_context --------------------------------- -static auto PyPrintContext(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyPrintContext(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {nullptr}; if (!PyArg_ParseTupleAndKeywords(args, keywds, "", @@ -573,8 +573,8 @@ static PyMethodDef PyPrintContextDef = { // --------------------------- print_load_info --------------------------------- -static auto PyPrintLoadInfo(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyPrintLoadInfo(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; g_base->assets->PrintLoadInfo(); Py_RETURN_NONE; @@ -595,8 +595,8 @@ static PyMethodDef PyPrintLoadInfoDef = { // -------------------------- get_replays_dir ---------------------------------- -static auto PyGetReplaysDir(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetReplaysDir(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {nullptr}; if (!PyArg_ParseTupleAndKeywords(args, keywds, "", @@ -839,8 +839,8 @@ static PyMethodDef PyGetLogFilePathDef = { // --------------------- get_volatile_data_directory --------------------------- -static auto PyGetVolatileDataDirectory(PyObject* self, PyObject* args) - -> PyObject* { +static auto PyGetVolatileDataDirectory(PyObject* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; return PyUnicode_FromString( g_core->platform->GetVolatileDataDirectory().c_str()); @@ -883,8 +883,8 @@ static PyMethodDef PyIsLogFullDef = { // -------------------------- get_v1_cloud_log --------------------------------- -static auto PyGetV1CloudLog(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetV1CloudLog(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; std::string log_fin; { @@ -910,8 +910,8 @@ static PyMethodDef PyGetV1CloudLogDef = { // ---------------------------- mark_log_sent ---------------------------------- -static auto PyMarkLogSent(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyMarkLogSent(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; // This way we won't try to send it at shutdown time and whatnot g_core->did_put_v1_cloud_log = true; @@ -931,8 +931,8 @@ static PyMethodDef PyMarkLogSentDef = { // --------------------- increment_analytics_count ----------------------------- -auto PyIncrementAnalyticsCount(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +auto PyIncrementAnalyticsCount(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; int increment = 1; @@ -1123,8 +1123,8 @@ static PyMethodDef PyLoginAdapterBackEndActiveChangeDef = { // ---------------------- set_internal_language_keys --------------------------- -static auto PySetInternalLanguageKeys(PyObject* self, PyObject* args) - -> PyObject* { +static auto PySetInternalLanguageKeys(PyObject* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; PyObject* list_obj; PyObject* random_names_list_obj; @@ -1221,8 +1221,8 @@ static PyMethodDef PyAndroidGetExternalFilesDirDef = { // ------------------------------- do_once ------------------------------------- -static auto PyDoOnce(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyDoOnce(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; if (g_base->python->DoOnce()) { Py_RETURN_TRUE; @@ -1256,8 +1256,8 @@ static PyMethodDef PyDoOnceDef = { // ------------------------------- getapp -------------------------------------- -static auto PyGetApp(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetApp(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {nullptr}; if (!PyArg_ParseTupleAndKeywords(args, keywds, "", @@ -1412,8 +1412,8 @@ static PyMethodDef PyOpenDirExternallyDef = { // ----------------------------- fatal_error ----------------------------------- -static auto PyFatalError(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyFatalError(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* message; static const char* kwlist[] = {"message", nullptr}; @@ -1534,8 +1534,8 @@ static PyMethodDef PyDevConsoleAddTextDef = { // -------------------- dev_console_add_python_terminal ------------------------ -static auto PyDevConsoleAddPythonTerminal(PyObject* self, PyObject* args) - -> PyObject* { +static auto PyDevConsoleAddPythonTerminal(PyObject* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; BA_PRECONDITION(g_base->InLogicThread()); auto* dev_console = g_base->ui->dev_console(); diff --git a/src/ballistica/base/support/classic_soft.h b/src/ballistica/base/support/classic_soft.h index 5e388e93..445205b9 100644 --- a/src/ballistica/base/support/classic_soft.h +++ b/src/ballistica/base/support/classic_soft.h @@ -18,9 +18,8 @@ class ClassicSoftInterface { public: virtual auto GetControllerValue(base::InputDevice* device, const std::string& value_name) -> int = 0; - virtual auto GetControllerFloatValue(base::InputDevice* device, - const std::string& value_name) - -> float = 0; + virtual auto GetControllerFloatValue( + base::InputDevice* device, const std::string& value_name) -> float = 0; virtual auto IsV1AccountSignedIn() -> bool = 0; virtual auto HandleSignOutV1() -> bool = 0; virtual void V2SetV1AccountState(const char* statestr, const char* loginid, diff --git a/src/ballistica/base/ui/ui.cc b/src/ballistica/base/ui/ui.cc index cd664879..0b4f6fff 100644 --- a/src/ballistica/base/ui/ui.cc +++ b/src/ballistica/base/ui/ui.cc @@ -209,8 +209,8 @@ auto UI::PartyWindowOpen() -> bool { return false; } -auto UI::HandleMouseDown(int button, float x, float y, bool double_click) - -> bool { +auto UI::HandleMouseDown(int button, float x, float y, + bool double_click) -> bool { assert(g_base->InLogicThread()); bool handled{}; diff --git a/src/ballistica/classic/classic.cc b/src/ballistica/classic/classic.cc index 56a42e41..f78d6acd 100644 --- a/src/ballistica/classic/classic.cc +++ b/src/ballistica/classic/classic.cc @@ -70,15 +70,13 @@ auto ClassicFeatureSet::Import() -> ClassicFeatureSet* { return ImportThroughPythonModule("_baclassic"); } -auto ClassicFeatureSet::GetControllerValue(base::InputDevice* device, - const std::string& value_name) - -> int { +auto ClassicFeatureSet::GetControllerValue( + base::InputDevice* device, const std::string& value_name) -> int { return python->GetControllerValue(device, value_name); } -auto ClassicFeatureSet::GetControllerFloatValue(base::InputDevice* device, - const std::string& value_name) - -> float { +auto ClassicFeatureSet::GetControllerFloatValue( + base::InputDevice* device, const std::string& value_name) -> float { return python->GetControllerFloatValue(device, value_name); } diff --git a/src/ballistica/classic/python/classic_python.cc b/src/ballistica/classic/python/classic_python.cc index 4c3a7f9e..d3c6aa9e 100644 --- a/src/ballistica/classic/python/classic_python.cc +++ b/src/ballistica/classic/python/classic_python.cc @@ -66,9 +66,8 @@ auto ClassicPython::GetControllerValue(base::InputDevice* device, return static_cast(PyLong_AsLong(ret_val.Get())); } -auto ClassicPython::GetControllerFloatValue(base::InputDevice* device, - const std::string& value_name) - -> float { +auto ClassicPython::GetControllerFloatValue( + base::InputDevice* device, const std::string& value_name) -> float { assert(device); assert(objs().Exists(ObjID::kGetInputDeviceMappedValueCall)); diff --git a/src/ballistica/classic/python/methods/python_methods_classic.cc b/src/ballistica/classic/python/methods/python_methods_classic.cc index 5ebda885..482d2565 100644 --- a/src/ballistica/classic/python/methods/python_methods_classic.cc +++ b/src/ballistica/classic/python/methods/python_methods_classic.cc @@ -21,8 +21,8 @@ namespace ballistica::classic { // -------------------------------- value_test --------------------------------- -static auto PyValueTest(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyValueTest(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* arg; double change = 0.0f; diff --git a/src/ballistica/core/platform/apple/core_platform_apple.h b/src/ballistica/core/platform/apple/core_platform_apple.h index 982fb8f9..1d3851a7 100644 --- a/src/ballistica/core/platform/apple/core_platform_apple.h +++ b/src/ballistica/core/platform/apple/core_platform_apple.h @@ -33,14 +33,14 @@ class CorePlatformApple : public CorePlatform { auto CreateTextTexture(int width, int height, const std::vector& strings, const std::vector& positions, - const std::vector& widths, float scale) - -> void* override; + const std::vector& widths, + float scale) -> void* override; auto GetTextTextureData(void* tex) -> uint8_t* override; void SubmitScore(const std::string& game, const std::string& version, int64_t score) override; void ReportAchievement(const std::string& achievement) override; - auto HaveLeaderboard(const std::string& game, const std::string& config) - -> bool override; + auto HaveLeaderboard(const std::string& game, + const std::string& config) -> bool override; void ShowGameServiceUI(const std::string& show, const std::string& game, const std::string& game_version) override; void ResetAchievements() override; diff --git a/src/ballistica/core/platform/core_platform.cc b/src/ballistica/core/platform/core_platform.cc index 0d8bbbdb..a30e03f2 100644 --- a/src/ballistica/core/platform/core_platform.cc +++ b/src/ballistica/core/platform/core_platform.cc @@ -219,8 +219,8 @@ auto CorePlatform::GetConfigFilePath() -> std::string { } // FIXME: should make this unnecessary. -auto CorePlatform::GetLowLevelConfigValue(const char* key, int default_value) - -> int { +auto CorePlatform::GetLowLevelConfigValue(const char* key, + int default_value) -> int { std::string path = g_core->GetConfigDirectory() + BA_DIRSLASH + ".cvar_" + key; int val = default_value; @@ -512,16 +512,14 @@ void CorePlatform::EmitPlatformLog(const std::string& name, LogLevel level, // Do nothing by default. } -auto CorePlatform::ReportFatalError(const std::string& message, - bool in_top_level_exception_handler) - -> bool { +auto CorePlatform::ReportFatalError( + const std::string& message, bool in_top_level_exception_handler) -> bool { // Don't override handling by default. return false; } -auto CorePlatform::HandleFatalError(bool exit_cleanly, - bool in_top_level_exception_handler) - -> bool { +auto CorePlatform::HandleFatalError( + bool exit_cleanly, bool in_top_level_exception_handler) -> bool { // Don't override handling by default. return false; } @@ -853,8 +851,8 @@ void CorePlatform::Unlink(const char* path) { #endif } -auto CorePlatform::AbsPath(const std::string& path, std::string* outpath) - -> bool { +auto CorePlatform::AbsPath(const std::string& path, + std::string* outpath) -> bool { // Ensure all implementations fail if the file does not exist. if (!FilePathExists(path)) { return false; @@ -862,8 +860,8 @@ auto CorePlatform::AbsPath(const std::string& path, std::string* outpath) return DoAbsPath(path, outpath); } -auto CorePlatform::DoAbsPath(const std::string& path, std::string* outpath) - -> bool { +auto CorePlatform::DoAbsPath(const std::string& path, + std::string* outpath) -> bool { // This covers all but windows. #if BA_OSTYPE_WINDOWS throw Exception(); diff --git a/src/ballistica/core/platform/core_platform.h b/src/ballistica/core/platform/core_platform.h index cd84f478..a547faa7 100644 --- a/src/ballistica/core/platform/core_platform.h +++ b/src/ballistica/core/platform/core_platform.h @@ -229,8 +229,8 @@ class CorePlatform { virtual auto CreateTextTexture(int width, int height, const std::vector& strings, const std::vector& positions, - const std::vector& widths, float scale) - -> void*; + const std::vector& widths, + float scale) -> void*; virtual auto GetTextTextureData(void* tex) -> uint8_t*; #pragma mark ACCOUNTS ---------------------------------------------------------- diff --git a/src/ballistica/core/platform/support/min_sdl.h b/src/ballistica/core/platform/support/min_sdl.h index e20e4010..22b95b0d 100644 --- a/src/ballistica/core/platform/support/min_sdl.h +++ b/src/ballistica/core/platform/support/min_sdl.h @@ -748,7 +748,7 @@ typedef struct SDL_MouseButtonEvent { int y; } SDL_MouseButtonEvent; -#define SDL_BUTTON(X) (1 << ((X)-1)) +#define SDL_BUTTON(X) (1 << ((X) - 1)) #define SDL_BUTTON_LEFT 1 #define SDL_BUTTON_MIDDLE 2 #define SDL_BUTTON_RIGHT 3 diff --git a/src/ballistica/core/platform/windows/core_platform_windows.cc b/src/ballistica/core/platform/windows/core_platform_windows.cc index 7bf234c7..b30eddd6 100644 --- a/src/ballistica/core/platform/windows/core_platform_windows.cc +++ b/src/ballistica/core/platform/windows/core_platform_windows.cc @@ -342,13 +342,13 @@ auto CorePlatformWindows::Remove(const char* path) -> int { return _wremove(UTF8Decode(path).c_str()); } -auto CorePlatformWindows::Stat(const char* path, struct BA_STAT* buffer) - -> int { +auto CorePlatformWindows::Stat(const char* path, + struct BA_STAT* buffer) -> int { return _wstat(UTF8Decode(path).c_str(), buffer); } -auto CorePlatformWindows::Rename(const char* oldname, const char* newname) - -> int { +auto CorePlatformWindows::Rename(const char* oldname, + const char* newname) -> int { // Unlike other platforms, windows will error if the target file already // exists instead of simply overwriting it. So let's attempt to blow away // anything there first. diff --git a/src/ballistica/core/platform/windows/core_platform_windows.h b/src/ballistica/core/platform/windows/core_platform_windows.h index 4943e85e..27820814 100644 --- a/src/ballistica/core/platform/windows/core_platform_windows.h +++ b/src/ballistica/core/platform/windows/core_platform_windows.h @@ -31,8 +31,8 @@ class CorePlatformWindows : public CorePlatform { auto Remove(const char* path) -> int; auto Stat(const char* path, struct BA_STAT* buffer) -> int; auto Rename(const char* oldname, const char* newname) -> int; - auto DoAbsPath(const std::string& path, std::string* outpath) - -> bool override; + auto DoAbsPath(const std::string& path, + std::string* outpath) -> bool override; auto FOpen(const char* path, const char* mode) -> FILE* override; auto GetErrnoString() -> std::string override; auto GetSocketErrorString() -> std::string override; diff --git a/src/ballistica/scene_v1/connection/connection_set.cc b/src/ballistica/scene_v1/connection/connection_set.cc index e83c66b2..c487e323 100644 --- a/src/ballistica/scene_v1/connection/connection_set.cc +++ b/src/ballistica/scene_v1/connection/connection_set.cc @@ -700,8 +700,8 @@ void ConnectionSet::HandleIncomingUDPPacket(const std::vector& data_in, } } -auto ConnectionSet::VerifyClientAddr(uint8_t client_id, const SockAddr& addr) - -> bool { +auto ConnectionSet::VerifyClientAddr(uint8_t client_id, + const SockAddr& addr) -> bool { auto connection_to_client = connections_to_clients_.find(client_id); if (connection_to_client != connections_to_clients_.end()) { diff --git a/src/ballistica/scene_v1/connection/connection_to_host.cc b/src/ballistica/scene_v1/connection/connection_to_host.cc index e1093e14..9f9e1339 100644 --- a/src/ballistica/scene_v1/connection/connection_to_host.cc +++ b/src/ballistica/scene_v1/connection/connection_to_host.cc @@ -24,7 +24,7 @@ const int kPingSendInterval = 2000; ConnectionToHost::ConnectionToHost() : protocol_version_{ - SceneV1AppMode::GetSingleton()->host_protocol_version()} {} + SceneV1AppMode::GetSingleton()->host_protocol_version()} {} auto ConnectionToHost::GetAsUDP() -> ConnectionToHostUDP* { return nullptr; } diff --git a/src/ballistica/scene_v1/dynamics/dynamics.cc b/src/ballistica/scene_v1/dynamics/dynamics.cc index ba6e5564..e46543e1 100644 --- a/src/ballistica/scene_v1/dynamics/dynamics.cc +++ b/src/ballistica/scene_v1/dynamics/dynamics.cc @@ -25,8 +25,8 @@ namespace ballistica::scene_v1 { // Given two parts, returns true if part1 is major in // the storage order. -static auto IsInStoreOrder(int64_t node1, int part1, int64_t node2, int part2) - -> bool { +static auto IsInStoreOrder(int64_t node1, int part1, int64_t node2, + int part2) -> bool { assert(node1 >= 0 && part1 >= 0 && node2 >= 0 && part2 >= 0); // Node with smaller id is primary search node. diff --git a/src/ballistica/scene_v1/dynamics/material/material_component.cc b/src/ballistica/scene_v1/dynamics/material/material_component.cc index 55b9963d..80eaf88f 100644 --- a/src/ballistica/scene_v1/dynamics/material/material_component.cc +++ b/src/ballistica/scene_v1/dynamics/material/material_component.cc @@ -28,8 +28,8 @@ MaterialComponent::~MaterialComponent() {} auto MaterialComponent::eval_conditions( const Object::Ref& condition, const Material& c, - const Part* part, const Part* opposing_part, const MaterialContext& s) - -> bool { + const Part* part, const Part* opposing_part, + const MaterialContext& s) -> bool { // If there's no condition, succeed. if (!condition.Exists()) { return true; diff --git a/src/ballistica/scene_v1/dynamics/material/material_component.h b/src/ballistica/scene_v1/dynamics/material/material_component.h index bbd06761..53e7cde4 100644 --- a/src/ballistica/scene_v1/dynamics/material/material_component.h +++ b/src/ballistica/scene_v1/dynamics/material/material_component.h @@ -29,8 +29,8 @@ class MaterialComponent : public Object { Object::Ref conditions; auto eval_conditions(const Object::Ref& condition, const Material& c, const Part* part, - const Part* opposing_part, const MaterialContext& s) - -> bool; + const Part* opposing_part, + const MaterialContext& s) -> bool; // Apply the component to a context. void Apply(MaterialContext* c, const Part* src_part, const Part* dst_part); diff --git a/src/ballistica/scene_v1/node/spaz_node.cc b/src/ballistica/scene_v1/node/spaz_node.cc index 8efa91ea..cfc36364 100644 --- a/src/ballistica/scene_v1/node/spaz_node.cc +++ b/src/ballistica/scene_v1/node/spaz_node.cc @@ -146,8 +146,8 @@ enum SpazBodyType { kHairPonyTailBottomBodyID }; -static auto AngleBetween2DVectors(dReal x1, dReal y1, dReal x2, dReal y2) - -> dReal { +static auto AngleBetween2DVectors(dReal x1, dReal y1, dReal x2, + dReal y2) -> dReal { dReal x1_norm, y1_norm, x2_norm, y2_norm; dReal len1, len2; len1 = sqrtf(x1 * x1 + y1 * y1); diff --git a/src/ballistica/scene_v1/node/spaz_node.h b/src/ballistica/scene_v1/node/spaz_node.h index 3440ef59..dd660902 100644 --- a/src/ballistica/scene_v1/node/spaz_node.h +++ b/src/ballistica/scene_v1/node/spaz_node.h @@ -271,8 +271,8 @@ class SpazNode : public Node { // points line up. auto CreateFixedJoint(RigidBody* b1, RigidBody* b2, float ls, float ld, float as, float ad, float a1x, float a1y, float a1z, - float a2x, float a2y, float a2z, bool reposition = true) - -> JointFixedEF*; + float a2x, float a2y, float a2z, + bool reposition = true) -> JointFixedEF*; void Throw(bool withBombButton); // Reset to a standing, non-moving state at the given point. @@ -285,8 +285,8 @@ class SpazNode : public Node { auto IsBrokenBodyPart(int id) -> bool; static auto StaticCollideCallback(dContact* c, int count, RigidBody* colliding_body, - RigidBody* opposingbody, void* data) - -> bool { + RigidBody* opposingbody, + void* data) -> bool { auto* a = static_cast(data); return a->CollideCallback(c, count, colliding_body, opposingbody); } diff --git a/src/ballistica/scene_v1/python/class/python_class_activity_data.h b/src/ballistica/scene_v1/python/class/python_class_activity_data.h index bb7a7122..f2d8323a 100644 --- a/src/ballistica/scene_v1/python/class/python_class_activity_data.h +++ b/src/ballistica/scene_v1/python/class/python_class_activity_data.h @@ -24,8 +24,8 @@ class PythonClassActivityData : public PythonClass { static PyMethodDef tp_methods[]; static PyNumberMethods as_number_; static auto tp_repr(PythonClassActivityData* self) -> PyObject*; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassActivityData* self); static auto nb_bool(PythonClassActivityData* self) -> int; diff --git a/src/ballistica/scene_v1/python/class/python_class_base_timer.h b/src/ballistica/scene_v1/python/class/python_class_base_timer.h index bcd1179e..c061226d 100644 --- a/src/ballistica/scene_v1/python/class/python_class_base_timer.h +++ b/src/ballistica/scene_v1/python/class/python_class_base_timer.h @@ -18,8 +18,8 @@ class PythonClassBaseTimer : public PythonClass { static PyTypeObject type_obj; private: - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassBaseTimer* self); int timer_id_; ContextRefSceneV1* context_ref_; diff --git a/src/ballistica/scene_v1/python/class/python_class_input_device.cc b/src/ballistica/scene_v1/python/class/python_class_input_device.cc index 4d54399b..b4115a04 100644 --- a/src/ballistica/scene_v1/python/class/python_class_input_device.cc +++ b/src/ballistica/scene_v1/python/class/python_class_input_device.cc @@ -344,8 +344,8 @@ auto PythonClassInputDevice::GetPlayerProfiles(PythonClassInputDevice* self) } auto PythonClassInputDevice::GetV1AccountName(PythonClassInputDevice* self, - PyObject* args, PyObject* keywds) - -> PyObject* { + PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; int full; static const char* kwlist[] = {"full", nullptr}; @@ -388,8 +388,8 @@ auto PythonClassInputDevice::Exists(PythonClassInputDevice* self) -> PyObject* { } auto PythonClassInputDevice::GetAxisName(PythonClassInputDevice* self, - PyObject* args, PyObject* keywds) - -> PyObject* { + PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); int id; @@ -409,8 +409,8 @@ auto PythonClassInputDevice::GetAxisName(PythonClassInputDevice* self, } auto PythonClassInputDevice::GetButtonName(PythonClassInputDevice* self, - PyObject* args, PyObject* keywds) - -> PyObject* { + PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); int id{}; diff --git a/src/ballistica/scene_v1/python/class/python_class_input_device.h b/src/ballistica/scene_v1/python/class/python_class_input_device.h index 987b2ece..ab1ab209 100644 --- a/src/ballistica/scene_v1/python/class/python_class_input_device.h +++ b/src/ballistica/scene_v1/python/class/python_class_input_device.h @@ -23,12 +23,12 @@ class PythonClassInputDevice : public PythonClass { private: static PyMethodDef tp_methods[]; static auto tp_repr(PythonClassInputDevice* self) -> PyObject*; - static auto tp_getattro(PythonClassInputDevice* self, PyObject* attr) - -> PyObject*; + static auto tp_getattro(PythonClassInputDevice* self, + PyObject* attr) -> PyObject*; static auto tp_setattro(PythonClassInputDevice* self, PyObject* attr, PyObject* val) -> int; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassInputDevice* self); static auto nb_bool(PythonClassInputDevice* self) -> int; static auto DetachFromPlayer(PythonClassInputDevice* self) -> PyObject*; diff --git a/src/ballistica/scene_v1/python/class/python_class_material.cc b/src/ballistica/scene_v1/python/class/python_class_material.cc index 3ea51b8d..02d7f08a 100644 --- a/src/ballistica/scene_v1/python/class/python_class_material.cc +++ b/src/ballistica/scene_v1/python/class/python_class_material.cc @@ -174,8 +174,8 @@ auto PythonClassMaterial::tp_repr(PythonClassMaterial* self) -> PyObject* { BA_PYTHON_CATCH; } -auto PythonClassMaterial::tp_getattro(PythonClassMaterial* self, PyObject* attr) - -> PyObject* { +auto PythonClassMaterial::tp_getattro(PythonClassMaterial* self, + PyObject* attr) -> PyObject* { BA_PYTHON_TRY; // Assuming this will always be a str? diff --git a/src/ballistica/scene_v1/python/class/python_class_material.h b/src/ballistica/scene_v1/python/class/python_class_material.h index fc452860..c61855ac 100644 --- a/src/ballistica/scene_v1/python/class/python_class_material.h +++ b/src/ballistica/scene_v1/python/class/python_class_material.h @@ -27,12 +27,12 @@ class PythonClassMaterial : public PythonClass { private: static bool s_create_empty_; static PyMethodDef tp_methods[]; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void Delete(Object::Ref* m); static void tp_dealloc(PythonClassMaterial* self); - static auto tp_getattro(PythonClassMaterial* self, PyObject* attr) - -> PyObject*; + static auto tp_getattro(PythonClassMaterial* self, + PyObject* attr) -> PyObject*; static auto tp_setattro(PythonClassMaterial* self, PyObject* attr, PyObject* val) -> int; static auto tp_repr(PythonClassMaterial* self) -> PyObject*; diff --git a/src/ballistica/scene_v1/python/class/python_class_node.cc b/src/ballistica/scene_v1/python/class/python_class_node.cc index fad31158..1636863f 100644 --- a/src/ballistica/scene_v1/python/class/python_class_node.cc +++ b/src/ballistica/scene_v1/python/class/python_class_node.cc @@ -141,8 +141,8 @@ auto PythonClassNode::tp_repr(PythonClassNode* self) -> PyObject* { BA_PYTHON_CATCH; } -auto PythonClassNode::tp_getattro(PythonClassNode* self, PyObject* attr) - -> PyObject* { +auto PythonClassNode::tp_getattro(PythonClassNode* self, + PyObject* attr) -> PyObject* { BA_PYTHON_TRY; // Do we need to support other attr types? @@ -259,8 +259,8 @@ auto PythonClassNode::Delete(PythonClassNode* self, PyObject* args, BA_PYTHON_CATCH; } -auto PythonClassNode::HandleMessage(PythonClassNode* self, PyObject* args) - -> PyObject* { +auto PythonClassNode::HandleMessage(PythonClassNode* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; Py_ssize_t tuple_size = PyTuple_GET_SIZE(args); if (tuple_size < 1) { @@ -294,8 +294,8 @@ auto PythonClassNode::HandleMessage(PythonClassNode* self, PyObject* args) BA_PYTHON_CATCH; } -auto PythonClassNode::AddDeathAction(PythonClassNode* self, PyObject* args) - -> PyObject* { +auto PythonClassNode::AddDeathAction(PythonClassNode* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; PyObject* call_obj; if (!PyArg_ParseTuple(args, "O", &call_obj)) { @@ -317,8 +317,8 @@ auto PythonClassNode::AddDeathAction(PythonClassNode* self, PyObject* args) BA_PYTHON_CATCH; } -auto PythonClassNode::ConnectAttr(PythonClassNode* self, PyObject* args) - -> PyObject* { +auto PythonClassNode::ConnectAttr(PythonClassNode* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; PyObject* dst_node_obj; Node* node = self->node_->Get(); diff --git a/src/ballistica/scene_v1/python/class/python_class_node.h b/src/ballistica/scene_v1/python/class/python_class_node.h index 0765b87e..c3c118ef 100644 --- a/src/ballistica/scene_v1/python/class/python_class_node.h +++ b/src/ballistica/scene_v1/python/class/python_class_node.h @@ -21,23 +21,23 @@ class PythonClassNode : public PythonClass { auto GetNode(bool doraise = true) const -> Node*; private: - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassNode* self); static auto tp_repr(PythonClassNode* self) -> PyObject*; static auto tp_getattro(PythonClassNode* self, PyObject* attr) -> PyObject*; - static auto tp_setattro(PythonClassNode* self, PyObject* attr, PyObject* val) - -> int; + static auto tp_setattro(PythonClassNode* self, PyObject* attr, + PyObject* val) -> int; static auto Exists(PythonClassNode* self) -> PyObject*; static auto GetNodeType(PythonClassNode* self) -> PyObject*; static auto GetName(PythonClassNode* self) -> PyObject*; static auto GetDelegate(PythonClassNode* self, PyObject* args, PyObject* keywds) -> PyObject*; - static auto Delete(PythonClassNode* self, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto Delete(PythonClassNode* self, PyObject* args, + PyObject* keywds) -> PyObject*; static auto HandleMessage(PythonClassNode* self, PyObject* args) -> PyObject*; - static auto AddDeathAction(PythonClassNode* self, PyObject* args) - -> PyObject*; + static auto AddDeathAction(PythonClassNode* self, + PyObject* args) -> PyObject*; static auto ConnectAttr(PythonClassNode* self, PyObject* args) -> PyObject*; static auto Dir(PythonClassNode* self) -> PyObject*; static auto nb_bool(PythonClassNode* self) -> int; diff --git a/src/ballistica/scene_v1/python/class/python_class_scene_collision_mesh.h b/src/ballistica/scene_v1/python/class/python_class_scene_collision_mesh.h index c6ec83a8..89e0a9a6 100644 --- a/src/ballistica/scene_v1/python/class/python_class_scene_collision_mesh.h +++ b/src/ballistica/scene_v1/python/class/python_class_scene_collision_mesh.h @@ -22,8 +22,8 @@ class PythonClassSceneCollisionMesh : public PythonClass { auto GetCollisionMesh(bool doraise = true) const -> SceneCollisionMesh*; private: - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* kwds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* kwds) -> PyObject*; static void tp_dealloc(PythonClassSceneCollisionMesh* self); static bool s_create_empty_; Object::Ref* collision_mesh_; diff --git a/src/ballistica/scene_v1/python/class/python_class_scene_data_asset.h b/src/ballistica/scene_v1/python/class/python_class_scene_data_asset.h index 58df60e2..da164792 100644 --- a/src/ballistica/scene_v1/python/class/python_class_scene_data_asset.h +++ b/src/ballistica/scene_v1/python/class/python_class_scene_data_asset.h @@ -24,8 +24,8 @@ class PythonClassSceneDataAsset : public PythonClass { private: static PyMethodDef tp_methods[]; static auto GetValue(PythonClassSceneDataAsset* self) -> PyObject*; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* kwds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* kwds) -> PyObject*; static void tp_dealloc(PythonClassSceneDataAsset* self); static bool s_create_empty_; Object::Ref* data_; diff --git a/src/ballistica/scene_v1/python/class/python_class_scene_mesh.h b/src/ballistica/scene_v1/python/class/python_class_scene_mesh.h index b703b5d1..dc55f6b3 100644 --- a/src/ballistica/scene_v1/python/class/python_class_scene_mesh.h +++ b/src/ballistica/scene_v1/python/class/python_class_scene_mesh.h @@ -23,8 +23,8 @@ class PythonClassSceneMesh : public PythonClass { private: static bool s_create_empty_; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* kwds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* kwds) -> PyObject*; static void tp_dealloc(PythonClassSceneMesh* self); Object::Ref* mesh_; }; diff --git a/src/ballistica/scene_v1/python/class/python_class_scene_sound.h b/src/ballistica/scene_v1/python/class/python_class_scene_sound.h index 9be96fed..b71c2b77 100644 --- a/src/ballistica/scene_v1/python/class/python_class_scene_sound.h +++ b/src/ballistica/scene_v1/python/class/python_class_scene_sound.h @@ -24,8 +24,8 @@ class PythonClassSceneSound : public PythonClass { private: static auto Play(PythonClassSceneSound* self, PyObject* args, PyObject* keywds) -> PyObject*; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* kwds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* kwds) -> PyObject*; static void tp_dealloc(PythonClassSceneSound* self); static PyMethodDef tp_methods[]; static bool s_create_empty_; diff --git a/src/ballistica/scene_v1/python/class/python_class_scene_texture.h b/src/ballistica/scene_v1/python/class/python_class_scene_texture.h index 2f78a1da..e198e7cf 100644 --- a/src/ballistica/scene_v1/python/class/python_class_scene_texture.h +++ b/src/ballistica/scene_v1/python/class/python_class_scene_texture.h @@ -23,8 +23,8 @@ class PythonClassSceneTexture : public PythonClass { private: static bool s_create_empty_; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassSceneTexture* self); Object::Ref* texture_; }; diff --git a/src/ballistica/scene_v1/python/class/python_class_scene_timer.h b/src/ballistica/scene_v1/python/class/python_class_scene_timer.h index 51005bae..d87a475a 100644 --- a/src/ballistica/scene_v1/python/class/python_class_scene_timer.h +++ b/src/ballistica/scene_v1/python/class/python_class_scene_timer.h @@ -18,8 +18,8 @@ class PythonClassSceneTimer : public PythonClass { static PyTypeObject type_obj; private: - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassSceneTimer* self); int timer_id_; ContextRefSceneV1* context_ref_; diff --git a/src/ballistica/scene_v1/python/class/python_class_session_data.h b/src/ballistica/scene_v1/python/class/python_class_session_data.h index a4de57bc..4a75654b 100644 --- a/src/ballistica/scene_v1/python/class/python_class_session_data.h +++ b/src/ballistica/scene_v1/python/class/python_class_session_data.h @@ -24,8 +24,8 @@ class PythonClassSessionData : public PythonClass { static PyMethodDef tp_methods[]; static PyNumberMethods as_number_; static auto tp_repr(PythonClassSessionData* self) -> PyObject*; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassSessionData* self); static auto Exists(PythonClassSessionData* self) -> PyObject*; diff --git a/src/ballistica/scene_v1/python/class/python_class_session_player.cc b/src/ballistica/scene_v1/python/class/python_class_session_player.cc index 5431aff9..833e4aab 100644 --- a/src/ballistica/scene_v1/python/class/python_class_session_player.cc +++ b/src/ballistica/scene_v1/python/class/python_class_session_player.cc @@ -324,8 +324,8 @@ auto PythonClassSessionPlayer::tp_getattro(PythonClassSessionPlayer* self, } auto PythonClassSessionPlayer::tp_setattro(PythonClassSessionPlayer* self, - PyObject* attr, PyObject* val) - -> int { + PyObject* attr, + PyObject* val) -> int { BA_PYTHON_TRY; BA_PRECONDITION(g_base->InLogicThread()); @@ -351,8 +351,8 @@ auto PythonClassSessionPlayer::tp_setattro(PythonClassSessionPlayer* self, } auto PythonClassSessionPlayer::GetName(PythonClassSessionPlayer* self, - PyObject* args, PyObject* keywds) - -> PyObject* { + PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); int full = false; @@ -383,8 +383,8 @@ auto PythonClassSessionPlayer::Exists(PythonClassSessionPlayer* self) } auto PythonClassSessionPlayer::SetName(PythonClassSessionPlayer* self, - PyObject* args, PyObject* keywds) - -> PyObject* { + PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); PyObject* name_obj; @@ -425,8 +425,8 @@ auto PythonClassSessionPlayer::ResetInput(PythonClassSessionPlayer* self) } auto PythonClassSessionPlayer::AssignInputCall(PythonClassSessionPlayer* self, - PyObject* args, PyObject* keywds) - -> PyObject* { + PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); PyObject* input_type_obj; @@ -518,8 +518,8 @@ auto PythonClassSessionPlayer::GetV1AccountID(PythonClassSessionPlayer* self) } auto PythonClassSessionPlayer::SetData(PythonClassSessionPlayer* self, - PyObject* args, PyObject* keywds) - -> PyObject* { + PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); PyObject* team_obj; @@ -564,8 +564,8 @@ auto PythonClassSessionPlayer::GetIconInfo(PythonClassSessionPlayer* self) } auto PythonClassSessionPlayer::SetIconInfo(PythonClassSessionPlayer* self, - PyObject* args, PyObject* keywds) - -> PyObject* { + PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); PyObject* texture_name_obj; @@ -599,8 +599,8 @@ auto PythonClassSessionPlayer::SetIconInfo(PythonClassSessionPlayer* self, } auto PythonClassSessionPlayer::SetActivity(PythonClassSessionPlayer* self, - PyObject* args, PyObject* keywds) - -> PyObject* { + PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); PyObject* activity_obj; @@ -625,8 +625,8 @@ auto PythonClassSessionPlayer::SetActivity(PythonClassSessionPlayer* self, } auto PythonClassSessionPlayer::SetNode(PythonClassSessionPlayer* self, - PyObject* args, PyObject* keywds) - -> PyObject* { + PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); PyObject* node_obj; diff --git a/src/ballistica/scene_v1/python/class/python_class_session_player.h b/src/ballistica/scene_v1/python/class/python_class_session_player.h index dbe92676..64475655 100644 --- a/src/ballistica/scene_v1/python/class/python_class_session_player.h +++ b/src/ballistica/scene_v1/python/class/python_class_session_player.h @@ -24,11 +24,11 @@ class PythonClassSessionPlayer : public PythonClass { static bool s_create_empty_; static PyMethodDef tp_methods[]; static auto tp_repr(PythonClassSessionPlayer* self) -> PyObject*; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassSessionPlayer* self); - static auto tp_getattro(PythonClassSessionPlayer* self, PyObject* attr) - -> PyObject*; + static auto tp_getattro(PythonClassSessionPlayer* self, + PyObject* attr) -> PyObject*; static auto tp_setattro(PythonClassSessionPlayer* self, PyObject* attr, PyObject* val) -> int; static auto GetName(PythonClassSessionPlayer* self, PyObject* args, diff --git a/src/ballistica/scene_v1/python/methods/python_methods_assets.cc b/src/ballistica/scene_v1/python/methods/python_methods_assets.cc index 58f63c19..a99bc200 100644 --- a/src/ballistica/scene_v1/python/methods/python_methods_assets.cc +++ b/src/ballistica/scene_v1/python/methods/python_methods_assets.cc @@ -22,8 +22,8 @@ namespace ballistica::scene_v1 { // ------------------------------- gettexture ---------------------------------- -static auto PyGetTexture(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetTexture(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; static const char* kwlist[] = {"name", nullptr}; @@ -82,8 +82,8 @@ static PyMethodDef PyGetPackageTextureDef = { // ------------------------------- getsound ------------------------------------ -static auto PyGetSound(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetSound(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; static const char* kwlist[] = {"name", nullptr}; @@ -113,8 +113,8 @@ static PyMethodDef PyGetSoundDef = { // --------------------------- get_package_sound ------------------------------- -static auto PyGetPackageSound(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetPackageSound(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; PyObject* package_obj; @@ -142,8 +142,8 @@ static PyMethodDef PyGetPackageSoundDef = { // ------------------------------- getdata ------------------------------------- -static auto PyGetData(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetData(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; static const char* kwlist[] = {"name", nullptr}; @@ -173,8 +173,8 @@ static PyMethodDef PyGetDataDef = { // --------------------------- get_package_data -------------------------------- -static auto PyGetPackageData(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetPackageData(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; PyObject* package_obj; @@ -202,8 +202,8 @@ static PyMethodDef PyGetPackageDataDef = { // -------------------------------- getmesh ------------------------------------ -static auto PyGetMesh(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetMesh(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; static const char* kwlist[] = {"name", nullptr}; @@ -233,8 +233,8 @@ static PyMethodDef PyGetMeshDef = { // ---------------------------- get_package_mesh ------------------------------- -static auto PyGetPackageMesh(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetPackageMesh(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; PyObject* package_obj; @@ -263,8 +263,8 @@ static PyMethodDef PyGetPackageMeshDef = { // ----------------------------- getcollisionmesh ------------------------------ -static auto PyGetCollisionMesh(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetCollisionMesh(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; static const char* kwlist[] = {"name", nullptr}; diff --git a/src/ballistica/scene_v1/python/methods/python_methods_input.cc b/src/ballistica/scene_v1/python/methods/python_methods_input.cc index 55700a64..a41556be 100644 --- a/src/ballistica/scene_v1/python/methods/python_methods_input.cc +++ b/src/ballistica/scene_v1/python/methods/python_methods_input.cc @@ -17,8 +17,8 @@ namespace ballistica::scene_v1 { // ----------------------- get_configurable_game_pads -------------------------- -static auto PyGetConfigurableGamePads(PyObject* self, PyObject* args) - -> PyObject* { +static auto PyGetConfigurableGamePads(PyObject* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; std::vector gamepads = g_base->input->GetConfigurableGamePads(); @@ -52,8 +52,8 @@ static PyMethodDef PyGetConfigurableGamePadsDef = { // ------------------------ have_touchscreen_input ----------------------------- -static auto PyHaveTouchScreenInput(PyObject* self, PyObject* args) - -> PyObject* { +static auto PyHaveTouchScreenInput(PyObject* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; if (g_base->touch_input) { Py_RETURN_TRUE; @@ -77,8 +77,8 @@ static PyMethodDef PyHaveTouchScreenInputDef = { // ------------------------- set_touchscreen_editing --------------------------- -static auto PySetTouchscreenEditing(PyObject* self, PyObject* args) - -> PyObject* { +static auto PySetTouchscreenEditing(PyObject* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; int editing; if (!PyArg_ParseTuple(args, "p", &editing)) { @@ -152,8 +152,8 @@ static PyMethodDef PyReleaseGamePadInputDef = { // ------------------------ capture_keyboard_input ----------------------------- -static auto PyCaptureKeyboardInput(PyObject* self, PyObject* args) - -> PyObject* { +static auto PyCaptureKeyboardInput(PyObject* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); assert(g_scene_v1); @@ -181,8 +181,8 @@ static PyMethodDef PyCaptureKeyboardInputDef = { // ------------------------- release_keyboard_input ---------------------------- -static auto PyReleaseKeyboardInput(PyObject* self, PyObject* args) - -> PyObject* { +static auto PyReleaseKeyboardInput(PyObject* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); assert(g_scene_v1); @@ -205,8 +205,8 @@ static PyMethodDef PyReleaseKeyboardInputDef = { // --------------------------- get_ui_input_device ----------------------------- -static auto PyGetUIInputDevice(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetUIInputDevice(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); static const char* kwlist[] = {nullptr}; @@ -252,8 +252,8 @@ static PyMethodDef PyGetUIInputDeviceDef = { // ---------------------------- getinputdevice --------------------------------- -static auto PyGetInputDevice(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetInputDevice(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); const char* name; diff --git a/src/ballistica/scene_v1/python/methods/python_methods_networking.cc b/src/ballistica/scene_v1/python/methods/python_methods_networking.cc index 3343dfde..699d605e 100644 --- a/src/ballistica/scene_v1/python/methods/python_methods_networking.cc +++ b/src/ballistica/scene_v1/python/methods/python_methods_networking.cc @@ -245,8 +245,8 @@ static PyMethodDef PySetAuthenticateClientsDef = { // ------------------------------- set_admins ---------------------------------- -static auto PySetAdmins(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PySetAdmins(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* admins_obj; static const char* kwlist[] = {"admins", nullptr}; @@ -310,8 +310,8 @@ static PyMethodDef PySetEnableDefaultKickVotingDef = { // --------------------------- connect_to_party -------------------------------- -static auto PyConnectToParty(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyConnectToParty(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; std::string address; PyObject* address_obj; @@ -522,8 +522,8 @@ static PyMethodDef PyDisconnectFromHostDef = { // --------------------------- disconnect_client ------------------------------- -static auto PyDisconnectClient(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyDisconnectClient(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; int client_id; int ban_time = 300; // Old default before we exposed this. @@ -633,8 +633,8 @@ static PyMethodDef PyGetGamePortDef = { // ------------------------ set_master_server_source --------------------------- -static auto PySetMasterServerSource(PyObject* self, PyObject* args) - -> PyObject* { +static auto PySetMasterServerSource(PyObject* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; int source; if (!PyArg_ParseTuple(args, "i", &source)) return nullptr; @@ -660,8 +660,8 @@ static PyMethodDef PySetMasterServerSourceDef = { // ----------------------------- host_scan_cycle ------------------------------- -static auto PyHostScanCycle(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyHostScanCycle(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; auto* appmode = SceneV1AppMode::GetActiveOrThrow(); appmode->HostScanCycle(); @@ -689,8 +689,8 @@ static PyMethodDef PyHostScanCycleDef = { // ---------------------------- end_host_scanning ------------------------------ -static auto PyEndHostScanning(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyEndHostScanning(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; auto* appmode = SceneV1AppMode::GetActiveOrThrow(); appmode->EndHostScanning(); @@ -737,8 +737,8 @@ static PyMethodDef PyHaveConnectedClientsDef = { // ------------------------------ chatmessage ---------------------------------- -static auto PyChatMessage(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyChatMessage(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; std::string message; PyObject* message_obj; @@ -789,8 +789,8 @@ static PyMethodDef PyChatMessageDef = { // --------------------------- get_chat_messages ------------------------------- -static auto PyGetChatMessages(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetChatMessages(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; BA_PRECONDITION(g_base->InLogicThread()); diff --git a/src/ballistica/scene_v1/python/methods/python_methods_scene.cc b/src/ballistica/scene_v1/python/methods/python_methods_scene.cc index 5e74a112..dc5530fc 100644 --- a/src/ballistica/scene_v1/python/methods/python_methods_scene.cc +++ b/src/ballistica/scene_v1/python/methods/python_methods_scene.cc @@ -41,8 +41,8 @@ namespace ballistica::scene_v1 { // --------------------------------- time -------------------------------------- -static auto PyTime(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyTime(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {nullptr}; @@ -79,8 +79,8 @@ static PyMethodDef PyTimeDef = { // --------------------------------- timer ------------------------------------- -static auto PyTimer(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyTimer(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); @@ -152,8 +152,8 @@ static PyMethodDef PyTimerDef = { // ----------------------------- basetime ----------------------------------- -static auto PyBaseTime(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyBaseTime(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {nullptr}; @@ -190,8 +190,8 @@ static PyMethodDef PyBaseTimeDef = { // --------------------------------- timer ------------------------------------- -static auto PyBaseTimer(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyBaseTimer(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); @@ -261,8 +261,8 @@ static PyMethodDef PyBaseTimerDef = { // ------------------------------- getsession ---------------------------------- -static auto PyGetSession(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetSession(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; int raise = true; static const char* kwlist[] = {"doraise", nullptr}; @@ -305,8 +305,8 @@ static PyMethodDef PyGetSessionDef = { // --------------------------- new_host_session -------------------------------- -static auto PyNewHostSession(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyNewHostSession(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* benchmark_type_str = nullptr; static const char* kwlist[] = {"sessiontype", "benchmark_type", nullptr}; @@ -347,8 +347,8 @@ static PyMethodDef PyNewHostSessionDef = { // -------------------------- new_replay_session ------------------------------- -static auto PyNewReplaySession(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyNewReplaySession(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; std::string file_name; PyObject* file_name_obj; @@ -377,8 +377,8 @@ static PyMethodDef PyNewReplaySessionDef = { // ------------------------------ is_in_replay --------------------------------- -static auto PyIsInReplay(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyIsInReplay(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; BA_PRECONDITION(g_base->InLogicThread()); static const char* kwlist[] = {nullptr}; @@ -408,8 +408,8 @@ static PyMethodDef PyIsInReplayDef = { // -------------------------- register_session-------- ------------------------- -static auto PyRegisterSession(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyRegisterSession(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); PyObject* session_obj; @@ -443,8 +443,8 @@ static PyMethodDef PyRegisterSessionDef = { // --------------------------- register_activity ------------------------------- -static auto PyRegisterActivity(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyRegisterActivity(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); PyObject* activity_obj; @@ -516,8 +516,8 @@ static PyMethodDef PyGetForegroundHostSessionDef = { // ----------------------------- newactivity ----------------------------------- -static auto PyNewActivity(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyNewActivity(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {"activity_type", "settings", nullptr}; @@ -575,8 +575,8 @@ static PyMethodDef PyNewActivityDef = { // ----------------------------- getactivity ----------------------------------- -static auto PyGetActivity(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetActivity(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; int raise = true; static const char* kwlist[] = {"doraise", nullptr}; @@ -624,8 +624,8 @@ static PyMethodDef PyGetActivityDef = { // -------------------------- broadcastmessage --------------------------------- -static auto PyBroadcastMessage(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyBroadcastMessage(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* message = nullptr; PyObject* color_obj = Py_None; @@ -800,8 +800,8 @@ static PyMethodDef PyBroadcastMessageDef = { // ------------------------------- newnode ------------------------------------- -static auto PyNewNode(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyNewNode(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; Node* n = SceneV1Python::DoNewNode(args, keywds); if (!n) { @@ -1037,8 +1037,8 @@ static PyMethodDef PyGetCollisionInfoDef = { // ------------------------------ camerashake ---------------------------------- -static auto PyCameraShake(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyCameraShake(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; assert(g_base->InLogicThread()); float intensity = 1.0f; @@ -1087,8 +1087,8 @@ static PyMethodDef PyCameraShakeDef = { // -------------------------------- emitfx ------------------------------------- -static auto PyEmitFx(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyEmitFx(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {"position", "velocity", "count", "scale", "spread", "chunk_type", @@ -1303,8 +1303,8 @@ static PyMethodDef PyGetForegroundHostActivityDef = { // --------------------------- get_game_roster --------------------------------- -static auto PyGetGameRoster(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetGameRoster(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; BA_PRECONDITION(g_base->InLogicThread()); static const char* kwlist[] = {nullptr}; @@ -1413,8 +1413,8 @@ static PyMethodDef PyGetGameRosterDef = { // ----------------------- set_debug_speed_exponent ---------------------------- -static auto PySetDebugSpeedExponent(PyObject* self, PyObject* args) - -> PyObject* { +static auto PySetDebugSpeedExponent(PyObject* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; int speed; if (!PyArg_ParseTuple(args, "i", &speed)) { @@ -1452,8 +1452,8 @@ static PyMethodDef PySetDebugSpeedExponentDef = { // ----------------------- get_replay_speed_exponent --------------------------- -static auto PyGetReplaySpeedExponent(PyObject* self, PyObject* args) - -> PyObject* { +static auto PyGetReplaySpeedExponent(PyObject* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; auto* appmode = SceneV1AppMode::GetActiveOrThrow(); return PyLong_FromLong(appmode->replay_speed_exponent()); @@ -1475,8 +1475,8 @@ static PyMethodDef PyGetReplaySpeedExponentDef = { // ------------------------ set_replay_speed_exponent -------------------------- -static auto PySetReplaySpeedExponent(PyObject* self, PyObject* args) - -> PyObject* { +static auto PySetReplaySpeedExponent(PyObject* self, + PyObject* args) -> PyObject* { BA_PYTHON_TRY; int speed; if (!PyArg_ParseTuple(args, "i", &speed)) { @@ -1618,8 +1618,8 @@ static PyMethodDef PyGetRandomNamesDef = { // -------------------------------- ls_objects --------------------------------- -static auto PyLsObjects(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyLsObjects(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; Object::LsObjects(); Py_RETURN_NONE; @@ -1643,8 +1643,8 @@ static PyMethodDef PyLsObjectsDef = { // --------------------------- ls_input_devices -------------------------------- -static auto PyLsInputDevices(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyLsInputDevices(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; g_base->input->LsInputDevices(); Py_RETURN_NONE; @@ -1668,8 +1668,8 @@ static PyMethodDef PyLsInputDevicesDef = { // -------------------------- set_internal_music ------------------------------- -static auto PySetInternalMusic(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PySetInternalMusic(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; BA_PRECONDITION(g_base->InLogicThread()); PyObject* music_obj; diff --git a/src/ballistica/scene_v1/python/scene_v1_python.cc b/src/ballistica/scene_v1/python/scene_v1_python.cc index 1c7ed978..f99c9611 100644 --- a/src/ballistica/scene_v1/python/scene_v1_python.cc +++ b/src/ballistica/scene_v1/python/scene_v1_python.cc @@ -422,8 +422,8 @@ auto SceneV1Python::DoNewNode(PyObject* args, PyObject* keywds) -> Node* { // Return the node attr as a PyObject, or nullptr if the node doesn't have that // attr. -auto SceneV1Python::GetNodeAttr(Node* node, const char* attr_name) - -> PyObject* { +auto SceneV1Python::GetNodeAttr(Node* node, + const char* attr_name) -> PyObject* { assert(node); NodeAttribute attr = node->GetAttribute(attr_name); switch (attr.type()) { @@ -972,9 +972,8 @@ auto SceneV1Python::GetPySceneSounds(PyObject* o) -> std::vector { return vals; } -auto SceneV1Python::GetPySceneCollisionMesh(PyObject* o, bool allow_empty_ref, - bool allow_none) - -> SceneCollisionMesh* { +auto SceneV1Python::GetPySceneCollisionMesh( + PyObject* o, bool allow_empty_ref, bool allow_none) -> SceneCollisionMesh* { assert(Python::HaveGIL()); BA_PRECONDITION_FATAL(o != nullptr); @@ -1102,8 +1101,8 @@ auto SceneV1Python::GetPySceneDataAsset(PyObject* o, bool allow_empty_ref, PyExcType::kType); } -auto SceneV1Python::FilterChatMessage(std::string* message, int client_id) - -> bool { +auto SceneV1Python::FilterChatMessage(std::string* message, + int client_id) -> bool { assert(message); base::ScopedSetContext ssc(nullptr); @@ -1424,9 +1423,8 @@ auto SceneV1Python::HandleCapturedKeyRelease(const SDL_Keysym& keysym) -> bool { return true; } -auto SceneV1Python::HandleCapturedJoystickEvent(const SDL_Event& event, - base::InputDevice* input_device) - -> bool { +auto SceneV1Python::HandleCapturedJoystickEvent( + const SDL_Event& event, base::InputDevice* input_device) -> bool { assert(g_base->InLogicThread()); assert(input_device != nullptr); if (!joystick_capture_call_.Exists()) { diff --git a/src/ballistica/scene_v1/python/scene_v1_python.h b/src/ballistica/scene_v1/python/scene_v1_python.h index afa67832..c711ea45 100644 --- a/src/ballistica/scene_v1/python/scene_v1_python.h +++ b/src/ballistica/scene_v1/python/scene_v1_python.h @@ -70,8 +70,8 @@ class SceneV1Python { /// Given an asset-package python object and a media name, verify /// that the asset-package is valid in the current context_ref and return /// its fully qualified name if so. Throw an Exception if not. - auto ValidatedPackageAssetName(PyObject* package, const char* name) - -> std::string; + auto ValidatedPackageAssetName(PyObject* package, + const char* name) -> std::string; /// Specific Python objects we hold in objs_. enum class ObjID { @@ -101,9 +101,8 @@ class SceneV1Python { const auto& objs() { return objs_; } private: - static auto HandleCapturedJoystickEventCall(const SDL_Event& event, - base::InputDevice* input_device) - -> bool; + static auto HandleCapturedJoystickEventCall( + const SDL_Event& event, base::InputDevice* input_device) -> bool; static auto HandleCapturedKeyPressCall(const SDL_Keysym& keysym) -> bool; static auto HandleCapturedKeyReleaseCall(const SDL_Keysym& keysym) -> bool; auto HandleCapturedJoystickEvent(const SDL_Event& event, diff --git a/src/ballistica/scene_v1/support/host_session.h b/src/ballistica/scene_v1/support/host_session.h index cf53cccf..5515a48f 100644 --- a/src/ballistica/scene_v1/support/host_session.h +++ b/src/ballistica/scene_v1/support/host_session.h @@ -58,8 +58,8 @@ class HostSession : public Session { } // Given an activity python type, instantiate a new activity // and return a new reference. - auto NewHostActivity(PyObject* activity_type_obj, PyObject* settings_obj) - -> PyObject*; + auto NewHostActivity(PyObject* activity_type_obj, + PyObject* settings_obj) -> PyObject*; void DestroyHostActivity(HostActivity* a); void RemovePlayer(Player* player); void RequestPlayer(SceneV1InputDeviceDelegate* device); @@ -99,8 +99,8 @@ class HostSession : public Session { // New HostActivities should call this in their constructors. void AddHostActivity(HostActivity* sgc); - auto GetUnusedPlayerName(Player* p, const std::string& base_name) - -> std::string; + auto GetUnusedPlayerName(Player* p, + const std::string& base_name) -> std::string; auto ContextAllowsDefaultTimerTypes() -> bool override; auto TimeToNextEvent() -> std::optional override; diff --git a/src/ballistica/scene_v1/support/session_stream.h b/src/ballistica/scene_v1/support/session_stream.h index 053771f2..1bc3a831 100644 --- a/src/ballistica/scene_v1/support/session_stream.h +++ b/src/ballistica/scene_v1/support/session_stream.h @@ -121,8 +121,8 @@ class SessionStream : public Object, public ClientControllerInterface { template auto GetPointerCount(const std::vector& vec) -> size_t; template - auto GetFreeIndex(std::vector* vec, std::vector* free_indices) - -> size_t; + auto GetFreeIndex(std::vector* vec, + std::vector* free_indices) -> size_t; template void Add(T* val, std::vector* vec, std::vector* free_indices); template diff --git a/src/ballistica/shared/ballistica.cc b/src/ballistica/shared/ballistica.cc index 00fd591e..8011160a 100644 --- a/src/ballistica/shared/ballistica.cc +++ b/src/ballistica/shared/ballistica.cc @@ -39,7 +39,7 @@ auto main(int argc, char** argv) -> int { namespace ballistica { // These are set automatically via script; don't modify them here. -const int kEngineBuildNumber = 21772; +const int kEngineBuildNumber = 21775; const char* kEngineVersion = "1.7.33"; const int kEngineApiVersion = 8; diff --git a/src/ballistica/shared/foundation/event_loop.cc b/src/ballistica/shared/foundation/event_loop.cc index 58153d94..a2a714c5 100644 --- a/src/ballistica/shared/foundation/event_loop.cc +++ b/src/ballistica/shared/foundation/event_loop.cc @@ -576,8 +576,8 @@ auto EventLoop::AreEventLoopsSuspended() -> bool { return g_core->event_loops_suspended(); } -auto EventLoop::NewTimer(microsecs_t length, bool repeat, Runnable* runnable) - -> Timer* { +auto EventLoop::NewTimer(microsecs_t length, bool repeat, + Runnable* runnable) -> Timer* { assert(g_core); assert(ThreadIsCurrent()); assert(Object::IsValidManagedObject(runnable)); diff --git a/src/ballistica/shared/foundation/macros.cc b/src/ballistica/shared/foundation/macros.cc index c2ae788d..e1e1791b 100644 --- a/src/ballistica/shared/foundation/macros.cc +++ b/src/ballistica/shared/foundation/macros.cc @@ -138,8 +138,8 @@ void MacroLogPythonTrace(core::CoreFeatureSet* corefs, const std::string& msg) { Log(LogLevel::kError, msg); } -auto MacroPathFilter(core::CoreFeatureSet* corefs, const char* filename) - -> const char* { +auto MacroPathFilter(core::CoreFeatureSet* corefs, + const char* filename) -> const char* { // If we've got a build_src_dir set and filename starts with it, skip past // it. assert(corefs); diff --git a/src/ballistica/shared/foundation/macros.h b/src/ballistica/shared/foundation/macros.h index f8526b8c..3ba372e6 100644 --- a/src/ballistica/shared/foundation/macros.h +++ b/src/ballistica/shared/foundation/macros.h @@ -173,8 +173,8 @@ namespace ballistica { // Support functions used by some of our macros; not intended to be used // directly. -auto MacroPathFilter(core::CoreFeatureSet* corefs, const char* filename) - -> const char*; +auto MacroPathFilter(core::CoreFeatureSet* corefs, + const char* filename) -> const char*; void MacroFunctionTimerEnd(core::CoreFeatureSet* corefs, millisecs_t starttime, millisecs_t time, const char* funcname); void MacroFunctionTimerEndThread(core::CoreFeatureSet* corefs, diff --git a/src/ballistica/shared/generic/base64.cc b/src/ballistica/shared/generic/base64.cc index 77df7e20..cada6c25 100644 --- a/src/ballistica/shared/generic/base64.cc +++ b/src/ballistica/shared/generic/base64.cc @@ -102,8 +102,8 @@ auto base64_encode(const unsigned char* bytes_to_encode, unsigned int in_len, return ret; } -auto base64_decode(const std::string& encoded_string, bool urlsafe) - -> std::string { +auto base64_decode(const std::string& encoded_string, + bool urlsafe) -> std::string { int in_len = static_cast(encoded_string.size()); int i = 0; // int j = 0; diff --git a/src/ballistica/shared/generic/base64.h b/src/ballistica/shared/generic/base64.h index 0df02824..2faab459 100644 --- a/src/ballistica/shared/generic/base64.h +++ b/src/ballistica/shared/generic/base64.h @@ -7,8 +7,8 @@ namespace ballistica { -auto base64_encode(const unsigned char*, unsigned int len, bool urlsafe = false) - -> std::string; +auto base64_encode(const unsigned char*, unsigned int len, + bool urlsafe = false) -> std::string; auto base64_decode(const std::string& s, bool urlsafe = false) -> std::string; } // namespace ballistica diff --git a/src/ballistica/shared/generic/timer_list.h b/src/ballistica/shared/generic/timer_list.h index a954b759..f2ad5408 100644 --- a/src/ballistica/shared/generic/timer_list.h +++ b/src/ballistica/shared/generic/timer_list.h @@ -22,8 +22,8 @@ class TimerList { // Create a timer with provided runnable. auto NewTimer(TimerMedium current_time, TimerMedium length, - TimerMedium offset, int repeat_count, Runnable* runnable) - -> Timer*; + TimerMedium offset, int repeat_count, + Runnable* runnable) -> Timer*; // Return a timer by its id, or nullptr if the timer no longer exists. auto GetTimer(int id) -> Timer*; diff --git a/src/ballistica/shared/generic/utf8.cc b/src/ballistica/shared/generic/utf8.cc index b2cc83b0..b26c76a2 100644 --- a/src/ballistica/shared/generic/utf8.cc +++ b/src/ballistica/shared/generic/utf8.cc @@ -400,8 +400,7 @@ auto u8_is_locale_utf8(const char* locale) -> int { for (; *cp != '\0' && *cp != '@' && *cp != '+' && *cp != ','; cp++) { if (*cp == '.') { const char* encoding = ++cp; - for (; *cp != '\0' && *cp != '@' && *cp != '+' && *cp != ','; cp++) - ; + for (; *cp != '\0' && *cp != '@' && *cp != '+' && *cp != ','; cp++); if ((cp - encoding == 5 && !strncmp(encoding, "UTF-8", 5)) || (cp - encoding == 4 && !strncmp(encoding, "utf8", 4))) return 1; /* it's UTF-8 */ diff --git a/src/ballistica/shared/generic/utils.cc b/src/ballistica/shared/generic/utils.cc index 10025b03..d87a10df 100644 --- a/src/ballistica/shared/generic/utils.cc +++ b/src/ballistica/shared/generic/utils.cc @@ -332,8 +332,8 @@ auto Utils::UTF8FromUnicode(std::vector unichars) -> std::string { return buffer.data(); } -auto Utils::UnicodeFromUTF8(const std::string& s_in, const char* loc) - -> std::vector { +auto Utils::UnicodeFromUTF8(const std::string& s_in, + const char* loc) -> std::vector { std::string s = GetValidUTF8(s_in.c_str(), loc); // worst case every char is a character (plus trailing 0) std::vector vals(s.size() + 1); diff --git a/src/ballistica/shared/generic/utils.h b/src/ballistica/shared/generic/utils.h index db5088ae..1d969586 100644 --- a/src/ballistica/shared/generic/utils.h +++ b/src/ballistica/shared/generic/utils.h @@ -48,8 +48,8 @@ class Utils { /// control characters). static auto StripNonAsciiFromUTF8(const std::string& s) -> std::string; - static auto UnicodeFromUTF8(const std::string& s, const char* loc) - -> std::vector; + static auto UnicodeFromUTF8(const std::string& s, + const char* loc) -> std::vector; static auto UTF8FromUnicode(std::vector unichars) -> std::string; static auto UTF8FromUnicodeChar(uint32_t c) -> std::string; static auto UTF8StringLength(const char* val) -> int; diff --git a/src/ballistica/shared/math/matrix44f.cc b/src/ballistica/shared/math/matrix44f.cc index 46d08c3e..f2e093a4 100644 --- a/src/ballistica/shared/math/matrix44f.cc +++ b/src/ballistica/shared/math/matrix44f.cc @@ -57,8 +57,8 @@ auto Matrix44fRotate(float azimuth, float elevation) -> Matrix44f { return rotate; } -auto Matrix44fOrient(const Vector3f& x, const Vector3f& y, const Vector3f& z) - -> Matrix44f { +auto Matrix44fOrient(const Vector3f& x, const Vector3f& y, + const Vector3f& z) -> Matrix44f { Matrix44f orient{kMatrix44fIdentity}; orient.set(0, 0, x.x); @@ -76,8 +76,8 @@ auto Matrix44fOrient(const Vector3f& x, const Vector3f& y, const Vector3f& z) return orient; } -auto Matrix44fOrient(const Vector3f& direction, const Vector3f& up) - -> Matrix44f { +auto Matrix44fOrient(const Vector3f& direction, + const Vector3f& up) -> Matrix44f { assert(direction.LengthSquared() > 0.0f); assert(up.LengthSquared() > 0.0f); diff --git a/src/ballistica/shared/math/matrix44f.h b/src/ballistica/shared/math/matrix44f.h index e8bcd52c..20b321b0 100644 --- a/src/ballistica/shared/math/matrix44f.h +++ b/src/ballistica/shared/math/matrix44f.h @@ -161,8 +161,8 @@ inline auto Matrix44fTranslate(const Vector3f& trans) -> Matrix44f { return translate; } -inline auto Matrix44fTranslate(const float x, const float y, const float z) - -> Matrix44f { +inline auto Matrix44fTranslate(const float x, const float y, + const float z) -> Matrix44f { Matrix44f translate{kMatrix44fIdentity}; translate.set(3, 0, x); translate.set(3, 1, y); @@ -188,12 +188,12 @@ inline auto Matrix44fScale(const Vector3f& sf) -> Matrix44f { auto Matrix44fRotate(const Vector3f& axis, float angle) -> Matrix44f; auto Matrix44fRotate(float azimuth, float elevation) -> Matrix44f; -auto Matrix44fOrient(const Vector3f& x, const Vector3f& y, const Vector3f& z) - -> Matrix44f; +auto Matrix44fOrient(const Vector3f& x, const Vector3f& y, + const Vector3f& z) -> Matrix44f; // Note: direction and up need to be perpendicular and normalized here. -auto Matrix44fOrient(const Vector3f& direction, const Vector3f& up) - -> Matrix44f; +auto Matrix44fOrient(const Vector3f& direction, + const Vector3f& up) -> Matrix44f; auto Matrix44fFrustum(float left, float right, float bottom, float top, float near, float far) -> Matrix44f; diff --git a/src/ballistica/shared/python/python_class.cc b/src/ballistica/shared/python/python_class.cc index b6530162..1e652df3 100644 --- a/src/ballistica/shared/python/python_class.cc +++ b/src/ballistica/shared/python/python_class.cc @@ -35,8 +35,8 @@ auto PythonClass::TypeIsSetUp(PyTypeObject* cls) -> bool { return Py_REFCNT(cls) > 0; } -auto PythonClass::tp_new(PyTypeObject* type, PyObject* args, PyObject* kwds) - -> PyObject* { +auto PythonClass::tp_new(PyTypeObject* type, PyObject* args, + PyObject* kwds) -> PyObject* { // Simply allocating and returning a zeroed instance of our class here. // If subclasses need to construct/destruct any other values in the object // they can either do it manually here and in tp_dealloc *or* they can get @@ -57,8 +57,8 @@ auto PythonClass::tp_getattro(PythonClass* node, PyObject* attr) -> PyObject* { BA_PYTHON_CATCH; } -auto PythonClass::tp_setattro(PythonClass* node, PyObject* attr, PyObject* val) - -> int { +auto PythonClass::tp_setattro(PythonClass* node, PyObject* attr, + PyObject* val) -> int { BA_PYTHON_TRY; return PyObject_GenericSetAttr(reinterpret_cast(node), attr, val); BA_PYTHON_INT_CATCH; diff --git a/src/ballistica/shared/python/python_class.h b/src/ballistica/shared/python/python_class.h index 572fea36..5036a08e 100644 --- a/src/ballistica/shared/python/python_class.h +++ b/src/ballistica/shared/python/python_class.h @@ -35,12 +35,12 @@ class PythonClass { private: static auto tp_repr(PythonClass* self) -> PyObject*; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* kwds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* kwds) -> PyObject*; static void tp_dealloc(PythonClass* self); static auto tp_getattro(PythonClass* node, PyObject* attr) -> PyObject*; - static auto tp_setattro(PythonClass* node, PyObject* attr, PyObject* val) - -> int; + static auto tp_setattro(PythonClass* node, PyObject* attr, + PyObject* val) -> int; }; } // namespace ballistica diff --git a/src/ballistica/shared/python/python_command.cc b/src/ballistica/shared/python/python_command.cc index ab04999f..68cf3275 100644 --- a/src/ballistica/shared/python/python_command.cc +++ b/src/ballistica/shared/python/python_command.cc @@ -97,8 +97,8 @@ auto PythonCommand::CanEval() -> bool { return true; } -auto PythonCommand::Exec(bool print_errors, PyObject* globals, PyObject* locals) - -> bool { +auto PythonCommand::Exec(bool print_errors, PyObject* globals, + PyObject* locals) -> bool { assert(Python::HaveGIL()); // If we're being used before core is up, we need both global and @@ -163,8 +163,8 @@ auto PythonCommand::Exec(bool print_errors, PyObject* globals, PyObject* locals) return false; } -auto PythonCommand::Eval(bool print_errors, PyObject* globals, PyObject* locals) - -> PythonRef { +auto PythonCommand::Eval(bool print_errors, PyObject* globals, + PyObject* locals) -> PythonRef { assert(Python::HaveGIL()); assert(!dead_); diff --git a/src/ballistica/shared/python/python_command.h b/src/ballistica/shared/python/python_command.h index a0a34704..bf712080 100644 --- a/src/ballistica/shared/python/python_command.h +++ b/src/ballistica/shared/python/python_command.h @@ -46,8 +46,8 @@ class PythonCommand { /// Run the command and return the result as a new Python reference. /// Only works for eval-able commands. /// Returns nullptr on errors, but Python error state will be cleared. - auto Eval(bool print_errors, PyObject* globals, PyObject* locals) - -> PythonRef; + auto Eval(bool print_errors, PyObject* globals, + PyObject* locals) -> PythonRef; void PrintContext(); diff --git a/src/ballistica/shared/python/python_ref.cc b/src/ballistica/shared/python/python_ref.cc index eb74d121..b209a561 100644 --- a/src/ballistica/shared/python/python_ref.cc +++ b/src/ballistica/shared/python/python_ref.cc @@ -277,8 +277,8 @@ auto PythonRef::UnicodeCheck() const -> bool { return static_cast(PyUnicode_Check(obj_)); } -static inline auto _HandleCallResults(PyObject* out, bool print_errors) - -> PyObject* { +static inline auto _HandleCallResults(PyObject* out, + bool print_errors) -> PyObject* { if (!out) { if (print_errors) { // Save/restore error or it can mess with context print calls. @@ -297,8 +297,8 @@ static inline auto _HandleCallResults(PyObject* out, bool print_errors) return out; } -auto PythonRef::Call(PyObject* args, PyObject* keywds, bool print_errors) const - -> PythonRef { +auto PythonRef::Call(PyObject* args, PyObject* keywds, + bool print_errors) const -> PythonRef { assert(obj_); assert(Python::HaveGIL()); assert(CallableCheck()); @@ -319,8 +319,8 @@ auto PythonRef::Call(bool print_errors) const -> PythonRef { return out ? PythonRef(out, PythonRef::kSteal) : PythonRef(); } -auto PythonRef::Call(const Vector2f& val, bool print_errors) const - -> PythonRef { +auto PythonRef::Call(const Vector2f& val, + bool print_errors) const -> PythonRef { assert(Python::HaveGIL()); PythonRef args(Py_BuildValue("((ff))", val.x, val.y), PythonRef::kSteal); return Call(args.Get(), nullptr, print_errors); diff --git a/src/ballistica/template_fs/python/class/python_class_hello.h b/src/ballistica/template_fs/python/class/python_class_hello.h index e2e3f28d..d717da9b 100644 --- a/src/ballistica/template_fs/python/class/python_class_hello.h +++ b/src/ballistica/template_fs/python/class/python_class_hello.h @@ -33,8 +33,8 @@ class PythonClassHello : public PythonClass { PythonClassHello(); ~PythonClassHello(); static PyMethodDef tp_methods[]; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassHello* self); static auto TestMethod(PythonClassHello* self, PyObject* args, PyObject* keywds) -> PyObject*; diff --git a/src/ballistica/template_fs/python/methods/python_methods_template_fs.cc b/src/ballistica/template_fs/python/methods/python_methods_template_fs.cc index 2e0015ad..a644e4e9 100644 --- a/src/ballistica/template_fs/python/methods/python_methods_template_fs.cc +++ b/src/ballistica/template_fs/python/methods/python_methods_template_fs.cc @@ -9,8 +9,8 @@ namespace ballistica::template_fs { // -------------------------- hello_again_world -------------------------------- -static auto PyHelloAgainWorld(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyHelloAgainWorld(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; static const char* kwlist[] = {nullptr}; diff --git a/src/ballistica/ui_v1/python/class/python_class_ui_mesh.h b/src/ballistica/ui_v1/python/class/python_class_ui_mesh.h index 09edebc9..49ce22a0 100644 --- a/src/ballistica/ui_v1/python/class/python_class_ui_mesh.h +++ b/src/ballistica/ui_v1/python/class/python_class_ui_mesh.h @@ -39,8 +39,8 @@ class PythonClassUIMesh : public PythonClass { private: static PyMethodDef tp_methods[]; static auto tp_repr(PythonClassUIMesh* self) -> PyObject*; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassUIMesh* self); Object::Ref* mesh_; }; diff --git a/src/ballistica/ui_v1/python/class/python_class_ui_sound.h b/src/ballistica/ui_v1/python/class/python_class_ui_sound.h index 50aefb51..1dfcb57e 100644 --- a/src/ballistica/ui_v1/python/class/python_class_ui_sound.h +++ b/src/ballistica/ui_v1/python/class/python_class_ui_sound.h @@ -39,13 +39,13 @@ class PythonClassUISound : public PythonClass { private: static PyMethodDef tp_methods[]; static auto tp_repr(PythonClassUISound* self) -> PyObject*; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassUISound* self); - static auto Play(PythonClassUISound* self, PyObject* args, PyObject* keywds) - -> PyObject*; - static auto Stop(PythonClassUISound* self, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto Play(PythonClassUISound* self, PyObject* args, + PyObject* keywds) -> PyObject*; + static auto Stop(PythonClassUISound* self, PyObject* args, + PyObject* keywds) -> PyObject*; Object::Ref* sound_; bool playing_; diff --git a/src/ballistica/ui_v1/python/class/python_class_ui_texture.h b/src/ballistica/ui_v1/python/class/python_class_ui_texture.h index 56e720b6..b50815c9 100644 --- a/src/ballistica/ui_v1/python/class/python_class_ui_texture.h +++ b/src/ballistica/ui_v1/python/class/python_class_ui_texture.h @@ -40,8 +40,8 @@ class PythonClassUITexture : public PythonClass { private: static PyMethodDef tp_methods[]; static auto tp_repr(PythonClassUITexture* self) -> PyObject*; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassUITexture* self); Object::Ref* texture_; }; diff --git a/src/ballistica/ui_v1/python/class/python_class_widget.cc b/src/ballistica/ui_v1/python/class/python_class_widget.cc index 62b879be..57978903 100644 --- a/src/ballistica/ui_v1/python/class/python_class_widget.cc +++ b/src/ballistica/ui_v1/python/class/python_class_widget.cc @@ -90,8 +90,8 @@ auto PythonClassWidget::GetWidget() const -> Widget* { return w; } -auto PythonClassWidget::tp_getattro(PythonClassWidget* self, PyObject* attr) - -> PyObject* { +auto PythonClassWidget::tp_getattro(PythonClassWidget* self, + PyObject* attr) -> PyObject* { BA_PYTHON_TRY; BA_PRECONDITION(g_base->InLogicThread()); @@ -312,8 +312,8 @@ auto PythonClassWidget::Delete(PythonClassWidget* self, PyObject* args, } auto PythonClassWidget::AddDeleteCallback(PythonClassWidget* self, - PyObject* args, PyObject* keywds) - -> PyObject* { + PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* call_obj; static const char* kwlist[] = {"call", nullptr}; diff --git a/src/ballistica/ui_v1/python/class/python_class_widget.h b/src/ballistica/ui_v1/python/class/python_class_widget.h index b4e98409..e38fd152 100644 --- a/src/ballistica/ui_v1/python/class/python_class_widget.h +++ b/src/ballistica/ui_v1/python/class/python_class_widget.h @@ -23,8 +23,8 @@ class PythonClassWidget : public PythonClass { private: static PyMethodDef tp_methods[]; static auto tp_repr(PythonClassWidget* self) -> PyObject*; - static auto tp_new(PyTypeObject* type, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto tp_new(PyTypeObject* type, PyObject* args, + PyObject* keywds) -> PyObject*; static void tp_dealloc(PythonClassWidget* self); static auto tp_getattro(PythonClassWidget* self, PyObject* attr) -> PyObject*; static auto tp_setattro(PythonClassWidget* self, PyObject* attr, @@ -35,8 +35,8 @@ class PythonClassWidget : public PythonClass { static auto GetChildren(PythonClassWidget* self) -> PyObject*; static auto GetSelectedChild(PythonClassWidget* self) -> PyObject*; static auto GetScreenSpaceCenter(PythonClassWidget* self) -> PyObject*; - static auto Delete(PythonClassWidget* self, PyObject* args, PyObject* keywds) - -> PyObject*; + static auto Delete(PythonClassWidget* self, PyObject* args, + PyObject* keywds) -> PyObject*; static auto AddDeleteCallback(PythonClassWidget* self, PyObject* args, PyObject* keywds) -> PyObject*; Object::WeakRef* widget_; diff --git a/src/ballistica/ui_v1/python/methods/python_methods_ui_v1.cc b/src/ballistica/ui_v1/python/methods/python_methods_ui_v1.cc index 6937e819..37992377 100644 --- a/src/ballistica/ui_v1/python/methods/python_methods_ui_v1.cc +++ b/src/ballistica/ui_v1/python/methods/python_methods_ui_v1.cc @@ -29,8 +29,8 @@ namespace ballistica::ui_v1 { // ------------------------------ getsound ------------------------------------- -static auto PyGetSound(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetSound(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; static const char* kwlist[] = {"name", nullptr}; @@ -58,8 +58,8 @@ static PyMethodDef PyGetSoundDef = { // ----------------------------- gettexture ------------------------------------ -static auto PyGetTexture(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetTexture(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; static const char* kwlist[] = {"name", nullptr}; @@ -87,8 +87,8 @@ static PyMethodDef PyGetTextureDef = { // -------------------------- get_qrcode_texture ------------------------------- -static auto PyGetQRCodeTexture(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetQRCodeTexture(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* url; static const char* kwlist[] = {"url", nullptr}; @@ -117,8 +117,8 @@ static PyMethodDef PyGetQRCodeTextureDef = { // ------------------------------- getmesh ------------------------------------- -static auto PyGetMesh(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetMesh(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; static const char* kwlist[] = {"name", nullptr}; @@ -146,8 +146,8 @@ static PyMethodDef PyGetMeshDef = { // ----------------------------- buttonwidget ---------------------------------- -static auto PyButtonWidget(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyButtonWidget(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* size_obj = Py_None; PyObject* pos_obj = Py_None; @@ -264,7 +264,7 @@ static auto PyButtonWidget(PyObject* self, PyObject* args, PyObject* keywds) parent_widget = parent_obj == Py_None ? g_ui_v1->screen_root_widget() : dynamic_cast( - UIV1Python::GetPyWidget(parent_obj)); + UIV1Python::GetPyWidget(parent_obj)); if (parent_widget == nullptr) { throw Exception("Parent widget nonexistent or not a container.", PyExcType::kWidgetNotFound); @@ -508,8 +508,8 @@ static PyMethodDef PyButtonWidgetDef = { // --------------------------- checkboxwidget ---------------------------------- -static auto PyCheckBoxWidget(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyCheckBoxWidget(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* size_obj = Py_None; PyObject* pos_obj = Py_None; @@ -573,7 +573,7 @@ static auto PyCheckBoxWidget(PyObject* self, PyObject* args, PyObject* keywds) parent_widget = parent_obj == Py_None ? g_ui_v1->screen_root_widget() : dynamic_cast( - UIV1Python::GetPyWidget(parent_obj)); + UIV1Python::GetPyWidget(parent_obj)); if (parent_widget == nullptr) { throw Exception("Parent widget nonexistent or not a container.", PyExcType::kWidgetNotFound); @@ -682,8 +682,8 @@ static PyMethodDef PyCheckBoxWidgetDef = { // ----------------------------- imagewidget ----------------------------------- -static auto PyImageWidget(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyImageWidget(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* size_obj = Py_None; PyObject* pos_obj = Py_None; @@ -752,7 +752,7 @@ static auto PyImageWidget(PyObject* self, PyObject* args, PyObject* keywds) parent_widget = parent_obj == Py_None ? g_ui_v1->screen_root_widget() : dynamic_cast( - UIV1Python::GetPyWidget(parent_obj)); + UIV1Python::GetPyWidget(parent_obj)); if (parent_widget == nullptr) { throw Exception("Parent widget nonexistent or not a container.", PyExcType::kWidgetNotFound); @@ -880,8 +880,8 @@ static PyMethodDef PyImageWidgetDef = { // ----------------------------- columnwidget ---------------------------------- -static auto PyColumnWidget(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyColumnWidget(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* size_obj{Py_None}; @@ -949,7 +949,7 @@ static auto PyColumnWidget(PyObject* self, PyObject* args, PyObject* keywds) parent_widget = parent_obj == Py_None ? g_ui_v1->screen_root_widget() : dynamic_cast( - UIV1Python::GetPyWidget(parent_obj)); + UIV1Python::GetPyWidget(parent_obj)); if (!parent_widget) { throw Exception("Invalid or nonexistent parent widget.", PyExcType::kWidgetNotFound); @@ -1062,8 +1062,8 @@ static PyMethodDef PyColumnWidgetDef = { // ---------------------------- containerwidget -------------------------------- -static auto PyContainerWidget(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyContainerWidget(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* size_obj = Py_None; PyObject* pos_obj = Py_None; @@ -1170,7 +1170,7 @@ static auto PyContainerWidget(PyObject* self, PyObject* args, PyObject* keywds) parent_widget = parent_obj == Py_None ? g_ui_v1->screen_root_widget() : dynamic_cast( - UIV1Python::GetPyWidget(parent_obj)); + UIV1Python::GetPyWidget(parent_obj)); if (!parent_widget) { throw Exception("Invalid or nonexistent parent widget.", PyExcType::kWidgetNotFound); @@ -1393,8 +1393,8 @@ static PyMethodDef PyContainerWidgetDef = { // ------------------------------ rowwidget ------------------------------------ -static auto PyRowWidget(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyRowWidget(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* size_obj{Py_None}; @@ -1443,7 +1443,7 @@ static auto PyRowWidget(PyObject* self, PyObject* args, PyObject* keywds) parent_widget = parent_obj == Py_None ? g_ui_v1->screen_root_widget() : dynamic_cast( - UIV1Python::GetPyWidget(parent_obj)); + UIV1Python::GetPyWidget(parent_obj)); if (!parent_widget) { throw Exception("invalid or nonexistent parent widget.", PyExcType::kWidgetNotFound); @@ -1522,8 +1522,8 @@ static PyMethodDef PyRowWidgetDef = { // ---------------------------- scrollwidget ----------------------------------- -static auto PyScrollWidget(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyScrollWidget(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* size_obj{Py_None}; PyObject* pos_obj{Py_None}; @@ -1595,7 +1595,7 @@ static auto PyScrollWidget(PyObject* self, PyObject* args, PyObject* keywds) parent_widget = parent_obj == Py_None ? g_ui_v1->screen_root_widget() : dynamic_cast( - UIV1Python::GetPyWidget(parent_obj)); + UIV1Python::GetPyWidget(parent_obj)); if (!parent_widget) { throw Exception("Invalid or nonexistent parent widget.", PyExcType::kWidgetNotFound); @@ -1710,8 +1710,8 @@ static PyMethodDef PyScrollWidgetDef = { // ---------------------------- hscrollwidget ---------------------------------- -static auto PyHScrollWidget(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyHScrollWidget(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* size_obj = Py_None; @@ -1781,7 +1781,7 @@ static auto PyHScrollWidget(PyObject* self, PyObject* args, PyObject* keywds) parent_widget = parent_obj == Py_None ? g_ui_v1->screen_root_widget() : dynamic_cast( - UIV1Python::GetPyWidget(parent_obj)); + UIV1Python::GetPyWidget(parent_obj)); if (!parent_widget) { throw Exception("Invalid or nonexistent parent widget.", PyExcType::kWidgetNotFound); @@ -1889,8 +1889,8 @@ static PyMethodDef PyHScrollWidgetDef = { // ------------------------------ textwidget ----------------------------------- -static auto PyTextWidget(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyTextWidget(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* size_obj = Py_None; PyObject* pos_obj = Py_None; @@ -2039,7 +2039,7 @@ static auto PyTextWidget(PyObject* self, PyObject* args, PyObject* keywds) parent_widget = parent_obj == Py_None ? g_ui_v1->screen_root_widget() : dynamic_cast( - UIV1Python::GetPyWidget(parent_obj)); + UIV1Python::GetPyWidget(parent_obj)); if (!parent_widget) { throw Exception("Invalid or nonexistent parent widget.", PyExcType::kWidgetNotFound); @@ -2280,8 +2280,8 @@ static PyMethodDef PyTextWidgetDef = { // ------------------------------- widget -------------------------------------- -static auto PyWidgetCall(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyWidgetCall(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; PyObject* edit_obj = Py_None; @@ -2510,8 +2510,8 @@ static PyMethodDef PySetPartyWindowOpenDef = { // -------------------------- get_special_widget ------------------------------- -static auto PyGetSpecialWidget(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyGetSpecialWidget(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* name; @@ -2545,8 +2545,8 @@ static PyMethodDef PyGetSpecialWidgetDef = { // ------------------------------ back_press ----------------------------------- -static auto PyBackPress(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyBackPress(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; static const char* kwlist[] = {nullptr}; @@ -2571,8 +2571,8 @@ static PyMethodDef PyBackPressDef = { // ------------------------------- open_url ------------------------------------ -static auto PyOpenURL(PyObject* self, PyObject* args, PyObject* keywds) - -> PyObject* { +static auto PyOpenURL(PyObject* self, PyObject* args, + PyObject* keywds) -> PyObject* { BA_PYTHON_TRY; const char* address{}; int force_internal{0}; diff --git a/src/ballistica/ui_v1/widget/button_widget.cc b/src/ballistica/ui_v1/widget/button_widget.cc index 9b84d87c..a5906567 100644 --- a/src/ballistica/ui_v1/widget/button_widget.cc +++ b/src/ballistica/ui_v1/widget/button_widget.cc @@ -13,7 +13,7 @@ namespace ballistica::ui_v1 { ButtonWidget::ButtonWidget() : birth_time_millisecs_{ - static_cast(g_base->logic->display_time() * 1000.0)} { + static_cast(g_base->logic->display_time() * 1000.0)} { text_ = Object::New(); set_text("Button"); text_->set_valign(TextWidget::VAlign::kCenter); diff --git a/src/ballistica/ui_v1/widget/container_widget.cc b/src/ballistica/ui_v1/widget/container_widget.cc index 37495e0a..aaacb1e2 100644 --- a/src/ballistica/ui_v1/widget/container_widget.cc +++ b/src/ballistica/ui_v1/widget/container_widget.cc @@ -697,8 +697,8 @@ auto ContainerWidget::HandleMessage(const base::WidgetMessage& m) -> bool { return claimed; } -auto ContainerWidget::GetMult(millisecs_t current_time, bool for_glow) const - -> float { +auto ContainerWidget::GetMult(millisecs_t current_time, + bool for_glow) const -> float { if (root_selectable_ && selected()) { float m; diff --git a/src/ballistica/ui_v1/widget/image_widget.cc b/src/ballistica/ui_v1/widget/image_widget.cc index a6d29654..926992f6 100644 --- a/src/ballistica/ui_v1/widget/image_widget.cc +++ b/src/ballistica/ui_v1/widget/image_widget.cc @@ -9,7 +9,7 @@ namespace ballistica::ui_v1 { ImageWidget::ImageWidget() : birth_time_millisecs_{ - static_cast(g_base->logic->display_time() * 1000.0)} {} + static_cast(g_base->logic->display_time() * 1000.0)} {} ImageWidget::~ImageWidget() = default; diff --git a/tests/test_efro/test_dataclassio.py b/tests/test_efro/test_dataclassio.py index 125613e3..e2de4d53 100644 --- a/tests/test_efro/test_dataclassio.py +++ b/tests/test_efro/test_dataclassio.py @@ -644,6 +644,24 @@ def test_dict() -> None: dataclass_to_dict(obj4) +def test_sets() -> None: + """Test bits related to sets.""" + + @ioprepped + @dataclass + class _TestClass: + sval: set[str] + + obj1 = _TestClass({'a', 'b', 'c', 'd', 'e', 'f'}) + obj2 = _TestClass({'c', 'd', 'a', 'e', 'f', 'b'}) + + # Sets get converted to lists; make sure they are getting sorted so + # that output is deterministic and it is meaningful to compare the + # output dicts from two sets for equality. + assert dataclass_to_dict(obj1) == {'sval': ['a', 'b', 'c', 'd', 'e', 'f']} + assert dataclass_to_dict(obj2) == {'sval': ['a', 'b', 'c', 'd', 'e', 'f']} + + def test_name_clashes() -> None: """Make sure we catch name clashes since we can remap attr names.""" diff --git a/tools/batools/dummymodule.py b/tools/batools/dummymodule.py index 5a29b870..0b45a489 100755 --- a/tools/batools/dummymodule.py +++ b/tools/batools/dummymodule.py @@ -815,18 +815,24 @@ class Generator: typing_imports = ( 'TYPE_CHECKING, overload, Sequence, TypeVar' if self.mname == '_babase' - else 'TYPE_CHECKING, overload, TypeVar' - if self.mname == '_bascenev1' - else 'TYPE_CHECKING, TypeVar' + else ( + 'TYPE_CHECKING, overload, TypeVar' + if self.mname == '_bascenev1' + else 'TYPE_CHECKING, TypeVar' + ) ) typing_imports_tc = ( 'Any, Callable' if self.mname == '_babase' - else 'Any, Callable, Literal, Sequence' - if self.mname == '_bascenev1' - else 'Any, Callable, Literal, Sequence' - if self.mname == '_bauiv1' - else 'Any, Callable' + else ( + 'Any, Callable, Literal, Sequence' + if self.mname == '_bascenev1' + else ( + 'Any, Callable, Literal, Sequence' + if self.mname == '_bauiv1' + else 'Any, Callable' + ) + ) ) tc_import_lines_extra = '' if self.mname == '_babase': @@ -842,9 +848,7 @@ class Generator: '' if self.mname == '_babase' # else 'from babase._mgen.enums import TimeFormat, TimeType\n\n' - else '' - if self.mname == '_bascenev1' - else '' + else '' if self.mname == '_bascenev1' else '' ) out = ( get_public_license('python') + '\n' diff --git a/tools/batools/spinoff/_context.py b/tools/batools/spinoff/_context.py index 7efa7dac..d61b7486 100644 --- a/tools/batools/spinoff/_context.py +++ b/tools/batools/spinoff/_context.py @@ -1953,9 +1953,9 @@ class SpinoffContext: else: dst_type = self._dst_entities[dst_path].entity_type if dst_type is not EntityType.SYMLINK: - self._src_error_entities[ - src_path - ] = f'expected symlink; found {dst_type}' + self._src_error_entities[src_path] = ( + f'expected symlink; found {dst_type}' + ) else: # Ok; looks like there's a symlink already there. self._dst_entities_claimed.add(dst_path) @@ -1997,9 +1997,9 @@ class SpinoffContext: else: dst_type = self._dst_entities[dst_path].entity_type if dst_type is not EntityType.FILE: - self._src_error_entities[ - src_path - ] = f'expected file; found {dst_type}' + self._src_error_entities[src_path] = ( + f'expected file; found {dst_type}' + ) else: dst_exists = os.path.isfile(dst_path_full) diff --git a/tools/batools/staging.py b/tools/batools/staging.py index 6b97fbba..5a14ea75 100755 --- a/tools/batools/staging.py +++ b/tools/batools/staging.py @@ -645,9 +645,11 @@ class AssetStager: 'ballisticakit_server.py', outfilename=os.path.join( self.serverdst, - 'ballisticakit_server.py' - if self.win_type is not None - else 'ballisticakit_server', + ( + 'ballisticakit_server.py' + if self.win_type is not None + else 'ballisticakit_server' + ), ), ) _stage_server_file( diff --git a/tools/efro/dataclassio/_inputter.py b/tools/efro/dataclassio/_inputter.py index 0e19cba3..b2e28ddb 100644 --- a/tools/efro/dataclassio/_inputter.py +++ b/tools/efro/dataclassio/_inputter.py @@ -534,42 +534,6 @@ class _Inputter: for i in value ) - def _datetime_from_input( - self, cls: type, fieldpath: str, value: Any, ioattrs: IOAttrs | None - ) -> Any: - # For firestore we expect a datetime object. - if self._codec is Codec.FIRESTORE: - # Don't compare exact type here, as firestore can give us - # a subclass with extended precision. - if not isinstance(value, datetime.datetime): - raise TypeError( - f'Invalid input value for "{fieldpath}" on' - f' "{cls.__name__}";' - f' expected a datetime, got a {type(value).__name__}' - ) - check_utc(value) - return value - - assert self._codec is Codec.JSON - - # We expect a list of 7 ints. - if type(value) is not list: - raise TypeError( - f'Invalid input value for "{fieldpath}" on "{cls.__name__}";' - f' expected a list, got a {type(value).__name__}' - ) - if len(value) != 7 or not all(isinstance(x, int) for x in value): - raise ValueError( - f'Invalid input value for "{fieldpath}" on "{cls.__name__}";' - f' expected a list of 7 ints, got {[type(v) for v in value]}.' - ) - out = datetime.datetime( # type: ignore - *value, tzinfo=datetime.timezone.utc - ) - if ioattrs is not None: - ioattrs.validate_datetime(out, fieldpath) - return out - def _tuple_from_input( self, cls: type, @@ -620,3 +584,39 @@ class _Inputter: assert len(out) == len(childanntypes) return tuple(out) + + def _datetime_from_input( + self, cls: type, fieldpath: str, value: Any, ioattrs: IOAttrs | None + ) -> Any: + # For firestore we expect a datetime object. + if self._codec is Codec.FIRESTORE: + # Don't compare exact type here, as firestore can give us + # a subclass with extended precision. + if not isinstance(value, datetime.datetime): + raise TypeError( + f'Invalid input value for "{fieldpath}" on' + f' "{cls.__name__}";' + f' expected a datetime, got a {type(value).__name__}' + ) + check_utc(value) + return value + + assert self._codec is Codec.JSON + + # We expect a list of 7 ints. + if type(value) is not list: + raise TypeError( + f'Invalid input value for "{fieldpath}" on "{cls.__name__}";' + f' expected a list, got a {type(value).__name__}' + ) + if len(value) != 7 or not all(isinstance(x, int) for x in value): + raise ValueError( + f'Invalid input value for "{fieldpath}" on "{cls.__name__}";' + f' expected a list of 7 ints, got {[type(v) for v in value]}.' + ) + out = datetime.datetime( # type: ignore + *value, tzinfo=datetime.timezone.utc + ) + if ioattrs is not None: + ioattrs.validate_datetime(out, fieldpath) + return out diff --git a/tools/efro/dataclassio/_outputter.py b/tools/efro/dataclassio/_outputter.py index 216b11d9..66089eb0 100644 --- a/tools/efro/dataclassio/_outputter.py +++ b/tools/efro/dataclassio/_outputter.py @@ -12,6 +12,7 @@ from enum import Enum import dataclasses import typing import types +import json import datetime from typing import TYPE_CHECKING, cast, Any @@ -330,19 +331,54 @@ class _Outputter: f' data type(s) not supported by the' f' specified codec ({self._codec.name}).' ) - return list(value) if self._create else None + # We output json-friendly values so this becomes a list. + # We need to sort the list so our output is + # deterministic and can be meaningfully compared with + # others, across processes, etc. + # + # Since we don't know what types we've got here, we + # guarantee sortability by dumping each value to a json + # string (itself with keys sorted) and using that as the + # value's sorting key. Not efficient but it works. A + # good reason to avoid set[Any] though. Perhaps we + # should just disallow it altogether. + return ( + sorted(value, key=lambda v: json.dumps(v, sort_keys=True)) + if self._create + else None + ) # We contain elements of some specified type. assert len(childanntypes) == 1 if self._create: - # Note: we output json-friendly values so this becomes - # a list. - return [ - self._process_value( - cls, fieldpath, childanntypes[0], x, ioattrs - ) - for x in value - ] + # We output json-friendly values so this becomes a list. + # We need to sort the list so our output is + # deterministic and can be meaningfully compared with + # others, across processes, etc. + # + # In this case we have a single concrete type, and for + # most incarnations of that (str, int, etc.) we can just + # sort our final output. For more complex cases, + # however, such as optional values or dataclasses, we + # need to convert everything to a json string (itself + # with keys sorted) and sort based on those strings. + # This is probably a good reason to avoid sets + # containing dataclasses or optional values. Perhaps we + # should just disallow those. + return sorted( + ( + self._process_value( + cls, fieldpath, childanntypes[0], x, ioattrs + ) + for x in value + ), + key=( + None + if childanntypes[0] in [str, int, float, bool] + else lambda v: json.dumps(v, sort_keys=True) + ), + ) + for x in value: self._process_value( cls, fieldpath, childanntypes[0], x, ioattrs diff --git a/tools/efro/debug.py b/tools/efro/debug.py index 1f9b8b90..8262a34c 100644 --- a/tools/efro/debug.py +++ b/tools/efro/debug.py @@ -14,12 +14,17 @@ from __future__ import annotations import gc import sys +import time import types +import weakref +import threading from typing import TYPE_CHECKING if TYPE_CHECKING: from typing import Any, TextIO + from logging import Logger + ABS_MAX_LEVEL = 10 # NOTE: In general we want this toolset to allow us to explore @@ -344,3 +349,170 @@ def _printrefs( expand_ids=expand_ids, file=file, ) + + +class DeadlockDumper: + """Dumps thread states if still around after timeout seconds. + + This uses low level Python functionality so should still fire + even in the case of deadlock. + """ + + # faulthandler has a single traceback-dump-later state, so only + # one of us can control it at a time. + lock = threading.Lock() + watch_in_progress = False + + def __init__(self, timeout: float) -> None: + import faulthandler + + cls = type(self) + + with cls.lock: + if cls.watch_in_progress: + print( + 'Existing DeadlockDumper found; new one will be a no-op.', + file=sys.stderr, + ) + self.active = False + return + + # Ok; no watch is in progress; we can be the active one. + cls.watch_in_progress = True + self.active = True + faulthandler.dump_traceback_later(timeout=timeout) + + def __del__(self) -> None: + import faulthandler + + cls = type(self) + + # If we made it to here, call off the dump. But only if we are + # the active dump. + if self.active: + faulthandler.cancel_dump_traceback_later() + cls.watch_in_progress = False + + +class DeadlockWatcher: + """Individual watcher for deadlock conditions. + + Use the enable_deadlock_watchers() to enable this system. + + Next, create these in contexts where they will be torn down after + some operation completes. If any is not torn down within the + timeout period, a traceback of all threads will be dumped. + + Note that the checker thread runs a cycle every ~5 seconds, so + something stuck needs to remain stuck for 5 seconds or so to be + caught for sure. + """ + + watchers_lock: threading.Lock | None = None + watchers: list[weakref.ref[DeadlockWatcher]] | None = None + + def __init__( + self, + timeout: float = 10.0, + logger: Logger | None = None, + logextra: dict | None = None, + ) -> None: + # pylint: disable=not-context-manager + cls = type(self) + if cls.watchers_lock is None or cls.watchers is None: + print( + 'DeadlockWatcher created without watchers enabled.', + file=sys.stderr, + ) + return + + # All we do is record when we were made and how long till we + # expire. + self.create_time = time.monotonic() + self.timeout = timeout + self.noted_expire = False + self.logger = logger + self.logextra = logextra + + with cls.watchers_lock: + cls.watchers.append(weakref.ref(self)) + + @classmethod + def enable_deadlock_watchers(cls) -> None: + """Spins up deadlock-watcher functionality. + + Must be explicitly called before any DeadlockWatchers are + created. + """ + assert cls.watchers_lock is None + cls.watchers_lock = threading.Lock() + assert cls.watchers is None + cls.watchers = [] + + threading.Thread( + target=cls._deadlock_watcher_thread_main, daemon=True + ).start() + + @classmethod + def _deadlock_watcher_thread_main(cls) -> None: + # pylint: disable=not-context-manager + # pylint: disable=not-an-iterable + assert cls.watchers_lock is not None and cls.watchers is not None + + # Spin in a loop checking our watchers periodically and dumping + # state if any have timed out. The trick here is that we don't + # explicitly dump state, but rather we set up a "dead man's + # switch" that does so after some amount of time if we don't + # explicitly cancel it. This way we'll hopefully get state dumps + # even for things like total GIL deadlocks. + while True: + + # Set a dead man's switch for this pass. + dumper = DeadlockDumper(timeout=5.171) + + # Sleep most of the way through it but give ourselves time + # to turn it off if we're still responsive. + time.sleep(4.129) + now = time.monotonic() + + found_fresh_expired = False + + # If any watcher is still alive but expired, sleep past the + # timeout to force the dumper to do its thing. + with cls.watchers_lock: + + for wref in cls.watchers: + w = wref() + if ( + w is not None + and now - w.create_time > w.timeout + and not w.noted_expire + ): + # If they supplied a logger, let them know they + # should check stderr for a dump. + if w.logger is not None: + w.logger.error( + 'DeadlockWatcher with time %.2f expired;' + ' check stderr for stack traces.', + w.timeout, + extra=w.logextra, + ) + found_fresh_expired = True + w.noted_expire = True + + # Important to clear this ref; otherwise we can keep + # a random watcher alive until our next time through. + w = None + + # Prune dead watchers and reset for the next pass. + cls.watchers = [w for w in cls.watchers if w() is not None] + + if found_fresh_expired: + # Push us over the dumper time limit which give us a + # lovely dump. Technically we could just do an immediate + # dump here instead, but that would give us two paths to + # maintain instead of this single one. + time.sleep(2.0) + + # Call off the dump if it hasn't happened yet. + del dumper