1
1
mirror of https://github.com/tstellar/bygfoot.git synced 2025-06-05 21:49:20 +02:00

"League cup, fixture free round."

This commit is contained in:
gyboth
2005-05-31 14:42:20 +00:00
parent b78ce019e0
commit 60e321ec42
34 changed files with 294 additions and 288 deletions

File diff suppressed because one or more lines are too long

View File

@@ -37,6 +37,7 @@
#define team_id_new (counters[COUNT_TEAM_ID]++) #define team_id_new (counters[COUNT_TEAM_ID]++)
#define cup_id_new (counters[COUNT_CUP_ID]++) #define cup_id_new (counters[COUNT_CUP_ID]++)
#define league_id_new (counters[COUNT_LEAGUE_ID]++) #define league_id_new (counters[COUNT_LEAGUE_ID]++)
#define fixture_id_new (counters[COUNT_FIX_ID]++)
/** Convenience abbreviation. */ /** Convenience abbreviation. */
#define ligs country.leagues #define ligs country.leagues

View File

@@ -133,8 +133,7 @@ callback_show_last_match(gboolean start)
window_create(WINDOW_LIVE); window_create(WINDOW_LIVE);
current_user.live_game.fix = current_user.live_game.fix =
&g_array_index(league_cup_get_fixtures(current_user.live_game.fix_clid), fixture_from_id(current_user.live_game.fix_id);
Fixture, current_user.live_game.fix_idx);
treeview_show_game_stats(GTK_TREE_VIEW(lookup_widget(window.live, "treeview_stats")), treeview_show_game_stats(GTK_TREE_VIEW(lookup_widget(window.live, "treeview_stats")),
&current_user.live_game); &current_user.live_game);
@@ -177,13 +176,51 @@ void
callback_show_last_match_stats(void) callback_show_last_match_stats(void)
{ {
current_user.live_game.fix = current_user.live_game.fix =
&g_array_index(league_cup_get_fixtures(current_user.live_game.fix_clid), fixture_from_id(current_user.live_game.fix_id);
Fixture, current_user.live_game.fix_idx);
treeview_show_game_stats(GTK_TREE_VIEW(lookup_widget(window.main, "treeview_right")), treeview_show_game_stats(GTK_TREE_VIEW(lookup_widget(window.main, "treeview_right")),
&current_user.live_game); &current_user.live_game);
} }
/** Show fixtures by week and round (as opposed to
competition-wise).
@param type Whether to show current, next or previous weeks. */
void
callback_show_fixtures_week(gint type)
{
switch(type)
{
default:
g_warning("callback_show_fixtures_week: unknown type %d \n", type);
break;
case SHOW_CURRENT:
if(week == 1 && week_round == 1)
{
stat1 = week;
stat2 = week_round;
}
else if(week_round == 1)
{
stat1 = week - 1;
stat2 = fixture_get_last_week_round(week - 1);
}
else
{
stat1 = week;
stat2 = week_round - 1;
}
break;
case SHOW_NEXT:
fixture_get_next_week(&stat1, &stat2);
break;
case SHOW_PREVIOUS:
fixture_get_previous_week(&stat1, &stat2);
break;
}
treeview_show_fixtures_week(stat1, stat2);
}
/** Show some fixtures. /** Show some fixtures.
@param type An integer telling us which league/cup and which @param type An integer telling us which league/cup and which
week and round to show. */ week and round to show. */
@@ -560,45 +597,6 @@ callback_fire_player(gint idx)
window_show_yesno(buf); window_show_yesno(buf);
} }
/** Show fixtures by week and round (as opposed to
competition-wise).
@param type Whether to show current, next or previous weeks. */
void
callback_show_fixtures_week(gint type)
{
switch(type)
{
default:
g_warning("callback_show_fixtures_week: unknown type %d \n", type);
break;
case SHOW_CURRENT:
if(week == 1 && week_round == 1)
{
stat1 = week;
stat2 = week_round;
}
else if(week_round == 1)
{
stat1 = week - 1;
stat2 = fixture_get_last_week_round(week - 1);
}
else
{
stat1 = week;
stat2 = week_round - 1;
}
break;
case SHOW_NEXT:
fixture_get_next_week(&stat1, &stat2);
break;
case SHOW_PREVIOUS:
fixture_get_previous_week(&stat1, &stat2);
break;
}
treeview_show_fixtures_week(stat1, stat2);
}
/** Show a page with the information in the league stats /** Show a page with the information in the league stats
structure. */ structure. */
void void

View File

@@ -727,7 +727,7 @@ cup_round_name(const Fixture *fix, gchar *buf)
strcat(buf, _(" -- First leg")); strcat(buf, _(" -- First leg"));
} }
else if(fix->replay_number > 0) else if(fix->replay_number > 0)
strcat(buf, _(" -- Replay match")); strcat(buf, _(" -- Replay matches"));
} }
/** Return the cup round given by the number. */ /** Return the cup round given by the number. */

View File

@@ -10,6 +10,7 @@ enum Counters
COUNT_PLAYER_ID, COUNT_PLAYER_ID,
COUNT_CUP_ID, COUNT_CUP_ID,
COUNT_LEAGUE_ID, COUNT_LEAGUE_ID,
COUNT_FIX_ID,
COUNT_SHOW_DEBUG, COUNT_SHOW_DEBUG,
COUNT_END COUNT_END
}; };

View File

@@ -11,30 +11,6 @@
#include "team.h" #include "team.h"
#include "variables.h" #include "variables.h"
/** Return a fixture with default values. */
Fixture
fixture_new(void)
{
gint i;
Fixture new;
new.clid = new.round = -1;
new.replay_number = 0;
new.week_number = new.week_round_number = -1;
new.teams[0] = new.teams[1] = NULL;
new.team_ids[0] = new.team_ids[1] = -1;
for(i=0;i<3;i++)
new.result[0][i] = new.result[1][i] = 0;
new.home_advantage = 1;
new.second_leg = 0;
new.decisive = 0;
new.attendance = -1;
return new;
}
/** Write the fixtures for the given league /** Write the fixtures for the given league
at the beginning of a new season. at the beginning of a new season.
@param league The league we write the fixtures for. */ @param league The league we write the fixtures for. */
@@ -53,6 +29,9 @@ fixture_write_league_fixtures(League *league)
fixture_write_round_robin((gpointer)league, -1, teams, (round_robins == 1)); fixture_write_round_robin((gpointer)league, -1, teams, (round_robins == 1));
round_robins -= (round_robins > 1) ? 2 : 1; round_robins -= (round_robins > 1) ? 2 : 1;
} }
g_array_sort_with_data(league->fixtures, fixture_compare_func,
GINT_TO_POINTER(FIXTURE_COMPARE_DATE + 100));
} }
/** Write the fixtures for the given cup /** Write the fixtures for the given cup
@@ -83,15 +62,10 @@ fixture_update(Cup *cup)
GPtrArray *teams = NULL, *teams_new = NULL; GPtrArray *teams = NULL, *teams_new = NULL;
const CupRound *new_round = NULL; const CupRound *new_round = NULL;
if(replay != 0) if(replay != 0 &&
{ g_array_index(fixtures, Fixture, fixtures->len - 1).replay_number < replay &&
if(g_array_index(fixtures, Fixture, fixtures->len - 1).replay_number < replay && fixture_update_write_replays(cup))
fixture_update_write_replays(cup))
{
cup->next_fixture_update_week_round++;
return; return;
}
}
teams = fixture_get_cup_round_winners(cup); teams = fixture_get_cup_round_winners(cup);
@@ -262,7 +236,7 @@ fixture_update_write_replays(Cup *cup)
GArray *fixtures = cup->fixtures; GArray *fixtures = cup->fixtures;
gint replay_number = g_array_index(fixtures, Fixture, fixtures->len - 1).replay_number + 1; gint replay_number = g_array_index(fixtures, Fixture, fixtures->len - 1).replay_number + 1;
gint round = g_array_index(fixtures, Fixture, fixtures->len - 1).round; gint round = g_array_index(fixtures, Fixture, fixtures->len - 1).round;
gboolean return_value; gboolean return_value = FALSE;
for(i=0;i<fixtures->len;i++) for(i=0;i<fixtures->len;i++)
if(g_array_index(fixtures, Fixture, i).round == round && if(g_array_index(fixtures, Fixture, i).round == round &&
@@ -270,12 +244,19 @@ fixture_update_write_replays(Cup *cup)
g_array_index(fixtures, Fixture, i).result[0][0] == g_array_index(fixtures, Fixture, i).result[0][0] ==
g_array_index(fixtures, Fixture, i).result[1][0]) g_array_index(fixtures, Fixture, i).result[1][0])
fixture_write(fixtures, g_array_index(fixtures, Fixture, i).teams[1], fixture_write(fixtures, g_array_index(fixtures, Fixture, i).teams[1],
g_array_index(fixtures, Fixture, i).teams[0], week, week_round + 1, g_array_index(fixtures, Fixture, i).teams[0], week,
cup->id, round, replay_number, fixture_get_free_round(week, NULL, g_array_index(fixtures, Fixture, i).teams[0]->id,
g_array_index(fixtures, Fixture, i).teams[1]->id),
cup->id, round, replay_number,
!g_array_index(cup->rounds, CupRound, round).neutral, !g_array_index(cup->rounds, CupRound, round).neutral,
FALSE, (g_array_index(cup->rounds, CupRound, round).replay == replay_number)); FALSE, (g_array_index(cup->rounds, CupRound, round).replay == replay_number));
return_value = (g_array_index(fixtures, Fixture, fixtures->len - 1).replay_number == replay_number); if(g_array_index(fixtures, Fixture, fixtures->len - 1).replay_number == replay_number)
{
return_value = TRUE;
cup->next_fixture_update_week_round =
g_array_index(fixtures, Fixture, fixtures->len - 1).week_round_number;
}
return return_value; return return_value;
} }
@@ -333,6 +314,9 @@ fixture_write_cup_round_robin(Cup *cup, gint cup_round, GPtrArray *teams)
g_ptr_array_free(teams, TRUE); g_ptr_array_free(teams, TRUE);
g_array_sort_with_data(cup->fixtures, fixture_compare_func,
GINT_TO_POINTER(FIXTURE_COMPARE_DATE + 100));
cup->next_fixture_update_week = (cup_round < cup->rounds->len - 1) ? cup->next_fixture_update_week = (cup_round < cup->rounds->len - 1) ?
g_array_index(cup->fixtures, Fixture, cup->fixtures->len - 1).week_number : -1; g_array_index(cup->fixtures, Fixture, cup->fixtures->len - 1).week_number : -1;
cup->next_fixture_update_week_round = (cup_round < cup->rounds->len - 1) ? cup->next_fixture_update_week_round = (cup_round < cup->rounds->len - 1) ?
@@ -353,7 +337,8 @@ void
fixture_write_round_robin(gpointer league_cup, gint cup_round, GPtrArray *teams, gboolean one_round) fixture_write_round_robin(gpointer league_cup, gint cup_round, GPtrArray *teams, gboolean one_round)
{ {
gint i, j; gint i, j;
gint first_week, week_gap, clid, first_fixture; gint first_week, week_gap, week_round_number,
clid, first_fixture;
gboolean home_advantage; gboolean home_advantage;
League *league = NULL; League *league = NULL;
Cup *cup = NULL; Cup *cup = NULL;
@@ -404,19 +389,22 @@ fixture_write_round_robin(gpointer league_cup, gint cup_round, GPtrArray *teams,
for(i=0;i<len - 1;i++) for(i=0;i<len - 1;i++)
fixture_write_round_robin_matchday(fixtures, cup_round, teams, i, fixture_write_round_robin_matchday(fixtures, cup_round, teams, i,
first_week + i * week_gap, first_week + i * week_gap,
fixture_get_free_round(first_week + i * week_gap, clid),
clid, home_advantage); clid, home_advantage);
if(!one_round) if(!one_round)
{ {
/* second half of fixtures */ /* second half of fixtures */
for(i = 0; i < len - 1; i++) for(i = 0; i < len - 1; i++)
{
week_round_number =
fixture_get_free_round(first_week + (len - 1 + i) * week_gap, teams, -1, -1);
for(j = 0; j < len / 2; j++) for(j = 0; j < len / 2; j++)
fixture_write(fixtures, g_array_index(fixtures, Fixture, first_fixture + i * (len / 2) + j).teams[1], fixture_write(fixtures, g_array_index(fixtures, Fixture, first_fixture + i * (len / 2) + j).teams[1],
g_array_index(fixtures, Fixture, first_fixture + i * (len / 2) + j).teams[0], g_array_index(fixtures, Fixture, first_fixture + i * (len / 2) + j).teams[0],
first_week + (len - 1 + i) * week_gap, first_week + (len - 1 + i) * week_gap, week_round_number,
fixture_get_free_round(first_week + (len - 1 + i) * week_gap, clid),
clid, cup_round, 0, home_advantage, FALSE, FALSE); clid, cup_round, 0, home_advantage, FALSE, FALSE);
}
} }
g_ptr_array_free(teams, TRUE); g_ptr_array_free(teams, TRUE);
@@ -445,12 +433,15 @@ fixture_write_round_robin(gpointer league_cup, gint cup_round, GPtrArray *teams,
@param home_advantage Whether there's home advantage. */ @param home_advantage Whether there's home advantage. */
void void
fixture_write_round_robin_matchday(GArray *fixtures, gint cup_round, GPtrArray *teams, fixture_write_round_robin_matchday(GArray *fixtures, gint cup_round, GPtrArray *teams,
gint special, gint week_number, gint week_round_number, gint special, gint week_number,
gint clid, gboolean home_advantage) gint clid, gboolean home_advantage)
{ {
gint i; gint i;
gint len = teams->len / 2; gint len = teams->len / 2;
gpointer home[len], away[len]; gpointer home[len], away[len];
gint week_round_number =
fixture_get_free_round(week_number, teams, -1, -1);
home[0] = g_ptr_array_index(teams, len * 2 - 1); home[0] = g_ptr_array_index(teams, len * 2 - 1);
away[0] = g_ptr_array_index(teams, special); away[0] = g_ptr_array_index(teams, special);
@@ -467,8 +458,9 @@ fixture_write_round_robin_matchday(GArray *fixtures, gint cup_round, GPtrArray *
misc_swap_gpointer(&(home[i]), &(away[i])); misc_swap_gpointer(&(home[i]), &(away[i]));
for(i=0;i<len;i++) for(i=0;i<len;i++)
fixture_write(fixtures, (Team*)home[i], (Team*)away[i], week_number, week_round_number, fixture_write(fixtures, (Team*)home[i], (Team*)away[i], week_number,
clid, cup_round, 0, home_advantage, FALSE, FALSE); week_round_number, clid, cup_round,
0, home_advantage, FALSE, FALSE);
} }
/** Write fixtures for a knockout round, e.g. home/away games. /** Write fixtures for a knockout round, e.g. home/away games.
@@ -480,6 +472,7 @@ fixture_write_knockout_round(Cup *cup, gint cup_round, GPtrArray *teams)
{ {
gint i, len = teams->len; gint i, len = teams->len;
gint first_week = cup_get_first_week_of_cup_round(cup, cup_round); gint first_week = cup_get_first_week_of_cup_round(cup, cup_round);
gint week_round_number;
CupRound *round = &g_array_index(cup->rounds, CupRound, cup_round); CupRound *round = &g_array_index(cup->rounds, CupRound, cup_round);
gint bye_len = (round->byes == -1) ? gint bye_len = (round->byes == -1) ?
math_get_bye_len(len) : round->byes; math_get_bye_len(len) : round->byes;
@@ -490,7 +483,8 @@ fixture_write_knockout_round(Cup *cup, gint cup_round, GPtrArray *teams)
{ {
cup->bye = g_ptr_array_new(); cup->bye = g_ptr_array_new();
g_ptr_array_sort_with_data(teams, team_compare_func, GINT_TO_POINTER(TEAM_COMPARE_LEAGUE_LAYER)); g_ptr_array_sort_with_data(teams, team_compare_func,
GINT_TO_POINTER(TEAM_COMPARE_LEAGUE_LAYER));
for(i=0;i<bye_len;i++) for(i=0;i<bye_len;i++)
{ {
@@ -501,18 +495,27 @@ fixture_write_knockout_round(Cup *cup, gint cup_round, GPtrArray *teams)
teams = misc_randomise_g_pointer_array(teams); teams = misc_randomise_g_pointer_array(teams);
} }
week_round_number =
fixture_get_free_round(first_week, teams, -1, -1);
for(i=0; i<teams->len / 2; i++) for(i=0; i<teams->len / 2; i++)
fixture_write(cup->fixtures, (Team*)g_ptr_array_index(teams, i), fixture_write(cup->fixtures, (Team*)g_ptr_array_index(teams, i),
(Team*)g_ptr_array_index(teams, i + (len - bye_len) / 2), first_week, (Team*)g_ptr_array_index(teams, i + teams->len / 2), first_week,
fixture_get_free_round(first_week, cup->id), cup->id, cup_round, 0, week_round_number, cup->id, cup_round, 0,
!round->neutral, FALSE, (!round->home_away && round->replay == 0)); !round->neutral, FALSE, (!round->home_away && round->replay == 0));
if(round->home_away) if(round->home_away)
{
week_round_number =
fixture_get_free_round(first_week + cup->week_gap, teams, -1, -1);
for(i=0; i<teams->len / 2; i++) for(i=0; i<teams->len / 2; i++)
fixture_write(cup->fixtures, (Team*)g_ptr_array_index(teams, i + (len - bye_len) / 2), fixture_write(cup->fixtures, (Team*)g_ptr_array_index(teams, i + teams->len / 2),
(Team*)g_ptr_array_index(teams, i), first_week + cup->week_gap, (Team*)g_ptr_array_index(teams, i), first_week + cup->week_gap,
fixture_get_free_round(first_week + cup->week_gap, cup->id), cup->id, week_round_number, cup->id, cup_round, 0,
cup_round, 0, !round->neutral, TRUE, TRUE); !round->neutral, TRUE, TRUE);
}
g_array_sort_with_data(cup->fixtures, fixture_compare_func,
GINT_TO_POINTER(FIXTURE_COMPARE_DATE + 100));
cup->next_fixture_update_week = (cup_round < cup->rounds->len - 1 || round->replay > 0) ? cup->next_fixture_update_week = (cup_round < cup->rounds->len - 1 || round->replay > 0) ?
g_array_index(cup->fixtures, Fixture, cup->fixtures->len - 1).week_number : -1; g_array_index(cup->fixtures, Fixture, cup->fixtures->len - 1).week_number : -1;
@@ -542,6 +545,7 @@ fixture_write(GArray *fixtures, Team *home_team, Team *away_team, gint week_numb
gint i; gint i;
Fixture new; Fixture new;
new.id = fixture_id_new;
new.clid = clid; new.clid = clid;
new.round = cup_round; new.round = cup_round;
new.replay_number = replay_number; new.replay_number = replay_number;
@@ -570,38 +574,35 @@ fixture_write(GArray *fixtures, Team *home_team, Team *away_team, gint week_numb
@param clid The id of the cup we search a free round for. @param clid The id of the cup we search a free round for.
@return A round number. If the clid belongs to a league this is always 1. */ @return A round number. If the clid belongs to a league this is always 1. */
gint gint
fixture_get_free_round(gint week_number, gint clid) fixture_get_free_round(gint week_number, const GPtrArray *teams, gint team_id1, gint team_id2)
{ {
gint i, j; gint i, j;
gint max_round = 0; gint max_round = 0;
if(clid < ID_CUP_START)
return 1;
for(i=0;i<ligs->len;i++) for(i=0;i<ligs->len;i++)
{
for(j=0;j<lig(i).fixtures->len;j++) for(j=0;j<lig(i).fixtures->len;j++)
if(g_array_index(lig(i).fixtures, Fixture, j).week_number == week_number) if(g_array_index(lig(i).fixtures, Fixture, j).week_number == week_number &&
{ ((teams == NULL &&
max_round = 1; (query_fixture_team_involved((&g_array_index(lig(i).fixtures, Fixture, j)), team_id1) ||
break; query_fixture_team_involved((&g_array_index(lig(i).fixtures, Fixture, j)), team_id2))) ||
} (teams != NULL &&
(query_team_is_in_teams_array(g_array_index(lig(i).fixtures, Fixture, j).teams[0], teams) ||
if(max_round == 1) query_team_is_in_teams_array(g_array_index(lig(i).fixtures, Fixture, j).teams[1], teams)))) &&
break; g_array_index(lig(i).fixtures, Fixture, j).week_round_number > max_round)
} max_round = g_array_index(lig(i).fixtures, Fixture, j).week_round_number;
for(i=0;i<acps->len;i++) for(i=0;i<acps->len;i++)
{ for(j=0;j<acp(i)->fixtures->len;j++)
if(acp(i)->id != clid && if(g_array_index(acp(i)->fixtures, Fixture, j).week_number == week_number &&
(acp(i)->group == -1 || acp(i)->group != cup_from_clid(clid)->group)) ((teams == NULL &&
for(j=0;j<acp(i)->fixtures->len;j++) (query_fixture_team_involved((&g_array_index(acp(i)->fixtures, Fixture, j)), team_id1) ||
if(g_array_index(acp(i)->fixtures, Fixture, j).week_number == week_number && query_fixture_team_involved((&g_array_index(acp(i)->fixtures, Fixture, j)), team_id2))) ||
g_array_index(acp(i)->fixtures, Fixture, j).week_round_number == max_round + 1) (teams != NULL &&
max_round = MAX(max_round, (query_team_is_in_teams_array(g_array_index(acp(i)->fixtures, Fixture, j).teams[0], teams) ||
g_array_index(acp(i)->fixtures, Fixture, j).week_round_number); query_team_is_in_teams_array(g_array_index(acp(i)->fixtures, Fixture, j).teams[1], teams)))) &&
} g_array_index(acp(i)->fixtures, Fixture, j).week_round_number > max_round)
max_round = g_array_index(acp(i)->fixtures, Fixture, j).week_round_number;
return max_round + 1; return max_round + 1;
} }
@@ -907,12 +908,16 @@ fixture_get(gint type, gint clid, gint week_number, gint week_round_number, cons
return fix; return fix;
} }
/** Compare two fixtures. */
gint gint
fixture_compare_func(gconstpointer a, gconstpointer b, gpointer data) fixture_compare_func(gconstpointer a, gconstpointer b, gpointer data)
{ {
const Fixture *fix1 = *(const Fixture**)a, gint local_data = GPOINTER_TO_INT(data);
*fix2 = *(const Fixture**)b; const Fixture *fix1 = (local_data >= 100) ?
gint type = GPOINTER_TO_INT(data); (const Fixture*)a : *(const Fixture**)a,
*fix2 = (local_data >= 100) ?
(const Fixture*)b : *(const Fixture**)b;
gint type = local_data % 100;
gint return_value = 0; gint return_value = 0;
switch(type) switch(type)
@@ -959,7 +964,8 @@ fixture_get_latest(const Team *tm)
g_ptr_array_add(latest, &g_array_index(acp(i)->fixtures, Fixture, j)); g_ptr_array_add(latest, &g_array_index(acp(i)->fixtures, Fixture, j));
} }
g_ptr_array_sort_with_data(latest, fixture_compare_func, GINT_TO_POINTER(FIXTURE_COMPARE_DATE)); g_ptr_array_sort_with_data(latest, fixture_compare_func,
GINT_TO_POINTER(FIXTURE_COMPARE_DATE));
return latest; return latest;
} }
@@ -992,7 +998,8 @@ fixture_get_coming(const Team *tm)
g_ptr_array_add(coming, &g_array_index(acp(i)->fixtures, Fixture, j)); g_ptr_array_add(coming, &g_array_index(acp(i)->fixtures, Fixture, j));
} }
g_ptr_array_sort_with_data(coming, fixture_compare_func, GINT_TO_POINTER(FIXTURE_COMPARE_DATE)); g_ptr_array_sort_with_data(coming, fixture_compare_func,
GINT_TO_POINTER(FIXTURE_COMPARE_DATE));
return coming; return coming;
} }
@@ -1053,30 +1060,25 @@ fixture_get_league_matches(const Team *tm1, const Team *tm2)
return matches; return matches;
} }
/** Return the index of the fixture in the fixtures array. */ /** Return the fixture going with the id. */
gint Fixture*
fixture_get_index(const Fixture *fix) fixture_from_id(gint id)
{ {
if(debug > 60) gint i, j;
printf("fixidx %d %s - %s \n", fix->clid, fix->teams[0]->name->str,
fix->teams[1]->name->str);
gint i; for(i=0;i<ligs->len;i++)
const GArray *fixtures = league_cup_get_fixtures(fix->clid); for(j=0;j<lig(i).fixtures->len;j++)
if(g_array_index(lig(i).fixtures, Fixture, j).id == id)
for(i=0;i<fixtures->len;i++) return &g_array_index(lig(i).fixtures, Fixture, j);
if(fix->clid == g_array_index(fixtures, Fixture, i).clid &&
fix->team_ids[0] == g_array_index(fixtures, Fixture, i).team_ids[0] &&
fix->team_ids[1] == g_array_index(fixtures, Fixture, i).team_ids[1] &&
fix->week_number == g_array_index(fixtures, Fixture, i).week_number &&
fix->week_round_number == g_array_index(fixtures, Fixture, i).week_round_number)
return i;
g_warning("fixture_get_index: fixture not found (%s - %s clid %d lc %s.\n", for(i=0;i<cps->len;i++)
fix->teams[0]->name->str, fix->teams[1]->name->str, for(j=0;j<lig(i).fixtures->len;j++)
fix->clid, league_cup_get_name_string(fix->clid)); if(g_array_index(cp(i).fixtures, Fixture, j).id == id)
return &g_array_index(cp(i).fixtures, Fixture, j);
return -1; g_warning("fixture_from_id: fixture with id %d found \n", id);
return NULL;
} }
/** Move teams from upper leagues to the beginning of the /** Move teams from upper leagues to the beginning of the

View File

@@ -12,8 +12,8 @@ enum FixtureCompare
FIXTURE_COMPARE_END FIXTURE_COMPARE_END
}; };
Fixture /** Check whether the team with given id participates in the fixture. */
fixture_new(void); #define query_fixture_team_involved(fix, team_id) (fix->team_ids[0] == team_id || fix->team_ids[1] == team_id)
void void
fixture_write_league_fixtures(League *league); fixture_write_league_fixtures(League *league);
@@ -29,7 +29,7 @@ fixture_write_round_robin(gpointer league_cup, gint cup_round, GPtrArray *teams,
void void
fixture_write_round_robin_matchday(GArray *fixtures, gint cup_round, GPtrArray *teams, fixture_write_round_robin_matchday(GArray *fixtures, gint cup_round, GPtrArray *teams,
gint special, gint week_number, gint week_round_number, gint special, gint week_number,
gint clid, gboolean home_advantage); gint clid, gboolean home_advantage);
void void
@@ -56,7 +56,8 @@ gpointer
fixture_winner_of(const Fixture *fix, gboolean team_id); fixture_winner_of(const Fixture *fix, gboolean team_id);
gint gint
fixture_get_free_round(gint week_number, gint clid); fixture_get_free_round(gint week_number, const GPtrArray *teams,
gint team_id1, gint team_id2);
gboolean gboolean
query_fixture_is_earlier(const Fixture *fix1, const Fixture *fix2); query_fixture_is_earlier(const Fixture *fix1, const Fixture *fix2);
@@ -112,8 +113,8 @@ fixture_get_league_matches(const Team *tm1, const Team *tm2);
GPtrArray* GPtrArray*
fixture_get_coming(const Team *tm); fixture_get_coming(const Team *tm);
gint Fixture*
fixture_get_index(const Fixture *fix); fixture_from_id(gint id);
void void
fixture_sort_teams_bye(GPtrArray *teams, gint bye_len); fixture_sort_teams_bye(GPtrArray *teams, gint bye_len);

View File

@@ -10,6 +10,8 @@ typedef struct
{ {
/** The cup or league the fixture belongs to. */ /** The cup or league the fixture belongs to. */
gint clid; gint clid;
/** The unique id of the fixture. */
gint id;
/** The round (in a cup) the fixture belongs to. */ /** The round (in a cup) the fixture belongs to. */
gint round; gint round;
/** The replay number (ie. how often the match was repeated because of a draw). */ /** The replay number (ie. how often the match was repeated because of a draw). */

View File

@@ -1434,8 +1434,7 @@ live_game_reset(LiveGame *live_game, Fixture *fix, gboolean free_variable)
live_game->stats.values[1][i] = 0; live_game->stats.values[1][i] = 0;
live_game->fix = fix; live_game->fix = fix;
live_game->fix_clid = (fix != NULL) ? fix->clid : -1; live_game->fix_id = (fix != NULL) ? fix->id : -1;
live_game->fix_idx = (fix != NULL) ? fixture_get_index(fix) : -1;
live_game->subs_left[0] = live_game->subs_left[1] = 3; live_game->subs_left[0] = live_game->subs_left[1] = 3;
live_game->stadium_event = -1; live_game->stadium_event = -1;

View File

@@ -171,9 +171,9 @@ typedef struct
{ {
/** The fixture that belongs to the game. */ /** The fixture that belongs to the game. */
Fixture *fix; Fixture *fix;
/** Integers determining the fixture (needed because fixture pointers /** Integer determining the fixture (needed because fixture pointers
can change when new fixtures are added to the fixtures array). */ can change when new fixtures are added to the fixtures array). */
gint fix_clid, fix_idx; gint fix_id;
/** Substitutions left for the teams. */ /** Substitutions left for the teams. */
gint subs_left[2]; gint subs_left[2];
/** The team that started the game, 0 or 1. */ /** The team that started the game, 0 or 1. */

View File

@@ -71,8 +71,6 @@ load_save_save_game(const gchar *filename)
for(i=0;i<cps->len;i++) for(i=0;i<cps->len;i++)
xml_loadsave_cup_write(prefix, &cp(i)); xml_loadsave_cup_write(prefix, &cp(i));
/*todo: acps*/
if(debug > 60) if(debug > 60)
printf("load_save_save users \n"); printf("load_save_save users \n");

View File

@@ -355,8 +355,7 @@ team_get_fixture(const Team *tm, gboolean last_fixture)
if(lig(i).id == tm->clid) if(lig(i).id == tm->clid)
{ {
for(j=0;j<lig(i).fixtures->len;j++) for(j=0;j<lig(i).fixtures->len;j++)
if((g_array_index(lig(i).fixtures, Fixture, j).teams[0] == tm || if(query_fixture_team_involved((&g_array_index(lig(i).fixtures, Fixture, j)), tm->id))
g_array_index(lig(i).fixtures, Fixture, j).teams[1] == tm))
{ {
if(g_array_index(lig(i).fixtures, Fixture, j).attendance == -1 && if(g_array_index(lig(i).fixtures, Fixture, j).attendance == -1 &&
(next_fix == NULL || (next_fix == NULL ||
@@ -376,8 +375,7 @@ team_get_fixture(const Team *tm, gboolean last_fixture)
query_team_is_in_cup(tm, acp(i))) query_team_is_in_cup(tm, acp(i)))
{ {
for(j=0;j<acp(i)->fixtures->len;j++) for(j=0;j<acp(i)->fixtures->len;j++)
if((g_array_index(acp(i)->fixtures, Fixture, j).teams[0] == tm || if(query_fixture_team_involved((&g_array_index(acp(i)->fixtures, Fixture, j)), tm->id))
g_array_index(acp(i)->fixtures, Fixture, j).teams[1] == tm))
{ {
if(g_array_index(acp(i)->fixtures, Fixture, j).attendance == -1 && if(g_array_index(acp(i)->fixtures, Fixture, j).attendance == -1 &&
(next_fix == NULL || (next_fix == NULL ||
@@ -1119,3 +1117,16 @@ team_write_results(const Team *tm, gchar *result_buf, gchar *goals_buf)
sprintf(goals_buf, "%d : %d", goals[0], goals[1]); sprintf(goals_buf, "%d : %d", goals[0], goals[1]);
g_ptr_array_free(latest_fixtures, TRUE); g_ptr_array_free(latest_fixtures, TRUE);
} }
/** Find out whether the team is in the given pointer array. */
gboolean
query_team_is_in_teams_array(const Team *tm, const GPtrArray *teams)
{
gint i;
for(i=0;i<teams->len;i++)
if((Team*)g_ptr_array_index(teams, i) == tm)
return TRUE;
return FALSE;
}

View File

@@ -150,4 +150,7 @@ team_write_results(const Team *tm, gchar *result_buf, gchar *goals_buf);
void void
team_write_own_results(const Team *tm, gchar *buf, gboolean sort); team_write_own_results(const Team *tm, gchar *buf, gboolean sort);
gboolean
query_team_is_in_teams_array(const Team *tm, const GPtrArray *teams);
#endif #endif

View File

@@ -9,8 +9,8 @@ enum
{ {
TAG_FIXTURES = TAG_START_FIXTURES, TAG_FIXTURES = TAG_START_FIXTURES,
TAG_FIXTURE, TAG_FIXTURE,
TAG_FIXTURE_ROUND,
TAG_FIXTURE_REPLAY_NUMBER, TAG_FIXTURE_REPLAY_NUMBER,
TAG_FIXTURE_ID,
TAG_FIXTURE_WEEK_NUMBER, TAG_FIXTURE_WEEK_NUMBER,
TAG_FIXTURE_WEEK_ROUND_NUMBER, TAG_FIXTURE_WEEK_ROUND_NUMBER,
TAG_FIXTURE_RESULT, TAG_FIXTURE_RESULT,
@@ -72,8 +72,8 @@ xml_loadsave_fixtures_end_element (GMarkupParseContext *context,
state = TAG_FIXTURES; state = TAG_FIXTURES;
g_array_append_val(fixtures_array, new_fixture); g_array_append_val(fixtures_array, new_fixture);
} }
else if(tag == TAG_FIXTURE_ROUND || else if(tag == TAG_FIXTURE_REPLAY_NUMBER ||
tag == TAG_FIXTURE_REPLAY_NUMBER || tag == TAG_FIXTURE_ID ||
tag == TAG_FIXTURE_WEEK_NUMBER || tag == TAG_FIXTURE_WEEK_NUMBER ||
tag == TAG_FIXTURE_WEEK_ROUND_NUMBER || tag == TAG_FIXTURE_WEEK_ROUND_NUMBER ||
tag == TAG_FIXTURE_RESULT || tag == TAG_FIXTURE_RESULT ||
@@ -121,6 +121,8 @@ xml_loadsave_fixtures_text (GMarkupParseContext *context,
new_fixture.round = int_value; new_fixture.round = int_value;
else if(state == TAG_FIXTURE_REPLAY_NUMBER) else if(state == TAG_FIXTURE_REPLAY_NUMBER)
new_fixture.replay_number = int_value; new_fixture.replay_number = int_value;
else if(state == TAG_FIXTURE_ID)
new_fixture.id = int_value;
else if(state == TAG_FIXTURE_WEEK_NUMBER) else if(state == TAG_FIXTURE_WEEK_NUMBER)
new_fixture.week_number = int_value; new_fixture.week_number = int_value;
else if(state == TAG_FIXTURE_WEEK_ROUND_NUMBER) else if(state == TAG_FIXTURE_WEEK_ROUND_NUMBER)
@@ -194,6 +196,8 @@ xml_loadsave_fixtures_write(const gchar *filename, const GArray *fixtures)
xml_write_int(fil, g_array_index(fixtures, Fixture, i).round, TAG_ROUND, I1); xml_write_int(fil, g_array_index(fixtures, Fixture, i).round, TAG_ROUND, I1);
xml_write_int(fil, g_array_index(fixtures, Fixture, i).replay_number, xml_write_int(fil, g_array_index(fixtures, Fixture, i).replay_number,
TAG_FIXTURE_REPLAY_NUMBER, I1); TAG_FIXTURE_REPLAY_NUMBER, I1);
xml_write_int(fil, g_array_index(fixtures, Fixture, i).id,
TAG_FIXTURE_ID, I1);
xml_write_int(fil, g_array_index(fixtures, Fixture, i).week_number, xml_write_int(fil, g_array_index(fixtures, Fixture, i).week_number,
TAG_FIXTURE_WEEK_NUMBER, I1); TAG_FIXTURE_WEEK_NUMBER, I1);
xml_write_int(fil, g_array_index(fixtures, Fixture, i).week_round_number, xml_write_int(fil, g_array_index(fixtures, Fixture, i).week_round_number,

View File

@@ -12,8 +12,7 @@
enum enum
{ {
TAG_LIVE_GAME = TAG_START_LIVE_GAME, TAG_LIVE_GAME = TAG_START_LIVE_GAME,
TAG_LIVE_GAME_FIX_CLID, TAG_LIVE_GAME_FIX_ID,
TAG_LIVE_GAME_FIX_IDX,
TAG_LIVE_GAME_UNIT, TAG_LIVE_GAME_UNIT,
TAG_LIVE_GAME_UNIT_POSSESSION, TAG_LIVE_GAME_UNIT_POSSESSION,
TAG_LIVE_GAME_UNIT_AREA, TAG_LIVE_GAME_UNIT_AREA,
@@ -38,8 +37,7 @@ enum
}; };
gint state, unitidx, gint state, unitidx,
statvalidx, statvalidx2, statplidx, statplidx2, statvalidx, statvalidx2, statplidx, statplidx2;
fix_clid;
LiveGameUnit new_unit; LiveGameUnit new_unit;
LiveGame *lgame; LiveGame *lgame;
@@ -85,8 +83,7 @@ xml_loadsave_live_game_end_element (GMarkupParseContext *context,
{ {
gint tag = xml_get_tag_from_name(element_name); gint tag = xml_get_tag_from_name(element_name);
if(tag == TAG_LIVE_GAME_FIX_IDX || if(tag == TAG_LIVE_GAME_FIX_ID ||
tag == TAG_LIVE_GAME_FIX_CLID ||
tag == TAG_LIVE_GAME_UNIT || tag == TAG_LIVE_GAME_UNIT ||
tag == TAG_LIVE_GAME_STAT) tag == TAG_LIVE_GAME_STAT)
{ {
@@ -156,17 +153,10 @@ xml_loadsave_live_game_text (GMarkupParseContext *context,
int_value = (gint)g_ascii_strtod(buf, NULL); int_value = (gint)g_ascii_strtod(buf, NULL);
if(state == TAG_LIVE_GAME_FIX_CLID) if(state == TAG_LIVE_GAME_FIX_ID)
lgame->fix_clid = int_value;
else if(state == TAG_LIVE_GAME_FIX_IDX)
{ {
if(debug > 60) lgame->fix_id = int_value;
printf("int %d clid %d cup %p\n ", lgame->fix = fixture_from_id(int_value);
int_value, lgame->fix_clid,
cup_from_clid(lgame->fix_clid));
lgame->fix_idx = int_value;
lgame->fix = &g_array_index(league_cup_get_fixtures(lgame->fix_clid),
Fixture, int_value);
} }
else if(state == TAG_LIVE_GAME_UNIT_POSSESSION) else if(state == TAG_LIVE_GAME_UNIT_POSSESSION)
new_unit.possession = int_value; new_unit.possession = int_value;
@@ -248,10 +238,7 @@ xml_loadsave_live_game_write(const gchar *filename, const LiveGame *live_game)
fprintf(fil, "<_%d>\n", TAG_LIVE_GAME); fprintf(fil, "<_%d>\n", TAG_LIVE_GAME);
if(live_game->fix != NULL) if(live_game->fix != NULL)
{ xml_write_int(fil, live_game->fix->id, TAG_LIVE_GAME_FIX_ID, I0);
xml_write_int(fil, live_game->fix->clid, TAG_LIVE_GAME_FIX_CLID, I0);
xml_write_int(fil, fixture_get_index(live_game->fix), TAG_LIVE_GAME_FIX_IDX, I0);
}
for(i=0;i<live_game->units->len;i++) for(i=0;i<live_game->units->len;i++)
xml_loadsave_live_game_write_unit(fil, xml_loadsave_live_game_write_unit(fil,

View File

@@ -5,7 +5,6 @@
<symbol>flag_brazil.png</symbol> <symbol>flag_brazil.png</symbol>
<sid>brazil_prom_games2</sid> <sid>brazil_prom_games2</sid>
<add_week>1000</add_week> <add_week>1000</add_week>
<group>3265</group>
<property>national</property> <property>national</property>
<property>highlight2</property> <property>highlight2</property>

View File

@@ -5,7 +5,6 @@
<symbol>flag_brazil.png</symbol> <symbol>flag_brazil.png</symbol>
<sid>brazil_prom_games3</sid> <sid>brazil_prom_games3</sid>
<add_week>1000</add_week> <add_week>1000</add_week>
<group>3265</group>
<property>national</property> <property>national</property>
<property>highlight2</property> <property>highlight2</property>

View File

@@ -5,7 +5,6 @@
<symbol>flag_brazil.png</symbol> <symbol>flag_brazil.png</symbol>
<sid>brazil_prom_games4</sid> <sid>brazil_prom_games4</sid>
<add_week>1000</add_week> <add_week>1000</add_week>
<group>3265</group>
<property>national</property> <property>national</property>
<property>highlight2</property> <property>highlight2</property>

View File

@@ -5,7 +5,6 @@
<symbol>flag_brazil.png</symbol> <symbol>flag_brazil.png</symbol>
<sid>brazil_prom_games5</sid> <sid>brazil_prom_games5</sid>
<add_week>1000</add_week> <add_week>1000</add_week>
<group>3265</group>
<property>national</property> <property>national</property>
<property>highlight2</property> <property>highlight2</property>

View File

@@ -5,7 +5,6 @@
<symbol>flag_brazil.png</symbol> <symbol>flag_brazil.png</symbol>
<sid>brazil_prom_games6</sid> <sid>brazil_prom_games6</sid>
<add_week>1000</add_week> <add_week>1000</add_week>
<group>3265</group>
<property>national</property> <property>national</property>
<property>highlight2</property> <property>highlight2</property>

View File

@@ -7,7 +7,6 @@
<skill_diff>500</skill_diff> <skill_diff>500</skill_diff>
<last_week>15</last_week> <last_week>15</last_week>
<week_gap>1</week_gap> <week_gap>1</week_gap>
<group>1005</group>
<property>international</property> <property>international</property>
<property>hide</property> <property>hide</property>

View File

@@ -7,7 +7,6 @@
<skill_diff>500</skill_diff> <skill_diff>500</skill_diff>
<last_week>15</last_week> <last_week>15</last_week>
<week_gap>1</week_gap> <week_gap>1</week_gap>
<group>1005</group>
<property>international</property> <property>international</property>
<property>hide</property> <property>hide</property>

View File

@@ -7,7 +7,6 @@
<skill_diff>500</skill_diff> <skill_diff>500</skill_diff>
<last_week>15</last_week> <last_week>15</last_week>
<week_gap>1</week_gap> <week_gap>1</week_gap>
<group>1005</group>
<property>international</property> <property>international</property>
<property>hide</property> <property>hide</property>

View File

@@ -7,7 +7,6 @@
<skill_diff>500</skill_diff> <skill_diff>500</skill_diff>
<last_week>15</last_week> <last_week>15</last_week>
<week_gap>1</week_gap> <week_gap>1</week_gap>
<group>1005</group>
<property>international</property> <property>international</property>
<property>hide</property> <property>hide</property>

View File

@@ -7,7 +7,6 @@
<skill_diff>500</skill_diff> <skill_diff>500</skill_diff>
<last_week>15</last_week> <last_week>15</last_week>
<week_gap>1</week_gap> <week_gap>1</week_gap>
<group>1005</group>
<property>international</property> <property>international</property>
<property>hide</property> <property>hide</property>

View File

@@ -22,6 +22,7 @@
<cup>england_prom_games2</cup> <cup>england_prom_games2</cup>
<cup>england_prom_games3</cup> <cup>england_prom_games3</cup>
<cup>england_prom_games4</cup> <cup>england_prom_games4</cup>
<cup>england_prom_games5</cup>
</cups> </cups>
</country> </country>

View File

@@ -12,15 +12,9 @@
<cup_round> <cup_round>
<home_away>0</home_away> <home_away>0</home_away>
<replay>1</replay> <replay>1</replay>
<byes>10</byes>
<choose_teams> <choose_teams>
<choose_team>
<choose_team_sid>england1</choose_team_sid>
</choose_team>
<choose_team>
<choose_team_sid>england2</choose_team_sid>
</choose_team>
<choose_team> <choose_team>
<choose_team_sid>england3</choose_team_sid> <choose_team_sid>england3</choose_team_sid>
</choose_team> </choose_team>
@@ -36,6 +30,19 @@
<cup_round> <cup_round>
<home_away>0</home_away> <home_away>0</home_away>
<replay>1</replay> <replay>1</replay>
<byes>0</byes>
</cup_round>
<cup_round>
<home_away>0</home_away>
<replay>1</replay>
<choose_teams>
<choose_team>
<choose_team_sid>england1</choose_team_sid>
</choose_team>
<choose_team>
<choose_team_sid>england2</choose_team_sid>
</choose_team>
</choose_teams>
</cup_round> </cup_round>
<cup_round> <cup_round>
<home_away>0</home_away> <home_away>0</home_away>

View File

@@ -46,12 +46,6 @@
<team> <team>
<team_name>Fulham</team_name> <team_name>Fulham</team_name>
</team> </team>
<team>
<team_name>Leeds</team_name>
</team>
<team>
<team_name>Leicester </team_name>
</team>
<team> <team>
<team_name>Liverpool</team_name> <team_name>Liverpool</team_name>
</team> </team>
@@ -71,13 +65,19 @@
<team_name>Portsmouth</team_name> <team_name>Portsmouth</team_name>
</team> </team>
<team> <team>
<team_name>Southampton</team_name> <team_name>Sunderland</team_name>
</team> </team>
<team> <team>
<team_name>Tottenham</team_name> <team_name>Tottenham</team_name>
</team> </team>
<team> <team>
<team_name>Wolverhampton</team_name> <team_name>West Bromwich</team_name>
</team>
<team>
<team_name>West Ham</team_name>
</team>
<team>
<team_name>Wigan</team_name>
</team> </team>
</teams> </teams>

View File

@@ -34,7 +34,7 @@
<teams> <teams>
<team> <team>
<team_name>Bradford</team_name> <team_name>Brighton and Hove</team_name>
</team> </team>
<team> <team>
<team_name>Burnley</team_name> <team_name>Burnley</team_name>
@@ -55,11 +55,20 @@
<team_name>Derby</team_name> <team_name>Derby</team_name>
</team> </team>
<team> <team>
<team_name>Gillingham</team_name> <team_name>Hull</team_name>
</team> </team>
<team> <team>
<team_name>Ipswich</team_name> <team_name>Ipswich</team_name>
</team> </team>
<team>
<team_name>Leeds</team_name>
</team>
<team>
<team_name>Leicester</team_name>
</team>
<team>
<team_name>Luton</team_name>
</team>
<team> <team>
<team_name>Millwall</team_name> <team_name>Millwall</team_name>
</team> </team>
@@ -67,43 +76,34 @@
<team_name>Norwich</team_name> <team_name>Norwich</team_name>
</team> </team>
<team> <team>
<team_name>Nottingham</team_name> <team_name>Plymouth</team_name>
</team> </team>
<team> <team>
<team_name>Preston</team_name> <team_name>Preston</team_name>
</team> </team>
<team> <team>
<team_name>Reading</team_name> <team_name>Queens Park</team_name>
</team> </team>
<team> <team>
<team_name>Rotherham</team_name> <team_name>Reading</team_name>
</team> </team>
<team> <team>
<team_name>Sheffield</team_name> <team_name>Sheffield</team_name>
</team> </team>
<team>
<team_name>Sheffield W.</team_name>
</team>
<team>
<team_name>Southampton</team_name>
</team>
<team> <team>
<team_name>Stoke</team_name> <team_name>Stoke</team_name>
</team> </team>
<team>
<team_name>Sunderland</team_name>
</team>
<team>
<team_name>Walsall</team_name>
</team>
<team> <team>
<team_name>Watford</team_name> <team_name>Watford</team_name>
</team> </team>
<team> <team>
<team_name>West Bromwich</team_name> <team_name>Wolverhampton</team_name>
</team>
<team>
<team_name>West Ham</team_name>
</team>
<team>
<team_name>Wigan</team_name>
</team>
<team>
<team_name>Wimbledon</team_name>
</team> </team>
</teams> </teams>

View File

@@ -40,14 +40,14 @@
<team_name>Blackpool</team_name> <team_name>Blackpool</team_name>
</team> </team>
<team> <team>
<team_name>Bournemouth </team_name> <team_name>Bournemouth</team_name>
</team>
<team>
<team_name>Bradford</team_name>
</team> </team>
<team> <team>
<team_name>Brentford</team_name> <team_name>Brentford</team_name>
</team> </team>
<team>
<team_name>Brighton and Hove</team_name>
</team>
<team> <team>
<team_name>Bristol C.</team_name> <team_name>Bristol C.</team_name>
</team> </team>
@@ -58,40 +58,40 @@
<team_name>Colchester</team_name> <team_name>Colchester</team_name>
</team> </team>
<team> <team>
<team_name>Grimsby Town</team_name> <team_name>Doncaster</team_name>
</team>
<team>
<team_name>Gillingham</team_name>
</team> </team>
<team> <team>
<team_name>Hartlepool</team_name> <team_name>Hartlepool</team_name>
</team> </team>
<team> <team>
<team_name>Luton</team_name> <team_name>Huddersfield</team_name>
</team> </team>
<team> <team>
<team_name>Notts County</team_name> <team_name>Milton Keynes</team_name>
</team>
<team>
<team_name>Nottingham</team_name>
</team> </team>
<team> <team>
<team_name>Oldham</team_name> <team_name>Oldham</team_name>
</team> </team>
<team>
<team_name>Peterborough</team_name>
</team>
<team>
<team_name>Plymouth</team_name>
</team>
<team> <team>
<team_name>Port Vale</team_name> <team_name>Port Vale</team_name>
</team> </team>
<team> <team>
<team_name>Queens Park</team_name> <team_name>Rotherham</team_name>
</team> </team>
<team> <team>
<team_name>Northampton</team_name> <team_name>Scunthorpe</team_name>
</team> </team>
<team> <team>
<team_name>Sheffield</team_name> <team_name>Southend</team_name>
</team> </team>
<team> <team>
<team_name>Stockport</team_name> <team_name>Swansea</team_name>
</team> </team>
<team> <team>
<team_name>Swindon</team_name> <team_name>Swindon</team_name>
@@ -100,10 +100,10 @@
<team_name>Tranmere</team_name> <team_name>Tranmere</team_name>
</team> </team>
<team> <team>
<team_name>Wrexham</team_name> <team_name>Walsall</team_name>
</team> </team>
<team> <team>
<team_name>Wycombe</team_name> <team_name>Yeovil</team_name>
</team> </team>
</teams> </teams>

View File

@@ -33,6 +33,9 @@
</prom_rel> </prom_rel>
<teams> <teams>
<team>
<team_name>Barnet</team_name>
</team>
<team> <team>
<team_name>Boston</team_name> <team_name>Boston</team_name>
</team> </team>
@@ -42,29 +45,20 @@
<team> <team>
<team_name>Bury</team_name> <team_name>Bury</team_name>
</team> </team>
<team>
<team_name>Cambridge</team_name>
</team>
<team> <team>
<team_name>Carlisle</team_name> <team_name>Carlisle</team_name>
</team> </team>
<team> <team>
<team_name>Cheltenham</team_name> <team_name>Cheltenham</team_name>
</team> </team>
<team>
<team_name>Chester</team_name>
</team>
<team> <team>
<team_name>Darlington</team_name> <team_name>Darlington</team_name>
</team> </team>
<team> <team>
<team_name>Doncaster</team_name> <team_name>Grimsby</team_name>
</team>
<team>
<team_name>Huddersfield </team_name>
</team>
<team>
<team_name>Hull</team_name>
</team>
<team>
<team_name>Kidderminster</team_name>
</team> </team>
<team> <team>
<team_name>Leyton</team_name> <team_name>Leyton</team_name>
@@ -81,29 +75,35 @@
<team> <team>
<team_name>Northampton T.</team_name> <team_name>Northampton T.</team_name>
</team> </team>
<team>
<team_name>Notts County</team_name>
</team>
<team> <team>
<team_name>Oxford</team_name> <team_name>Oxford</team_name>
</team> </team>
<team>
<team_name>Peterborough</team_name>
</team>
<team> <team>
<team_name>Rochdale</team_name> <team_name>Rochdale</team_name>
</team> </team>
<team> <team>
<team_name>Scunthorpe</team_name> <team_name>Rushden and Irthlingbro'</team_name>
</team> </team>
<team> <team>
<team_name>Southend</team_name> <team_name>Shrewsbury</team_name>
</team> </team>
<team> <team>
<team_name>Swansea</team_name> <team_name>Stockport</team_name>
</team> </team>
<team> <team>
<team_name>Torquay</team_name> <team_name>Torquay</team_name>
</team> </team>
<team> <team>
<team_name>Yeovil</team_name> <team_name>Wrexham</team_name>
</team> </team>
<team> <team>
<team_name>York</team_name> <team_name>Wycombe</team_name>
</team> </team>
</teams> </teams>

View File

@@ -2,7 +2,7 @@
<league> <league>
<sid>england5</sid> <sid>england5</sid>
<name>Nationwide Conference</name> <name>National Conference</name>
<short_name>Nat. Conf.</short_name> <short_name>Nat. Conf.</short_name>
<symbol>flag_england.png</symbol> <symbol>flag_england.png</symbol>
<first_week>1</first_week> <first_week>1</first_week>
@@ -10,14 +10,17 @@
<average_skill>4000</average_skill> <average_skill>4000</average_skill>
<prom_rel> <prom_rel>
<prom_games>
<prom_games_dest_sid>england4</prom_games_dest_sid>
<prom_games_cup_sid>england_prom_games5</prom_games_cup_sid>
</prom_games>
<prom_rel_element> <prom_rel_element>
<rank_start>1</rank_start> <rank_start>1</rank_start>
<rank_end>2</rank_end> <rank_end>1</rank_end>
<dest_sid>england4</dest_sid> <dest_sid>england4</dest_sid>
<prom_rel_type>promotion</prom_rel_type> <prom_rel_type>promotion</prom_rel_type>
</prom_rel_element> </prom_rel_element>
</prom_rel> </prom_rel>
<teams> <teams>
@@ -28,13 +31,19 @@
<team_name>Aldershot</team_name> <team_name>Aldershot</team_name>
</team> </team>
<team> <team>
<team_name>Barnet</team_name> <team_name>Altrincham</team_name>
</team> </team>
<team> <team>
<team_name>Burton</team_name> <team_name>Burton</team_name>
</team> </team>
<team> <team>
<team_name>Chester</team_name> <team_name>Cambridge</team_name>
</team>
<team>
<team_name>Canvey Island</team_name>
</team>
<team>
<team_name>Crawley</team_name>
</team> </team>
<team> <team>
<team_name>Dagenham and Redbridge</team_name> <team_name>Dagenham and Redbridge</team_name>
@@ -42,26 +51,20 @@
<team> <team>
<team_name>Exeter</team_name> <team_name>Exeter</team_name>
</team> </team>
<team>
<team_name>Farnborough</team_name>
</team>
<team>
<team_name>Forest Green</team_name>
</team>
<team> <team>
<team_name>Gravesend and Northfleet</team_name> <team_name>Gravesend and Northfleet</team_name>
</team> </team>
<team> <team>
<team_name>Halifax Town </team_name> <team_name>Grays</team_name>
</team>
<team>
<team_name>Halifax</team_name>
</team> </team>
<team> <team>
<team_name>Hereford</team_name> <team_name>Hereford</team_name>
</team> </team>
<team> <team>
<team_name>Leigh</team_name> <team_name>Kidderminster</team_name>
</team>
<team>
<team_name>Margate</team_name>
</team> </team>
<team> <team>
<team_name>Morecambe</team_name> <team_name>Morecambe</team_name>
@@ -73,7 +76,7 @@
<team_name>Scarborough</team_name> <team_name>Scarborough</team_name>
</team> </team>
<team> <team>
<team_name>Shrewsbury</team_name> <team_name>Southport</team_name>
</team> </team>
<team> <team>
<team_name>Stevenage</team_name> <team_name>Stevenage</team_name>
@@ -82,10 +85,10 @@
<team_name>Tamworth</team_name> <team_name>Tamworth</team_name>
</team> </team>
<team> <team>
<team_name>Telford</team_name> <team_name>Woking</team_name>
</team> </team>
<team> <team>
<team_name>Woking</team_name> <team_name>York</team_name>
</team> </team>
</teams> </teams>

View File

@@ -8,7 +8,6 @@
<week_gap>1</week_gap> <week_gap>1</week_gap>
<property>national</property> <property>national</property>
<property>highlight1</property> <property>highlight1</property>
<group>100</group>
<cup_rounds> <cup_rounds>
<cup_round> <cup_round>

View File

@@ -8,7 +8,6 @@
<week_gap>1</week_gap> <week_gap>1</week_gap>
<property>national</property> <property>national</property>
<property>highlight1</property> <property>highlight1</property>
<group>100</group>
<cup_rounds> <cup_rounds>
<cup_round> <cup_round>