From 091b36994296774aaeb2835682bf0fe6bb7af38f Mon Sep 17 00:00:00 2001 From: Eric Froemling Date: Sat, 18 Jan 2025 12:19:07 -0800 Subject: [PATCH] players running this version or newer get a 10 percent league score bonus (replaces pro bonus) --- .efrocachemap | 60 ++++++------- CHANGELOG.md | 2 +- .../ba_data/python/baclassic/_accountv1.py | 6 +- src/assets/ba_data/python/baenv.py | 2 +- .../python/bauiv1lib/league/rankwindow.py | 86 ++++++++++--------- src/assets/ba_data/python/bauiv1lib/party.py | 22 ++++- src/ballistica/shared/ballistica.cc | 2 +- 7 files changed, 102 insertions(+), 78 deletions(-) diff --git a/.efrocachemap b/.efrocachemap index 71c0d14b..47882764 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -432,7 +432,7 @@ "build/assets/ba_data/audio/zoeOw.ogg": "b2d705c31c9dcc1efdc71394764c3beb", "build/assets/ba_data/audio/zoePickup01.ogg": "e9366dc2d2b8ab8b0c4e2c14c02d0789", "build/assets/ba_data/audio/zoeScream01.ogg": "903e0e45ee9b3373e9d9ce20c814374e", - "build/assets/ba_data/data/langdata.json": "d0cd6dc622b1270b296722fad38dd229", + "build/assets/ba_data/data/langdata.json": "5e1dccd1106faa1a8b0d2c1cb15429dd", "build/assets/ba_data/data/languages/arabic.json": "32b9849fb8389b8c7798f0b744620318", "build/assets/ba_data/data/languages/belarussian.json": "009b452aa308bf2b2f7e92d9b78ba5ff", "build/assets/ba_data/data/languages/chinese.json": "168b529f2d55d714886be57f162f6842", @@ -441,12 +441,12 @@ "build/assets/ba_data/data/languages/czech.json": "3418bee44e69be13b7f72996abe96921", "build/assets/ba_data/data/languages/danish.json": "8e57db30c5250df2abff14a822f83ea7", "build/assets/ba_data/data/languages/dutch.json": "4ba5bbcc0fecddd0aac6ee2c165d1e40", - "build/assets/ba_data/data/languages/english.json": "3fadacf666ee8578454b32f0cca4b90d", + "build/assets/ba_data/data/languages/english.json": "739c318260ddd4cff781cba50d5cab1c", "build/assets/ba_data/data/languages/esperanto.json": "0e397cfa5f3fb8cef5f4a64f21cda880", "build/assets/ba_data/data/languages/filipino.json": "1894fc331dcad7ce9cf4c180843f548f", "build/assets/ba_data/data/languages/french.json": "6d20655730b1017ef187fd828b91d43c", "build/assets/ba_data/data/languages/german.json": "bc656f1ada467161c23546f48d0dacc5", - "build/assets/ba_data/data/languages/gibberish.json": "640231f8f1eb01e4d617889abf3c25e4", + "build/assets/ba_data/data/languages/gibberish.json": "067479eeefd6508bc4d1019b7ff92017", "build/assets/ba_data/data/languages/greek.json": "d28d1092fbb00ed857cbd53124c0dc78", "build/assets/ba_data/data/languages/hindi.json": "567e6976b3c72f891431ad7fcc62ab16", "build/assets/ba_data/data/languages/hungarian.json": "af801baffb2c06460635dfb04c34bb3e", @@ -457,16 +457,16 @@ "build/assets/ba_data/data/languages/persian.json": "517217e679c768fff4ffec7f8000ab77", "build/assets/ba_data/data/languages/piratespeak.json": "be23decfaf220b3aa3de3cf35e59b420", "build/assets/ba_data/data/languages/polish.json": "993b612c5854fc42a78726ed09c65251", - "build/assets/ba_data/data/languages/portuguese.json": "f034d8099298b56792d4e0e41c5c34a0", + "build/assets/ba_data/data/languages/portuguese.json": "66fbf94a6ee7b2bc0d9efd6056302078", "build/assets/ba_data/data/languages/romanian.json": "b04345d8c7631d657a69c73eb7be755a", "build/assets/ba_data/data/languages/russian.json": "eca8fe1ef8343aee559e49c49805b850", "build/assets/ba_data/data/languages/serbian.json": "623fa4129a1154c2f32ed7867e56ff6a", "build/assets/ba_data/data/languages/slovak.json": "c11c29708b3742cdc2a92b4fa0d6d29f", - "build/assets/ba_data/data/languages/spanish.json": "fc68307ff25bb8ef93cf168ac4524e19", + "build/assets/ba_data/data/languages/spanish.json": "c59f1f14083037b1ba48ffa0f12678ab", "build/assets/ba_data/data/languages/swedish.json": "3b179e7333183c70adb0811246b09959", "build/assets/ba_data/data/languages/tamil.json": "ead39b864228696a9b0d19344bc4b5ec", "build/assets/ba_data/data/languages/thai.json": "383540a1e9c7c131ac579f51afc87471", - "build/assets/ba_data/data/languages/turkish.json": "1415bdb746551f0a24f0e675304dfe07", + "build/assets/ba_data/data/languages/turkish.json": "974f54f3d2b4c4e8613de177e5d401f7", "build/assets/ba_data/data/languages/ukrainian.json": "0db55824759119aca74d2ee8ffe6daae", "build/assets/ba_data/data/languages/venetian.json": "e0666c6a1db1792d895fcb250e59861b", "build/assets/ba_data/data/languages/vietnamese.json": "017d8aa346d0c23a229a8a9acccf79a1", @@ -4174,22 +4174,22 @@ "build/assets/windows/Win32/ucrtbased.dll": "bfd1180c269d3950b76f35a63655e9e1", "build/assets/windows/Win32/vc_redist.x86.exe": "15a5f1f876503885adbdf5b3989b3718", "build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599", - "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "6f882d6748b3e5c92eb099f3b0b29837", - "build/prefab/full/linux_arm64_gui/release/ballisticakit": "0579a815f9f582dbf69e73da3e51500d", - "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "aa04b11644160c8338052938ffbb7d8e", - "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "9086d02dd9c39a9d95139b49d2f404a1", - "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "14229b8337f1a4b9bf65f55a54a88937", - "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "eac49802c4b77d1e341ee5dfe052663c", - "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "916b96eb3ccd5f44e77e052559fe6e32", - "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "06d13234688c95918472888b6778dbd4", - "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "caaad53329bad3d2b16d109cc5b2e37e", - "build/prefab/full/mac_arm64_gui/release/ballisticakit": "70b4672871efd3d57b6f2d15ff1341bc", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "f0afdeee1f22d35e942a54ae86a1dd74", - "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "78019c91c31e36752bc2cb2bcf482f1e", - "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "93343b1e04752845eef31900d618e380", - "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "6b3c2f6d1d59ff8af390a99795fbcc7e", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "9e7c2c5f38fb94211af69bce5e4ea1de", - "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "84c841a74a457ac69ec654363084a248", + "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "31209ca509f46fde3450eb8b7a39a520", + "build/prefab/full/linux_arm64_gui/release/ballisticakit": "03ec26492ef7dc28370cbb7f9902b0b9", + "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "9331d3a163409aa08b5b1e681d923231", + "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "7aeb21b72648fa81d27d18251fb60f68", + "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "cecba50ac68398a3c4f8ddbaa9211d48", + "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "683ff26a659c420a3738b5c58e17b37e", + "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "5e2f2dc71bd451900d7ece96e098dc00", + "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "4745da922028681b1b5cc63a584030b3", + "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "a6527c54deee04b51029b1023a0b27fd", + "build/prefab/full/mac_arm64_gui/release/ballisticakit": "c6ceb3702ea22a2e187145a86bd51a13", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "4ee039201fdaa4c9a5afbefd5a31c064", + "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "15f71fc2ee8e71c657c159edceaec719", + "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "1a56770399e5f6c91c25be77a68f38da", + "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "bcb3448df41f7a7e91f2823e55253a57", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "6805beb9c0d1f967fe6a4344b5735aad", + "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "b15bc3743c8021d1069568071e734a13", "build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "cbacac5a846cf8a0f6db760aaddcd13a", "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "3d16bac10d8f15bac7fe20e3a927b275", "build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "cbacac5a846cf8a0f6db760aaddcd13a", @@ -4202,14 +4202,14 @@ "build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "7dd182733a34da0ca5f5c97e5cb0b7f0", "build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "6121591b94d920ee541194b65d93958a", "build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "7dd182733a34da0ca5f5c97e5cb0b7f0", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "15fe85e4facbf3799b234098d8f51534", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "bf5ff0b1826dac5bb9af5731805a1b0b", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "142b2b2069ffa72525e8151fb7e4a695", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "183266996ae2a53c9d555d8e1e9aaabe", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "ffa58d5514f78d47b749aa62378244a3", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "78dbe3b34535192fb2c9fbd70a61466b", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "4af3444c3917b7a2e5f937a639af9782", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "669f40763a85163af67e460c393ddb6a", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "c512e7bacb6c8654b517a38604e0ccf2", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "21b911b0ee5e354d25e8acf740140188", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "6313af7210edecf7e9cf026550bbb161", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "dc7d359250c39d0e636da2bf7d859deb", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "4c4c93e32beb69743b63f963748e1136", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "70f5185b13ab6e799dbfc9bdd0a9e997", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "f6adec2b792bc36c2cea2b395e827471", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "e674baf0049c634e6342cae5a266b567", "src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c", "src/assets/ba_data/python/babase/_mgen/enums.py": "794d258d59fd17a61752843a9a0551ad", "src/ballistica/base/mgen/pyembed/binding_base.inc": "06042d31df0ff9af96b99477162e2a91", diff --git a/CHANGELOG.md b/CHANGELOG.md index 2182bbb2..0430af6a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 1.7.37 (build 22200, api 9, 2025-01-17) +### 1.7.37 (build 22202, api 9, 2025-01-18) - Bumping api version to 9. As you'll see below, there's some UI changes that will require a bit of work for any UI mods to adapt to. If your mods don't touch UI stuff at all you can simply bump your api version and call it a day. diff --git a/src/assets/ba_data/python/baclassic/_accountv1.py b/src/assets/ba_data/python/baclassic/_accountv1.py index dcd14333..5508a90d 100644 --- a/src/assets/ba_data/python/baclassic/_accountv1.py +++ b/src/assets/ba_data/python/baclassic/_accountv1.py @@ -125,7 +125,11 @@ class AccountV1Subsystem: if subset is not None: raise ValueError('invalid subset value: ' + str(subset)) - if data['p']: + # We used to give this bonus for pro, but on recent versions of + # the game give it for everyone (since we are phasing out Pro). + + # if data['p']: + if bool(True): if babase.app.plus is None: pro_mult = 1.0 else: diff --git a/src/assets/ba_data/python/baenv.py b/src/assets/ba_data/python/baenv.py index 3ac2befa..472ab2c4 100644 --- a/src/assets/ba_data/python/baenv.py +++ b/src/assets/ba_data/python/baenv.py @@ -53,7 +53,7 @@ if TYPE_CHECKING: # Build number and version of the ballistica binary we expect to be # using. -TARGET_BALLISTICA_BUILD = 22200 +TARGET_BALLISTICA_BUILD = 22202 TARGET_BALLISTICA_VERSION = '1.7.37' diff --git a/src/assets/ba_data/python/bauiv1lib/league/rankwindow.py b/src/assets/ba_data/python/bauiv1lib/league/rankwindow.py index 2fefede4..b5738453 100644 --- a/src/assets/ba_data/python/bauiv1lib/league/rankwindow.py +++ b/src/assets/ba_data/python/bauiv1lib/league/rankwindow.py @@ -33,7 +33,7 @@ class LeagueRankWindow(bui.MainWindow): self._league_rank_data: dict[str, Any] | None = None self._power_ranking_achievements_button: bui.Widget | None = None - self._pro_mult_button: bui.Widget | None = None + self._up_to_date_bonus_button: bui.Widget | None = None self._power_ranking_trophies_button: bui.Widget | None = None self._league_title_text: bui.Widget | None = None self._league_text: bui.Widget | None = None @@ -160,13 +160,14 @@ class LeagueRankWindow(bui.MainWindow): self._requested_season: str | None = None self._season: str | None = None - # take note of our account state; we'll refresh later if this changes + # Take note of our account state; we'll refresh later if this + # changes. self._account_state = plus.get_v1_account_state() self._refresh() self._restore_state() - # if we've got cached power-ranking data already, display it + # If we've got cached power-ranking data already, display it. assert bui.app.classic is not None info = bui.app.classic.accounts.get_cached_league_rank_data() if info is not None: @@ -239,14 +240,14 @@ class LeagueRankWindow(bui.MainWindow): origin_widget=self._activity_mult_button, ) - def _on_pro_mult_press(self) -> None: + def _on_up_to_date_bonus_press(self) -> None: from bauiv1lib import confirm plus = bui.app.plus assert plus is not None txt = bui.Lstr( - resource='coopSelectWindow.proMultInfoText', + resource='league.upToDateBonusDescriptionText', subs=[ ( '${PERCENT}', @@ -256,13 +257,6 @@ class LeagueRankWindow(bui.MainWindow): ) ), ), - ( - '${PRO}', - bui.Lstr( - resource='store.bombSquadProNameText', - subs=[('${APP_NAME}', bui.Lstr(resource='titleText'))], - ), - ), ], ) confirm.ConfirmWindow( @@ -270,7 +264,7 @@ class LeagueRankWindow(bui.MainWindow): cancel_button=False, width=460, height=130, - origin_widget=self._pro_mult_button, + origin_widget=self._up_to_date_bonus_button, ) def _on_trophies_press(self) -> None: @@ -292,7 +286,8 @@ class LeagueRankWindow(bui.MainWindow): ) -> None: self._doing_power_ranking_query = False - # Important: *only* cache this if we requested the current season. + # Important: *only* cache this if we requested the current + # season. if data is not None and data.get('s', None) is None: assert bui.app.classic is not None bui.app.classic.accounts.cache_league_rank_data(data) @@ -321,8 +316,8 @@ class LeagueRankWindow(bui.MainWindow): if not self._doing_power_ranking_query: self._last_power_ranking_query_time = None - # Send off a new power-ranking query if its been long enough or our - # requested season has changed or whatnot. + # Send off a new power-ranking query if its been long enough or + # our requested season has changed or whatnot. if not self._doing_power_ranking_query and ( self._last_power_ranking_query_time is None or cur_time - self._last_power_ranking_query_time > 30.0 @@ -354,7 +349,7 @@ class LeagueRankWindow(bui.MainWindow): plus = bui.app.plus assert plus is not None - # (re)create the sub-container if need be.. + # (Re)create the sub-container if need be. if self._subcontainer is not None: self._subcontainer.delete() self._subcontainer = bui.containerwidget( @@ -497,24 +492,26 @@ class LeagueRankWindow(bui.MainWindow): else: self._activity_mult_button = None - self._pro_mult_button = bui.buttonwidget( + self._up_to_date_bonus_button = bui.buttonwidget( parent=w_parent, position=(self._xoffs + h2 - 60, v2 + 10), size=(200, 60), icon=bui.gettexture('logo'), icon_color=(0.3, 0, 0.3), - label=bui.Lstr( - resource='store.bombSquadProNameText', - subs=[('${APP_NAME}', bui.Lstr(resource='titleText'))], - ), + # label='Up-To-Date Bonus', + label=bui.Lstr(resource='league.upToDateBonusText'), + # label=bui.Lstr( + # resource='store.bombSquadProNameText', + # subs=[('${APP_NAME}', bui.Lstr(resource='titleText'))], + # ), autoselect=True, - on_activate_call=bui.WeakCall(self._on_pro_mult_press), + on_activate_call=bui.WeakCall(self._on_up_to_date_bonus_press), left_widget=self._back_button, color=(0.5, 0.5, 0.6), textcolor=(0.7, 0.7, 0.8), ) - self._pro_mult_text = bui.textwidget( + self._up_to_date_bonus_text = bui.textwidget( parent=w_parent, position=(self._xoffs + h2 + h_offs_tally, v2 + 40), size=(0, 0), @@ -712,8 +709,6 @@ class LeagueRankWindow(bui.MainWindow): assert plus is not None our_login_id = plus.get_v1_account_public_login_id() - # our_login_id = _bs.get_account_misc_read_val_2( - # 'resolvedAccountID', None) if not self._can_do_more_button or our_login_id is None: bui.getsound('error').play() bui.screenmessage( @@ -767,8 +762,8 @@ class LeagueRankWindow(bui.MainWindow): status_text = num_text.replace('${NUMBER}', str(data['rank'])) elif data is not None: try: - # handle old seasons where we didn't wind up ranked - # at the end.. + # Handle old seasons where we didn't wind up ranked at + # the end. if not data['scores']: status_text = ( self._rdict.powerRankingFinishedSeasonUnrankedText @@ -811,7 +806,7 @@ class LeagueRankWindow(bui.MainWindow): did_first = False self._is_current_season = False if data is not None: - # build our list of seasons we have available + # Build our list of seasons we have available. for ssn in data['sl']: season_choices.append(ssn) if ssn != 'a' and not did_first: @@ -822,8 +817,9 @@ class LeagueRankWindow(bui.MainWindow): ) ) did_first = True - # if we either did not specify a season or specified the - # first, we're looking at the current.. + + # If we either did not specify a season or specified + # the first, we're looking at the current. if self._season in [ssn, None]: self._is_current_season = True elif ssn == 'a': @@ -1007,7 +1003,12 @@ class LeagueRankWindow(bui.MainWindow): text='x ' + ('%.2f' % data['act']), ) - have_pro = False if data is None else data['p'] + # This used to be a bonus for 'BombSquad Pro' holders, but since + # we're transitioning away from that it is now a bonus for + # everyone running a recent-ish version of the game. + + # have_pro = False if data is None else data['p'] + have_up_to_date_bonus = data is not None pro_mult = ( 1.0 + float( @@ -1015,19 +1016,20 @@ class LeagueRankWindow(bui.MainWindow): ) * 0.01 ) - # pylint: disable=consider-using-f-string bui.textwidget( - edit=self._pro_mult_text, + edit=self._up_to_date_bonus_text, text=( ' -' - if (data is None or not have_pro) - else 'x ' + ('%.2f' % pro_mult) + if (data is None or not have_up_to_date_bonus) + else f'x {pro_mult:.2f}' ), ) bui.buttonwidget( - edit=self._pro_mult_button, - textcolor=(0.7, 0.7, 0.8, (1.0 if have_pro else 0.5)), - icon_color=(0.5, 0, 0.5) if have_pro else (0.5, 0, 0.5, 0.2), + edit=self._up_to_date_bonus_button, + textcolor=(0.7, 0.7, 0.8, (1.0 if have_up_to_date_bonus else 0.5)), + icon_color=( + (0.5, 0, 0.5) if have_up_to_date_bonus else (0.5, 0, 0.5, 0.2) + ), ) bui.buttonwidget( edit=self._power_ranking_achievements_button, @@ -1035,8 +1037,8 @@ class LeagueRankWindow(bui.MainWindow): + bui.Lstr(resource='achievementsText').evaluate(), ) - # for the achievement value, use the number they gave us for - # non-current seasons; otherwise calc our own + # For the achievement value, use the number they gave us for + # non-current seasons; otherwise calc our own. total_ach_value = 0 for ach in bui.app.classic.ach.achievements: if ach.complete: @@ -1168,7 +1170,7 @@ class LeagueRankWindow(bui.MainWindow): def _on_season_change(self, value: str) -> None: self._requested_season = value - self._last_power_ranking_query_time = None # make sure we update asap + self._last_power_ranking_query_time = None # Update asap. self._update(show=True) def _save_state(self) -> None: diff --git a/src/assets/ba_data/python/bauiv1lib/party.py b/src/assets/ba_data/python/bauiv1lib/party.py index 23b5f27c..65dbfd4a 100644 --- a/src/assets/ba_data/python/bauiv1lib/party.py +++ b/src/assets/ba_data/python/bauiv1lib/party.py @@ -112,9 +112,22 @@ class PartyWindow(bui.Window): self._empty_str = bui.textwidget( parent=self._root_widget, - scale=0.75, + scale=0.6, size=(0, 0), - position=(self._width * 0.5, self._height - 65), + # color=(0.5, 1.0, 0.5), + shadow=0.3, + position=(self._width * 0.5, self._height - 57), + maxwidth=self._width * 0.85, + h_align='center', + v_align='center', + ) + self._empty_str_2 = bui.textwidget( + parent=self._root_widget, + scale=0.5, + size=(0, 0), + color=(0.5, 1.0, 0.5), + shadow=0.1, + position=(self._width * 0.5, self._height - 75), maxwidth=self._width * 0.85, h_align='center', v_align='center', @@ -297,6 +310,10 @@ class PartyWindow(bui.Window): edit=self._empty_str, text=bui.Lstr(resource=f'{self._r}.emptyText'), ) + bui.textwidget( + edit=self._empty_str_2, + text=bui.Lstr(resource='gatherWindow.descriptionShortText'), + ) bui.scrollwidget( edit=self._scrollwidget, size=( @@ -437,6 +454,7 @@ class PartyWindow(bui.Window): ) ) bui.textwidget(edit=self._empty_str, text='') + bui.textwidget(edit=self._empty_str_2, text='') bui.scrollwidget( edit=self._scrollwidget, size=( diff --git a/src/ballistica/shared/ballistica.cc b/src/ballistica/shared/ballistica.cc index 52c5fabc..68539b58 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 = 22200; +const int kEngineBuildNumber = 22202; const char* kEngineVersion = "1.7.37"; const int kEngineApiVersion = 9;