Tom Stellard
25d9880da4
Generate a 'pre-history' for cups
...
We know generate cup results for each cup before starting the game.
This allows cups to select last year's winner without having to
special case cup selection for the first season.
2021-07-27 14:41:40 -04:00
Tom Stellard
313b5bd07b
Fix-ups for European cup definitions
2021-07-27 14:41:40 -04:00
Tom Stellard
3935e6f997
Fix sid for the Kosovo country definition
2021-07-27 14:41:40 -04:00
Tom Stellard
2d17321b94
Enusre that a teams aren't added to cups more than once.
2021-07-27 14:41:40 -04:00
Tom Stellard
b2b3d55f58
Support the optional and alternative tags for user's league in cup defs
2021-07-27 14:41:40 -04:00
Tom Stellard
e95c6aac96
Remove the team_names file from the Cup struct
...
This field was not being updated correctly in some case and we
can just you the teams field instead to get the names.
2021-07-27 14:41:40 -04:00
Tom Stellard
f1c9f498fe
Don't add the user's country to the country list
...
The user's country is already being stored in the country
global variable.
2021-07-27 14:41:40 -04:00
Tom Stellard
363cf73b13
benchmark.sh: Pass -n to gzip
...
This removes metadata from the compressed file so that identical
input files will produce identical compressed files.
2021-07-27 14:41:40 -04:00
Tom Stellard
b937cb2e20
cup_uefa_cl: Select the real uefa cup winners from the previous season
2021-07-27 14:41:40 -04:00
Tom Stellard
f7713e8b96
Fix bug with choose_team alternatives
...
If the main team was in the user's country and the alternative was not,
the choose team would fail, because there are different paths for
the user's country and other countries.
This patch merges both paths into cup_load_choose_team() so that
function will work for any country.
2021-07-27 14:41:40 -04:00
Tom Stellard
dd71c31eda
Refactor cup_load_choose_team_generate()
...
Updates its signature to match cup_load_choose_team().
2021-07-27 14:41:40 -04:00
Tom Stellard
200a0dc08f
Fix start week for Sweden promotion games
2021-07-27 14:41:40 -04:00
Tom Stellard
a1119d0dd8
Randomize teams lists of non-user countries every season
...
This way the international cups will have new teams each year.
2021-07-27 14:41:40 -04:00
Tom Stellard
7f17e114d4
workflows: Require success from test-country-defs.sh
2021-07-27 14:41:40 -04:00
Tom Stellard
3e4ead3aae
Reset all cups at the beginning of each season
...
This fixes a bug in league fixture scheduling where league matches would
be scheduled around cup matches from the previous season. This caused
league matches to be scheduled in later week rounds which in some cases
caused these matches to not be played.
2021-07-27 14:41:40 -04:00
Tom Stellard
4ee618fadf
test/test-load-save.sh: Run another test after simulating a full seasons
...
There are some values in the save files which only exist after a full
season has been simulated (e.g. cup history), so make sure test this.
2021-07-27 14:41:40 -04:00
Tom Stellard
ac4d0fc546
Use cup history for self-referential cups
2021-07-27 14:41:40 -04:00
Tom Stellard
30d96e9952
Save cup results at the end of each season
2021-07-27 14:41:40 -04:00
Tom Stellard
fbfc2e22d8
Remove team_id from User object
2021-07-27 14:41:40 -04:00
Tom Stellard
a23db0b434
Remove team_ids field from Fixture object
...
We can fetch the ids from the teams object instead.
2021-07-27 14:41:40 -04:00
Tom Stellard
47fa16ddcd
fixture_write_round_robin: Use a NULL team to represent a bye
...
Also don't write byes to the fixture list. Previously we were writing
byes and removing them later.
2021-07-27 14:41:40 -04:00
Tom Stellard
0f5213bc4e
Don't refresh fixture team pointers at the start of season
...
This is no longer necessary now that team pointers are stable.
2021-07-27 14:41:40 -04:00
Tom Stellard
801cb99b74
Remove team_id member from TableElement
...
This is no longer needed now that Team pointers always point to the same
team.
2021-07-27 14:41:40 -04:00
Tom Stellard
47b6d5c80d
Use a GPtrArray to store teams in leagues
...
This allows us to have stable Team pointers throughout the game,
so we don't need to recompute pointers from Team IDs every time
the league order changes.
2021-07-27 14:41:40 -04:00
Tom Stellard
a004f939bb
Refactor xml_league_read()
2021-07-27 14:41:40 -04:00
Tom Stellard
1fcec6e057
Refactor user_set_up_team_new_game()
2021-07-27 14:41:40 -04:00
Tom Stellard
d4cf73b8d8
Refactor treeview_create_team_selection_list()
...
Add a Country parameter so that it does not rely on global variables and
simplify some of the code.
2021-07-27 14:41:40 -04:00
Tom Stellard
9a0388cafd
Refactor stat_update_league_players()
2021-07-27 14:41:40 -04:00
Tom Stellard
7c1fe79763
Refactor start_new_season_league_changes()
2021-07-27 14:41:40 -04:00
Tom Stellard
19d361fb82
Refactor league_season_start()
2021-07-27 14:41:40 -04:00
Tom Stellard
9d144835ed
Refactor team_get_average_talents()
2021-07-27 14:41:40 -04:00
Tom Stellard
5373da9c30
Refactor job_change_country()
2021-07-27 14:41:40 -04:00
Tom Stellard
d84b8683ed
Refactor fixture_remove_rrs()
2021-07-27 14:41:40 -04:00
Tom Stellard
05ac1ccb7c
Refactor fixture_write_league_fixtures()
2021-07-27 14:41:40 -04:00
Tom Stellard
8ea51d65a1
Refactor cup_load_choose_team_from_cup()
2021-07-27 14:41:40 -04:00
Tom Stellard
273ca50688
json: Add command for getting the country's leagues
2021-07-27 14:41:40 -04:00
Tom Stellard
8df2c6b98c
Fix Sweden league3 definitions
...
league3a and league3b have different promotion cups so the loser should
not have the option of going to the other league.
2021-07-27 14:41:40 -04:00
Tom Stellard
67f5bbb212
Make Liechtenstein choose_team in the Europa Cup optional
...
There is no alternative to the cup winner since there is no national
league.
2021-07-27 14:41:40 -04:00
Tom Stellard
e5b5b3b757
Fix Switzerland definitions
...
Promotion games should specify a loser_sid if the losers just return to
their current leagues. Also, specify the correct of teams that advance.
2021-07-27 14:41:40 -04:00
Tom Stellard
0fcf53e82b
Fix Portugal definitions
...
Promotion games should specify a loser_sid if the losers just return to
their current leagues.
2021-07-27 14:41:40 -04:00
Tom Stellard
6b4645a612
Fix Germany definitions
...
Promotion games should specify a loser_sid if the losers just return to
their current leagues.
2021-07-27 14:41:40 -04:00
Tom Stellard
6fe3fc306e
Fix slovenia1 choose_team in cup_uefa_el definition
...
We need to handle the case when the 2nd place slovenia1 team qualifies
for the champions league and the 3rd (or even 4th if the 3rd also
qualifies) place team needs to take its spot in uefa_el.
2021-07-27 14:41:40 -04:00
Tom Stellard
4d4d73caa0
Allow optional tag to be used when selecting teams from cups
...
This fixes a segfault caused by the uefa_el definitions when there
aren't enough teams in uefa_cl to fill all the spots in the choose_team
definition.
2021-07-27 14:41:40 -04:00
Tom Stellard
b126786553
Add helper cup_choose_team_compute_{start,end}_idx helper functions
2021-07-27 14:41:40 -04:00
Tom Stellard
87b5a77ab2
Initialize current_interest after setting the random seed
...
The way when we run benchmark.sh --verify, the current_interest value
will always be the same.
2021-07-27 14:41:40 -04:00
Tom Stellard
98b76cd999
workflows: Stop building/testing on Ubuntu 16.04
...
General support for this release has ended.
2021-07-27 14:41:40 -04:00
Tom Stellard
bde97fd39a
workflows: Build packages on more operating systems
...
Also create a release and upload packages when there is a new tag.
2021-06-18 00:08:42 -04:00
Tom Stellard
b44ad7f168
package.sh: Allow custom tar names
2021-06-18 00:08:42 -04:00
Tom Stellard
78e774cd98
cmake: Compile with -fcommon
...
Newer versions of gcc and clang default to fno-common and
our global variable usage requires -fcommon.
2021-06-18 00:08:42 -04:00
Tom Stellard
2bd484d69c
package.sh: Don't pass -B option to cmake
...
Older versions of cmake don't support this.
2021-06-18 00:08:42 -04:00