From 56d38ee90b0e137d27c87e395240c4001f411466 Mon Sep 17 00:00:00 2001 From: indev Date: Thu, 9 Apr 2020 10:22:43 +0300 Subject: [PATCH 1/4] Added suppres_format_warning=True --- assets/src/ba_data/python/bastd/activity/coopscorescreen.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/assets/src/ba_data/python/bastd/activity/coopscorescreen.py b/assets/src/ba_data/python/bastd/activity/coopscorescreen.py index c5564180..d97ad1e7 100644 --- a/assets/src/ba_data/python/bastd/activity/coopscorescreen.py +++ b/assets/src/ba_data/python/bastd/activity/coopscorescreen.py @@ -821,7 +821,8 @@ class CoopScoreScreen(ba.Activity): tdelay2 = times[i][1] Text(str(display_scores[i][0]) if self._score_type == 'points' else ba.timestring(display_scores[i][0] * 10, - timeformat=ba.TimeFormat.MILLISECONDS), + timeformat=ba.TimeFormat.MILLISECONDS, + suppress_format_warning=True), position=(ts_h_offs + 20 + h_offs_extra, v_offs_extra + ts_height / 2 + -ts_height * (i + 1) / 10 + v_offs + 11.0), From 03204dc86d46e99ff0bfe00479ab7d026a64ddd7 Mon Sep 17 00:00:00 2001 From: indev Date: Thu, 9 Apr 2020 10:23:27 +0300 Subject: [PATCH 2/4] Fixed race game mode Respawn time was 1000 seconds, and result was 0.x seconds :) --- assets/src/ba_data/python/bastd/game/race.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/assets/src/ba_data/python/bastd/game/race.py b/assets/src/ba_data/python/bastd/game/race.py index 2721db3b..1b10b490 100644 --- a/assets/src/ba_data/python/bastd/game/race.py +++ b/assets/src/ba_data/python/bastd/game/race.py @@ -287,7 +287,9 @@ class RaceGame(ba.TeamGameActivity): assert self._timer is not None self._last_team_time = ( player.team.gamedata['time']) = ( - ba.time() - self._timer.getstarttime()) + ba.time( + timeformat=ba.TimeFormat.MILLISECONDS) - \ + self._timer.getstarttime(timeformat=ba.TimeFormat.MILLISECONDS)) self._check_end_game() # Team has yet to finish. @@ -707,7 +709,11 @@ class RaceGame(ba.TeamGameActivity): results = ba.TeamGameResults() for team in self.teams: - results.set_team_score(team, team.gamedata['time']) + if team.gamedata['time'] is not None: + results.set_team_score(team, team.gamedata['time']) + else: + # If game have ended before we get any result, use 'fail' screen + results.set_team_score(team, None) # We don't announce a winner in ffa mode since its probably been a # while since the first place guy crossed the finish line so it seems @@ -725,6 +731,6 @@ class RaceGame(ba.TeamGameActivity): ba.print_error('got no player in PlayerSpazDeathMessage') return if not player.gamedata['finished']: - self.respawn_player(player, respawn_time=1000) + self.respawn_player(player, respawn_time=1) else: super().handlemessage(msg) From e1521316cb6fc9807fdbf15b0b1485ba54a569ac Mon Sep 17 00:00:00 2001 From: indev Date: Thu, 9 Apr 2020 11:56:18 +0300 Subject: [PATCH 3/4] Fixed coop race (team game still need to be fixed) --- assets/src/ba_data/python/bastd/game/race.py | 24 ++++++++++++-------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/assets/src/ba_data/python/bastd/game/race.py b/assets/src/ba_data/python/bastd/game/race.py index 1b10b490..d1e271e2 100644 --- a/assets/src/ba_data/python/bastd/game/race.py +++ b/assets/src/ba_data/python/bastd/game/race.py @@ -285,11 +285,13 @@ class RaceGame(ba.TeamGameActivity): ba.playsound(self._score_sound) player.team.gamedata['finished'] = True assert self._timer is not None + _cur_time = ba.time( + timeformat=ba.TimeFormat.MILLISECONDS) + _start_time = self._timer.getstarttime( + timeformat=ba.TimeFormat.MILLISECONDS) self._last_team_time = ( - player.team.gamedata['time']) = ( - ba.time( - timeformat=ba.TimeFormat.MILLISECONDS) - \ - self._timer.getstarttime(timeformat=ba.TimeFormat.MILLISECONDS)) + player.team.gamedata['time']) = (_cur_time - + _start_time) self._check_end_game() # Team has yet to finish. @@ -547,7 +549,10 @@ class RaceGame(ba.TeamGameActivity): # Sort players by distance and update their ranks. p_list = [[player.gamedata['distance'], player] for player in self.players] - p_list.sort(reverse=True) + + p_list.sort(reverse=True) + # FIXME - need another way to sort p_list. + # It tries to compare ba.Player objects. for i, plr in enumerate(p_list): try: plr[1].gamedata['rank'] = i @@ -702,18 +707,19 @@ class RaceGame(ba.TeamGameActivity): # final time differs from what they see onscreen by a tiny bit) assert self._timer is not None if self._timer.has_started(): + _cur_time = self._timer.getstarttime( + timeformat=ba.TimeFormat.MILLISECONDS) self._timer.stop( endtime=None if self._last_team_time is None else ( - self._timer.getstarttime() + self._last_team_time)) + _cur_time + self._last_team_time)) results = ba.TeamGameResults() for team in self.teams: if team.gamedata['time'] is not None: results.set_team_score(team, team.gamedata['time']) - else: - # If game have ended before we get any result, use 'fail' screen - results.set_team_score(team, None) + # If game have ended before we + # get any result, use 'fail' screen # We don't announce a winner in ffa mode since its probably been a # while since the first place guy crossed the finish line so it seems From 017e09bb5f3892875d8076588ce1cf2fa54450af Mon Sep 17 00:00:00 2001 From: indev Date: Thu, 9 Apr 2020 12:05:55 +0300 Subject: [PATCH 4/4] Deleted trailing whitespace --- assets/src/ba_data/python/bastd/game/race.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/src/ba_data/python/bastd/game/race.py b/assets/src/ba_data/python/bastd/game/race.py index d1e271e2..a3ad59d5 100644 --- a/assets/src/ba_data/python/bastd/game/race.py +++ b/assets/src/ba_data/python/bastd/game/race.py @@ -550,7 +550,7 @@ class RaceGame(ba.TeamGameActivity): p_list = [[player.gamedata['distance'], player] for player in self.players] - p_list.sort(reverse=True) + p_list.sort(reverse=True) # FIXME - need another way to sort p_list. # It tries to compare ba.Player objects. for i, plr in enumerate(p_list):