Skip to content

Commit

Permalink
Fix #10469, 5e14a20: [Script] League Table rating element is a int64 …
Browse files Browse the repository at this point in the history
…everywhere else
  • Loading branch information
SamuXarick committed Feb 17, 2023
1 parent 3559576 commit 79a8318
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 8 deletions.
2 changes: 1 addition & 1 deletion src/league_base.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ extern LeagueTablePool _league_table_pool;
**/
struct LeagueTableElement : LeagueTableElementPool::PoolItem<&_league_table_element_pool> {
LeagueTableID table; ///< Id of the table which this element belongs to
uint64 rating; ///< Value that determines ordering of elements in the table (higher=better)
int64 rating; ///< Value that determines ordering of elements in the table (higher=better)
CompanyID company; ///< Company Id to show the color blob for or INVALID_COMPANY
std::string text; ///< Text of the element
std::string score; ///< String representation of the score associated with the element
Expand Down
15 changes: 8 additions & 7 deletions src/saveload/league_sl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,14 @@
#include "../safeguards.h"

static const SaveLoad _league_table_elements_desc[] = {
SLE_VAR(LeagueTableElement, table, SLE_UINT8),
SLE_VAR(LeagueTableElement, rating, SLE_UINT64),
SLE_VAR(LeagueTableElement, company, SLE_UINT8),
SLE_SSTR(LeagueTableElement, text, SLE_STR | SLF_ALLOW_CONTROL),
SLE_SSTR(LeagueTableElement, score, SLE_STR | SLF_ALLOW_CONTROL),
SLE_VAR(LeagueTableElement, link.type, SLE_UINT8),
SLE_VAR(LeagueTableElement, link.target, SLE_UINT32),
SLE_VAR(LeagueTableElement, table, SLE_UINT8),
SLE_CONDVAR(LeagueTableElement, rating, SLE_FILE_U64 | SLE_VAR_I64, SL_MIN_VERSION, SLV_LEAGUETABLE_INT64),
SLE_CONDVAR(LeagueTableElement, rating, SLE_INT64, SLV_LEAGUETABLE_INT64, SL_MAX_VERSION),
SLE_VAR(LeagueTableElement, company, SLE_UINT8),
SLE_SSTR(LeagueTableElement, text, SLE_STR | SLF_ALLOW_CONTROL),
SLE_SSTR(LeagueTableElement, score, SLE_STR | SLF_ALLOW_CONTROL),
SLE_VAR(LeagueTableElement, link.type, SLE_UINT8),
SLE_VAR(LeagueTableElement, link.target, SLE_UINT32),
};

struct LEAEChunkHandler : ChunkHandler {
Expand Down
1 change: 1 addition & 0 deletions src/saveload/saveload.h
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,7 @@ enum SaveLoadVersion : uint16 {
SLV_U64_TICK_COUNTER, ///< 300 PR#10035 Make _tick_counter 64bit to avoid wrapping.
SLV_LAST_LOADING_TICK, ///< 301 PR#9693 Store tick of last loading for vehicles.
SLV_MULTITRACK_LEVEL_CROSSINGS, ///< 302 PR#9931 v13.0 Multi-track level crossings.
SLV_LEAGUETABLE_INT64, ///< 303 PR#10471 Make league table rating element int64.

SL_MAX_VERSION, ///< Highest possible saveload version
};
Expand Down

0 comments on commit 79a8318

Please sign in to comment.