From 203f659aacad8774715021e991899bb4663dabb4 Mon Sep 17 00:00:00 2001 From: Vishal Date: Thu, 11 Jan 2024 22:21:00 +0530 Subject: [PATCH 1/6] Edit browser.py --- .../ba_data/python/bauiv1lib/coop/browser.py | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/assets/ba_data/python/bauiv1lib/coop/browser.py b/src/assets/ba_data/python/bauiv1lib/coop/browser.py index e9f9b4af..c5efa88c 100644 --- a/src/assets/ba_data/python/bauiv1lib/coop/browser.py +++ b/src/assets/ba_data/python/bauiv1lib/coop/browser.py @@ -290,6 +290,7 @@ class CoopBrowserWindow(bui.Window): self._refresh() self._restore_state() + self._set_campaign_difficulty(self._campaign_difficulty, False) # Even though we might display cached tournament data immediately, we # don't consider it valid until we've pinged. @@ -497,7 +498,11 @@ class CoopBrowserWindow(bui.Window): self._doing_tournament_query = False self._update_for_data(tournament_data) - def _set_campaign_difficulty(self, difficulty: str) -> None: + def _set_campaign_difficulty( + self, + difficulty: str, + check: bool | True + ) -> None: # pylint: disable=cyclic-import from bauiv1lib.purchase import PurchaseWindow @@ -505,13 +510,17 @@ class CoopBrowserWindow(bui.Window): assert plus is not None assert bui.app.classic is not None - if difficulty != self._campaign_difficulty: + #if difficulty != self._campaign_difficulty + if True: if ( difficulty == 'hard' and not bui.app.classic.accounts.have_pro_options() ): - PurchaseWindow(items=['pro']) - return + if check: + PurchaseWindow(items=['pro']) + return + else: + difficulty = 'easy' bui.getsound('gunCocking').play() if difficulty not in ('easy', 'hard'): print('ERROR: invalid campaign difficulty:', difficulty) @@ -557,7 +566,9 @@ class CoopBrowserWindow(bui.Window): button_type='square', autoselect=True, enable_sound=False, - on_activate_call=bui.Call(self._set_campaign_difficulty, 'easy'), + on_activate_call=bui.Call( + self._set_campaign_difficulty, 'easy', True + ), on_select_call=bui.Call(self.sel_change, 'campaign', 'easyButton'), color=sel_color if self._campaign_difficulty == 'easy' @@ -583,7 +594,9 @@ class CoopBrowserWindow(bui.Window): button_type='square', autoselect=True, enable_sound=False, - on_activate_call=bui.Call(self._set_campaign_difficulty, 'hard'), + on_activate_call=bui.Call( + self._set_campaign_difficulty, 'hard', True + ), on_select_call=bui.Call(self.sel_change, 'campaign', 'hardButton'), color=sel_color_hard if self._campaign_difficulty == 'hard' From 7b2879275e46cce7655b0b92ef58d8ce2d688342 Mon Sep 17 00:00:00 2001 From: Vishal Date: Thu, 11 Jan 2024 22:33:03 +0530 Subject: [PATCH 2/6] Update browser.py --- src/assets/ba_data/python/bauiv1lib/coop/browser.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/assets/ba_data/python/bauiv1lib/coop/browser.py b/src/assets/ba_data/python/bauiv1lib/coop/browser.py index c5efa88c..2898a707 100644 --- a/src/assets/ba_data/python/bauiv1lib/coop/browser.py +++ b/src/assets/ba_data/python/bauiv1lib/coop/browser.py @@ -501,7 +501,7 @@ class CoopBrowserWindow(bui.Window): def _set_campaign_difficulty( self, difficulty: str, - check: bool | True + check: bool ) -> None: # pylint: disable=cyclic-import from bauiv1lib.purchase import PurchaseWindow @@ -519,8 +519,7 @@ class CoopBrowserWindow(bui.Window): if check: PurchaseWindow(items=['pro']) return - else: - difficulty = 'easy' + difficulty = 'easy' bui.getsound('gunCocking').play() if difficulty not in ('easy', 'hard'): print('ERROR: invalid campaign difficulty:', difficulty) From bd6e8f9822aef3bff5fbabeb026ac7d797415ed2 Mon Sep 17 00:00:00 2001 From: Vishal Date: Thu, 11 Jan 2024 22:36:47 +0530 Subject: [PATCH 3/6] Update browser.py --- src/assets/ba_data/python/bauiv1lib/coop/browser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/assets/ba_data/python/bauiv1lib/coop/browser.py b/src/assets/ba_data/python/bauiv1lib/coop/browser.py index 2898a707..28281160 100644 --- a/src/assets/ba_data/python/bauiv1lib/coop/browser.py +++ b/src/assets/ba_data/python/bauiv1lib/coop/browser.py @@ -510,7 +510,7 @@ class CoopBrowserWindow(bui.Window): assert plus is not None assert bui.app.classic is not None - #if difficulty != self._campaign_difficulty + #if difficulty != self._campaign_difficulty if True: if ( difficulty == 'hard' From d79b5773f2fcc9492896f68e50503730dd2e016a Mon Sep 17 00:00:00 2001 From: Vishal Date: Fri, 12 Jan 2024 13:14:00 +0530 Subject: [PATCH 4/6] Update browser.py --- .../ba_data/python/bauiv1lib/coop/browser.py | 37 ++++++++++--------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/src/assets/ba_data/python/bauiv1lib/coop/browser.py b/src/assets/ba_data/python/bauiv1lib/coop/browser.py index 28281160..df606c8e 100644 --- a/src/assets/ba_data/python/bauiv1lib/coop/browser.py +++ b/src/assets/ba_data/python/bauiv1lib/coop/browser.py @@ -104,6 +104,19 @@ class CoopBrowserWindow(bui.Window): 'campaignDifficulty', 'easy' ) + if ( + self._campaign_difficulty == 'hard' + and not app.classic.accounts.have_pro_options() + ): + plus.add_v1_account_transaction( + { + 'type': 'SET_MISC_VAL', + 'name': 'campaignDifficulty', + 'value': 'easy', + } + ) + self._campaign_difficulty = 'easy' + super().__init__( root_widget=bui.containerwidget( size=(self._width, self._height + top_extra), @@ -290,7 +303,6 @@ class CoopBrowserWindow(bui.Window): self._refresh() self._restore_state() - self._set_campaign_difficulty(self._campaign_difficulty, False) # Even though we might display cached tournament data immediately, we # don't consider it valid until we've pinged. @@ -498,11 +510,7 @@ class CoopBrowserWindow(bui.Window): self._doing_tournament_query = False self._update_for_data(tournament_data) - def _set_campaign_difficulty( - self, - difficulty: str, - check: bool - ) -> None: + def _set_campaign_difficulty(self, difficulty: str) -> None: # pylint: disable=cyclic-import from bauiv1lib.purchase import PurchaseWindow @@ -510,16 +518,13 @@ class CoopBrowserWindow(bui.Window): assert plus is not None assert bui.app.classic is not None - #if difficulty != self._campaign_difficulty - if True: + if difficulty != self._campaign_difficulty: if ( difficulty == 'hard' and not bui.app.classic.accounts.have_pro_options() ): - if check: - PurchaseWindow(items=['pro']) - return - difficulty = 'easy' + PurchaseWindow(items=['pro']) + return bui.getsound('gunCocking').play() if difficulty not in ('easy', 'hard'): print('ERROR: invalid campaign difficulty:', difficulty) @@ -565,9 +570,7 @@ class CoopBrowserWindow(bui.Window): button_type='square', autoselect=True, enable_sound=False, - on_activate_call=bui.Call( - self._set_campaign_difficulty, 'easy', True - ), + on_activate_call=bui.Call(self._set_campaign_difficulty, 'easy'), on_select_call=bui.Call(self.sel_change, 'campaign', 'easyButton'), color=sel_color if self._campaign_difficulty == 'easy' @@ -593,9 +596,7 @@ class CoopBrowserWindow(bui.Window): button_type='square', autoselect=True, enable_sound=False, - on_activate_call=bui.Call( - self._set_campaign_difficulty, 'hard', True - ), + on_activate_call=bui.Call(self._set_campaign_difficulty, 'hard'), on_select_call=bui.Call(self.sel_change, 'campaign', 'hardButton'), color=sel_color_hard if self._campaign_difficulty == 'hard' From 4fefd20688051f253fbca1b87d13aa12e8e74fa9 Mon Sep 17 00:00:00 2001 From: Vishal Date: Fri, 1 Mar 2024 10:16:31 +0530 Subject: [PATCH 5/6] Fixing CI --- src/assets/ba_data/python/bascenev1/_map.py | 3 +-- .../python/bauiv1lib/playlist/customizebrowser.py | 10 ++++------ .../ba_data/python/bauiv1lib/soundtrack/browser.py | 6 ++++-- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/assets/ba_data/python/bascenev1/_map.py b/src/assets/ba_data/python/bascenev1/_map.py index 832632fc..42b22445 100644 --- a/src/assets/ba_data/python/bascenev1/_map.py +++ b/src/assets/ba_data/python/bascenev1/_map.py @@ -334,8 +334,7 @@ class Map(Actor): closest_player_dist = 9999.0 for ppt in player_pts: dist = (ppt - testpt).length() - if dist < closest_player_dist: - closest_player_dist = dist + closest_player_dist = min(closest_player_dist, dist) if closest_player_dist > farthestpt_dist: farthestpt_dist = closest_player_dist farthestpt = testpt diff --git a/src/assets/ba_data/python/bauiv1lib/playlist/customizebrowser.py b/src/assets/ba_data/python/bauiv1lib/playlist/customizebrowser.py index c5bd8428..145a96eb 100644 --- a/src/assets/ba_data/python/bauiv1lib/playlist/customizebrowser.py +++ b/src/assets/ba_data/python/bauiv1lib/playlist/customizebrowser.py @@ -536,12 +536,10 @@ class PlaylistCustomizeBrowserWindow(bui.Window): # (we don't use len()-1 here because the default list adds one) assert self._selected_playlist_index is not None - if self._selected_playlist_index > len( - bui.app.config[self._pvars.config_name + ' Playlists'] - ): - self._selected_playlist_index = len( - bui.app.config[self._pvars.config_name + ' Playlists'] - ) + self._selected_playlist_index = min( + self._selected_playlist_index, + len(bui.app.config[self._pvars.config_name + ' Playlists']) + ) self._refresh() def _import_playlist(self) -> None: diff --git a/src/assets/ba_data/python/bauiv1lib/soundtrack/browser.py b/src/assets/ba_data/python/bauiv1lib/soundtrack/browser.py index a3b561b4..04b57441 100644 --- a/src/assets/ba_data/python/bauiv1lib/soundtrack/browser.py +++ b/src/assets/ba_data/python/bauiv1lib/soundtrack/browser.py @@ -286,8 +286,10 @@ class SoundtrackBrowserWindow(bui.Window): bui.getsound('shieldDown').play() assert self._selected_soundtrack_index is not None assert self._soundtracks is not None - if self._selected_soundtrack_index >= len(self._soundtracks): - self._selected_soundtrack_index = len(self._soundtracks) + self._selected_soundtrack_index = min( + self._selected_soundtrack_index, + len(self._soundtracks) + ) self._refresh() def _delete_soundtrack(self) -> None: From 1933f67d3d2efd5d6bd7c6dc05abbccca9427c00 Mon Sep 17 00:00:00 2001 From: Vishal Date: Sat, 2 Mar 2024 07:54:51 +0530 Subject: [PATCH 6/6] Fixing conflict --- src/assets/ba_data/python/bascenev1/_map.py | 2 +- .../ba_data/python/bauiv1lib/playlist/customizebrowser.py | 2 +- src/assets/ba_data/python/bauiv1lib/soundtrack/browser.py | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/assets/ba_data/python/bascenev1/_map.py b/src/assets/ba_data/python/bascenev1/_map.py index 42b22445..5ace08e2 100644 --- a/src/assets/ba_data/python/bascenev1/_map.py +++ b/src/assets/ba_data/python/bascenev1/_map.py @@ -334,7 +334,7 @@ class Map(Actor): closest_player_dist = 9999.0 for ppt in player_pts: dist = (ppt - testpt).length() - closest_player_dist = min(closest_player_dist, dist) + closest_player_dist = min(dist, closest_player_dist) if closest_player_dist > farthestpt_dist: farthestpt_dist = closest_player_dist farthestpt = testpt diff --git a/src/assets/ba_data/python/bauiv1lib/playlist/customizebrowser.py b/src/assets/ba_data/python/bauiv1lib/playlist/customizebrowser.py index 145a96eb..a2cdd9a0 100644 --- a/src/assets/ba_data/python/bauiv1lib/playlist/customizebrowser.py +++ b/src/assets/ba_data/python/bauiv1lib/playlist/customizebrowser.py @@ -538,7 +538,7 @@ class PlaylistCustomizeBrowserWindow(bui.Window): assert self._selected_playlist_index is not None self._selected_playlist_index = min( self._selected_playlist_index, - len(bui.app.config[self._pvars.config_name + ' Playlists']) + len(bui.app.config[self._pvars.config_name + ' Playlists']), ) self._refresh() diff --git a/src/assets/ba_data/python/bauiv1lib/soundtrack/browser.py b/src/assets/ba_data/python/bauiv1lib/soundtrack/browser.py index 04b57441..5907aa4b 100644 --- a/src/assets/ba_data/python/bauiv1lib/soundtrack/browser.py +++ b/src/assets/ba_data/python/bauiv1lib/soundtrack/browser.py @@ -287,8 +287,7 @@ class SoundtrackBrowserWindow(bui.Window): assert self._selected_soundtrack_index is not None assert self._soundtracks is not None self._selected_soundtrack_index = min( - self._selected_soundtrack_index, - len(self._soundtracks) + self._selected_soundtrack_index, len(self._soundtracks) ) self._refresh()