diff --git a/.efrocachemap b/.efrocachemap index dc6ed637..ab705935 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -4072,50 +4072,50 @@ "build/assets/workspace/ninjafightplug.py": "https://files.ballistica.net/cache/ba1/c5/09/4f10b8a21ba87aa5509cff7a164b", "build/assets/workspace/onslaughtplug.py": "https://files.ballistica.net/cache/ba1/ff/0a/a354984f9c074dab0676ac7e4877", "build/assets/workspace/runaroundplug.py": "https://files.ballistica.net/cache/ba1/2a/1c/9ee5db6d1bceca7fa6638fb8abde", - "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/eb/29/0e618578a3685adf8fb04f4dee7d", - "build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/70/db/0ffd4749f048c72d183042e247ee", - "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/b3/36/5eea5641d52a06781aebc080bb1f", - "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/e5/63/a10937d07789b673348e80ac154e", - "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/9b/46/f0162e131c95ad16d8ea7b3c1e8a", - "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/ff/ff/31df1d157f5327e6f8102ce2ace4", - "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/2e/b6/8162bcfad6d314a40a7bd3525690", - "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/d4/90/505f4d2b7f50518878e2636c6ecc", - "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/23/64/0972ecd8f7807b81f9bd45dd6f7d", - "build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/fa/0a/9e035d71823e1b4ca13f18885941", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/31/3d/bd4943dec572fc96b79bd3a21318", - "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/e7/f5/83b8ddba0d8b835883a067401df7", - "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/fc/53/872e739ffc532402c5ce84c5bedc", - "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/25/2b/2cfa1a686cb07ad02e375798cdcc", - "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/8e/d9/a3dc7d79adbf07b71c4b8114991d", - "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/b6/f0/4d8abadd123afbfd472554c61f97", - "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/49/75/7150511fb343de9e849dff8a53ed", - "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/0b/0c/0d81d9e7acf1521ae1d9d828befe", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/14/ec/2406d58deefe9c528223be3f1dad", - "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/e2/8a/3bed3a20ddf0e34f7c1859112af3", - "build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/86/b8/5aaa1f826bdb5abe5ad57b0fc0c9", - "build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/d4/8e/70f425b0259655a3efe710846cce", - "build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/f5/71/9c18e9e43026aa763c5ac6e5b445", - "build/prefab/lib/linux_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/4b/07/1423312234a932b7c5ea637db9a5", - "build/prefab/lib/linux_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/e1/27/653dda9fd039b94b94e814ba100b", - "build/prefab/lib/linux_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/ff/5a/bd40d47925bd6e048a0eafa2e27a", - "build/prefab/lib/linux_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/a9/4c/feef3299178c7c2a32d2e9401927", - "build/prefab/lib/linux_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/22/73/bb4da5b9d266d9995423ff5cee71", - "build/prefab/lib/mac_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/3f/f8/4e2c65178d7f781c6b388a2d07e9", - "build/prefab/lib/mac_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/13/7f/e28a0fe031d9806013aaf92c6b4f", - "build/prefab/lib/mac_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/37/38/0224b9c169e4cfab7f0eae074409", - "build/prefab/lib/mac_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/e5/1b/cbeefe9866cc5b2c26bf42b23a27", - "build/prefab/lib/mac_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/17/de/f5a9ac5976208e0312b4d3a6455e", - "build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/9b/30/f27a1766b6ce7c5dc63c0c5a1f65", - "build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/8e/97/dc049e4ff4ad2c808a6f5c685dc7", - "build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/c1/83/aacd3c0321301d6eaf81eb656456", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/ac/23/d6bc46cecf31b687522c21dfc249", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/d8/87/42f7d8ae59765dfc9fd2785461e8", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/bd/45/c70218464cba8587dbb0b039a620", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/4a/02/a5b4e021a1fc58329d286daeaada", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/59/d7/85fe6d5afb5194d969ff258c8226", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/d1/a0/172e45106d05ddab9a9583f47dad", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/f3/cd/5f1035d7d1c5cdc5d78201316c1f", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/0a/37/2e8d93c187186109f3299c9686d9", + "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/02/08/b2319162d3e45bdbf9b6e60157c8", + "build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/e1/a7/7bd6d0e731eb831b298a4400b835", + "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/d4/b1/e6023d13f8d5e90fe9541a290e4b", + "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/3a/52/3e0cd585d0d6739b01fe8ec9032e", + "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/50/c8/52c1f1c8467ea32056df8928e046", + "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/a8/2e/3a4b6faa127cf64ab8a7760433e7", + "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/d1/57/9ae52124b55a6b1f3f5f4cba7216", + "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/64/5b/fc659b6628076b67f491ca62b174", + "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/3f/4d/9711985938fb8bd5041dc55de46e", + "build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/19/3d/c3a7f04293dae053b57fe06ffe3e", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/69/56/cc294914a71932cb75beb2bb3094", + "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/9e/3c/7804a6c319e322f77135f24999e8", + "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/a7/4e/a64a4b500335fcdb8ae460a60416", + "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/d4/b6/b62a890f316e8a886f49bd576c33", + "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/85/2d/328ea96e4729a7f378803c05c60e", + "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/c6/3e/384a51739fb898ce03e88fd165e9", + "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/5d/0f/ae0078422cbfa2030501db9bf0b5", + "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/97/91/9a9b875d865949c9d6e28b327b86", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/90/2c/1520b8c574430c4dd8168aa46a9f", + "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/c1/f0/e3ff659748399873acb4ede80ffd", + "build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/58/55/b6ae6dd4f3615fa87bb170a43233", + "build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/b9/f8/37285d0ced7794a82534d13c33ac", + "build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/c7/cc/0c5f0afbfa0ddabaea8d5838562a", + "build/prefab/lib/linux_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/95/cb/bd23376108f02e1b0fdbe3b878aa", + "build/prefab/lib/linux_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/cc/78/7e9380defb9cea4e8a69e42d8c05", + "build/prefab/lib/linux_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/50/b8/c87593b43bc1cf4e7bc7cb8c2b12", + "build/prefab/lib/linux_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/71/cf/469e8f60cee5ee8629abe50308a6", + "build/prefab/lib/linux_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/b2/50/d67d896575e16d5a28f933b48482", + "build/prefab/lib/mac_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/33/3a/d246df62f19be9f2a764bd7a013b", + "build/prefab/lib/mac_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/35/65/377250a2a44c8db0c3776ef5bc22", + "build/prefab/lib/mac_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/d7/72/47506e999cceddbc1d0f3aafe1c4", + "build/prefab/lib/mac_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/24/f6/3b47f98ae75b30c1b2babf242830", + "build/prefab/lib/mac_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/90/76/9cfa1c44d742382e5bdab9f0fa54", + "build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/96/2e/1b0ba43fe24fe9cc223a434db647", + "build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/f3/83/581b7df96f6516032a0747b83e15", + "build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/6a/6d/7aaf7617929eeff41bc5a574e6c8", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/c3/00/abea5335d9f30806405451985391", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/bf/f6/a0f57ca4714cdada3469795efa70", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/97/ed/00e71906a026a8b16ed733250177", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/78/5c/9c421525f6a3ed8890d67c0067c0", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/74/33/b42b6e241fa782f6a82292da5fc7", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/4d/f3/0a55b91570b2d9eb40d75317ae3a", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/50/b4/3485d00c1b200dc753a9bef302c3", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/cb/27/82502b5ccea9a47d368e6f8c8c50", "src/assets/ba_data/python/babase/_mgen/__init__.py": "https://files.ballistica.net/cache/ba1/52/c6/c11130af7b10d6c0321add5518fa", "src/assets/ba_data/python/babase/_mgen/enums.py": "https://files.ballistica.net/cache/ba1/38/c3/1dedd5e74f2508efc5974c8815a1", "src/ballistica/base/mgen/pyembed/binding_base.inc": "https://files.ballistica.net/cache/ba1/75/9f/bcf597b362c9f2480cb348188bdd", diff --git a/CHANGELOG.md b/CHANGELOG.md index 5280e85f..184adee6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 1.7.20 (build 21068, api 8, 2023-06-07) +### 1.7.20 (build 21071, api 8, 2023-06-07) - This seems like a good time for a `refactoring` release in anticipation of changes coming in 1.8. Basically this means that a lot of things will be @@ -297,6 +297,8 @@ - (build 21067) Fixed timing bugs in MeteorShower and a few other places caused by incorrect use of `bs.apptime()` there `bs.time()` should have been used (thanks for the heads- up SEBASTIAN2059) +- (build 21070) Fixed an issue where teams series would incorrectly end after 1 + round (thanks for the heads up SEBASTIAN2059) ### 1.7.19 (build 20997, api 7, 2023-01-19) diff --git a/src/assets/ba_data/python/baclassic/_subsystem.py b/src/assets/ba_data/python/baclassic/_subsystem.py index 3352db9d..aa4855f3 100644 --- a/src/assets/ba_data/python/baclassic/_subsystem.py +++ b/src/assets/ba_data/python/baclassic/_subsystem.py @@ -736,66 +736,6 @@ class ClassicSubsystem(AppSubsystem): QuitWindow() - def get_draw_score_screen_activity(self) -> type[bascenev1.Activity]: - """(internal)""" - from bascenev1lib.activity.drawscore import DrawScoreScreenActivity - - return DrawScoreScreenActivity - - def get_team_series_victory_score_screen_activity( - self, - ) -> type[bascenev1.Activity]: - """(internal)""" - from bascenev1lib.activity.multiteamvictory import ( - TeamSeriesVictoryScoreScreenActivity, - ) - - return TeamSeriesVictoryScoreScreenActivity - - def get_team_victory_score_screen_activity( - self, - ) -> type[bascenev1.Activity]: - """(internal)""" - from bascenev1lib.activity.dualteamscore import ( - TeamVictoryScoreScreenActivity, - ) - - return TeamVictoryScoreScreenActivity - - def get_free_for_all_victory_score_screen_activity( - self, - ) -> type[bascenev1.Activity]: - """(internal)""" - from bascenev1lib.activity.freeforallvictory import ( - FreeForAllVictoryScoreScreenActivity, - ) - - return FreeForAllVictoryScoreScreenActivity - - def get_coop_join_activity(self) -> type[bascenev1.Activity]: - """(internal)""" - from bascenev1lib.activity.coopjoin import CoopJoinActivity - - return CoopJoinActivity - - def get_coop_score_screen(self) -> type[bascenev1.Activity]: - """(internal)""" - from bascenev1lib.activity.coopscore import CoopScoreScreen - - return CoopScoreScreen - - def get_multi_team_join_activity(self) -> type[bascenev1.Activity]: - """(internal)""" - from bascenev1lib.activity.multiteamjoin import MultiTeamJoinActivity - - return MultiTeamJoinActivity - - def get_tutorial_activity(self) -> type[bascenev1.Activity]: - """(internal)""" - from bascenev1lib.tutorial import TutorialActivity - - return TutorialActivity - def tournament_entry_window( self, tournament_id: str, diff --git a/src/assets/ba_data/python/baenv.py b/src/assets/ba_data/python/baenv.py index 3f790cbd..0f3320b3 100644 --- a/src/assets/ba_data/python/baenv.py +++ b/src/assets/ba_data/python/baenv.py @@ -28,7 +28,7 @@ if TYPE_CHECKING: # Build number and version of the ballistica binary we expect to be # using. -TARGET_BALLISTICA_BUILD = 21068 +TARGET_BALLISTICA_BUILD = 21071 TARGET_BALLISTICA_VERSION = '1.7.20' _g_env_config: EnvConfig | None = None diff --git a/src/assets/ba_data/python/bascenev1/_coopsession.py b/src/assets/ba_data/python/bascenev1/_coopsession.py index f2ffa5ec..69f3cc87 100644 --- a/src/assets/ba_data/python/bascenev1/_coopsession.py +++ b/src/assets/ba_data/python/bascenev1/_coopsession.py @@ -42,14 +42,13 @@ class CoopSession(Session): def __init__(self) -> None: """Instantiate a co-op mode session.""" # pylint: disable=cyclic-import + from bascenev1lib.activity.coopjoin import CoopJoinActivity _babase.increment_analytics_count('Co-op session start') app = _babase.app classic = app.classic assert classic is not None - coop_join_activity = classic.get_coop_join_activity() - # If they passed in explicit min/max, honor that. # Otherwise defer to user overrides or defaults. if 'min_players' in classic.coop_session_args: @@ -87,7 +86,7 @@ class CoopSession(Session): self._custom_menu_ui: list[dict[str, Any]] = [] # Start our joining screen. - self.setactivity(_bascenev1.newactivity(coop_join_activity)) + self.setactivity(_bascenev1.newactivity(CoopJoinActivity)) self._next_game_instance: bascenev1.GameActivity | None = None self._next_game_level_name: str | None = None @@ -170,8 +169,9 @@ class CoopSession(Session): and self._tutorial_activity is None and not self._ran_tutorial_activity ): - tutorial_activity = classic.get_tutorial_activity() - self._tutorial_activity = _bascenev1.newactivity(tutorial_activity) + from bascenev1lib.tutorial import TutorialActivity + + self._tutorial_activity = _bascenev1.newactivity(TutorialActivity) def get_custom_menu_entries(self) -> list[dict[str, Any]]: return self._custom_menu_ui @@ -275,14 +275,13 @@ class CoopSession(Session): from bascenev1._activitytypes import JoinActivity, TransitionActivity from bascenev1._coopgame import CoopGameActivity from bascenev1._score import ScoreType + from bascenev1lib.activity.coopscore import CoopScoreScreen + from bascenev1lib.tutorial import TutorialActivity app = _babase.app classic = app.classic assert classic is not None - tutorial_activity = classic.get_tutorial_activity() - coop_score_screen = classic.get_coop_score_screen() - # If we're running a TeamGameActivity we'll have a GameResults # as results. Otherwise its an old CoopGameActivity so its giving # us a dict of random stuff. @@ -303,7 +302,7 @@ class CoopSession(Session): # If we're in a between-round activity or a restart-activity, # hop into a round. if isinstance( - activity, (JoinActivity, coop_score_screen, TransitionActivity) + activity, (JoinActivity, CoopScoreScreen, TransitionActivity) ): if outcome == 'next_level': if self._next_game_instance is None: @@ -363,7 +362,7 @@ class CoopSession(Session): # If we were in a tutorial, just pop a transition to get to the # actual round. - elif isinstance(activity, tutorial_activity): + elif isinstance(activity, TutorialActivity): self.setactivity(_bascenev1.newactivity(TransitionActivity)) else: playerinfos: list[bascenev1.PlayerInfo] @@ -430,7 +429,7 @@ class CoopSession(Session): else: self.setactivity( _bascenev1.newactivity( - coop_score_screen, + CoopScoreScreen, { 'playerinfos': playerinfos, 'score': score, diff --git a/src/assets/ba_data/python/bascenev1/_dualteamsession.py b/src/assets/ba_data/python/bascenev1/_dualteamsession.py index 09a38de6..cbc72177 100644 --- a/src/assets/ba_data/python/bascenev1/_dualteamsession.py +++ b/src/assets/ba_data/python/bascenev1/_dualteamsession.py @@ -34,21 +34,19 @@ class DualTeamSession(MultiTeamSession): def _switch_to_score_screen(self, results: bascenev1.GameResults) -> None: # pylint: disable=cyclic-import - classic = _babase.app.classic - assert classic is not None + from bascenev1lib.activity.multiteamvictory import ( + TeamSeriesVictoryScoreScreenActivity, + ) + from bascenev1lib.activity.dualteamscore import ( + TeamVictoryScoreScreenActivity, + ) + from bascenev1lib.activity.drawscore import DrawScoreScreenActivity - draw_score_screen_activity = classic.get_draw_score_screen_activity() - team_victory_score_screen_activity = ( - classic.get_team_series_victory_score_screen_activity() - ) - team_series_victory_score_screen_activity = ( - classic.get_team_series_victory_score_screen_activity() - ) winnergroups = results.winnergroups # If everyone has the same score, call it a draw. if len(winnergroups) < 2: - self.setactivity(_bascenev1.newactivity(draw_score_screen_activity)) + self.setactivity(_bascenev1.newactivity(DrawScoreScreenActivity)) else: winner = winnergroups[0].teams[0] winner.customdata['score'] += 1 @@ -57,13 +55,13 @@ class DualTeamSession(MultiTeamSession): if winner.customdata['score'] >= (self._series_length - 1) / 2 + 1: self.setactivity( _bascenev1.newactivity( - team_series_victory_score_screen_activity, + TeamSeriesVictoryScoreScreenActivity, {'winner': winner}, ) ) else: self.setactivity( _bascenev1.newactivity( - team_victory_score_screen_activity, {'winner': winner} + TeamVictoryScoreScreenActivity, {'winner': winner} ) ) diff --git a/src/assets/ba_data/python/bascenev1/_freeforallsession.py b/src/assets/ba_data/python/bascenev1/_freeforallsession.py index 93dc9703..a9dd139e 100644 --- a/src/assets/ba_data/python/bascenev1/_freeforallsession.py +++ b/src/assets/ba_data/python/bascenev1/_freeforallsession.py @@ -56,16 +56,14 @@ class FreeForAllSession(MultiTeamSession): def _switch_to_score_screen(self, results: bascenev1.GameResults) -> None: # pylint: disable=cyclic-import from efro.util import asserttype + from bascenev1lib.activity.multiteamvictory import ( + TeamSeriesVictoryScoreScreenActivity, + ) + from bascenev1lib.activity.freeforallvictory import ( + FreeForAllVictoryScoreScreenActivity, + ) + from bascenev1lib.activity.drawscore import DrawScoreScreenActivity - classic = _babase.app.classic - assert classic is not None - draw_score_screen_activity = classic.get_draw_score_screen_activity() - team_series_victory_score_screen_activity = ( - classic.get_team_series_victory_score_screen_activity() - ) - free_for_all_victory_score_screen_activity = ( - classic.get_free_for_all_victory_score_screen_activity() - ) winners = results.winnergroups # If there's multiple players and everyone has the same score, @@ -73,7 +71,7 @@ class FreeForAllSession(MultiTeamSession): if len(self.sessionplayers) > 1 and len(winners) < 2: self.setactivity( _bascenev1.newactivity( - draw_score_screen_activity, {'results': results} + DrawScoreScreenActivity, {'results': results} ) ) else: @@ -102,14 +100,14 @@ class FreeForAllSession(MultiTeamSession): ): self.setactivity( _bascenev1.newactivity( - team_series_victory_score_screen_activity, + TeamSeriesVictoryScoreScreenActivity, {'winner': series_winners[0]}, ) ) else: self.setactivity( _bascenev1.newactivity( - free_for_all_victory_score_screen_activity, + FreeForAllVictoryScoreScreenActivity, {'results': results}, ) ) diff --git a/src/assets/ba_data/python/bascenev1/_multiteamsession.py b/src/assets/ba_data/python/bascenev1/_multiteamsession.py index 2899c43d..921c17f7 100644 --- a/src/assets/ba_data/python/bascenev1/_multiteamsession.py +++ b/src/assets/ba_data/python/bascenev1/_multiteamsession.py @@ -41,14 +41,13 @@ class MultiTeamSession(Session): """Set up playlists & launch a bascenev1.Activity to accept joiners.""" # pylint: disable=cyclic-import from bascenev1 import _playlist + from bascenev1lib.activity.multiteamjoin import MultiTeamJoinActivity app = _babase.app classic = app.classic assert classic is not None cfg = app.config - multi_team_join_activity = classic.get_multi_team_join_activity() - if self.use_teams: team_names = cfg.get('Custom Team Names', DEFAULT_TEAM_NAMES) team_colors = cfg.get('Custom Team Colors', DEFAULT_TEAM_COLORS) @@ -74,7 +73,9 @@ class MultiTeamSession(Session): self._tutorial_activity_instance: bascenev1.Activity | None if show_tutorial: - tutorial_activity = classic.get_tutorial_activity() + from bascenev1lib.tutorial import TutorialActivity + + tutorial_activity = TutorialActivity # Get this loading. self._tutorial_activity_instance = _bascenev1.newactivity( @@ -133,7 +134,7 @@ class MultiTeamSession(Session): self._instantiate_next_game() # Start in our custom join screen. - self.setactivity(_bascenev1.newactivity(multi_team_join_activity)) + self.setactivity(_bascenev1.newactivity(MultiTeamJoinActivity)) def get_ffa_series_length(self) -> int: """Return free-for-all series length.""" @@ -175,19 +176,16 @@ class MultiTeamSession(Session): self, activity: bascenev1.Activity, results: Any ) -> None: # pylint: disable=cyclic-import + from bascenev1lib.tutorial import TutorialActivity + from bascenev1lib.activity.multiteamvictory import ( + TeamSeriesVictoryScoreScreenActivity, + ) from bascenev1._activitytypes import ( TransitionActivity, JoinActivity, ScoreScreenActivity, ) - classic = _babase.app.classic - assert classic is not None - tutorial_activity = classic.get_tutorial_activity() - team_series_victory_score_screen_activity = ( - classic.get_team_series_victory_score_screen_activity() - ) - # If we have a tutorial to show, that's the first thing we do no # matter what. if self._tutorial_activity_instance is not None: @@ -197,7 +195,7 @@ class MultiTeamSession(Session): # If we're leaving the tutorial activity, pop a transition activity # to transition us into a round gracefully (otherwise we'd snap from # one terrain to another instantly). - elif isinstance(activity, tutorial_activity): + elif isinstance(activity, TutorialActivity): self.setactivity(_bascenev1.newactivity(TransitionActivity)) # If we're in a between-round activity or a restart-activity, hop @@ -206,7 +204,7 @@ class MultiTeamSession(Session): activity, (JoinActivity, TransitionActivity, ScoreScreenActivity) ): # If we're coming from a series-end activity, reset scores. - if isinstance(activity, team_series_victory_score_screen_activity): + if isinstance(activity, TeamSeriesVictoryScoreScreenActivity): self.stats.reset() self._game_number = 0 for team in self.sessionteams: diff --git a/src/ballistica/shared/ballistica.cc b/src/ballistica/shared/ballistica.cc index b7ad7ac5..a664c9e0 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 = 21068; +const int kEngineBuildNumber = 21071; const char* kEngineVersion = "1.7.20"; auto MonolithicMain(const core::CoreConfig& core_config) -> int {