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:
File diff suppressed because one or more lines are too long
@@ -37,6 +37,7 @@
|
||||
#define team_id_new (counters[COUNT_TEAM_ID]++)
|
||||
#define cup_id_new (counters[COUNT_CUP_ID]++)
|
||||
#define league_id_new (counters[COUNT_LEAGUE_ID]++)
|
||||
#define fixture_id_new (counters[COUNT_FIX_ID]++)
|
||||
|
||||
/** Convenience abbreviation. */
|
||||
#define ligs country.leagues
|
||||
|
@@ -133,8 +133,7 @@ callback_show_last_match(gboolean start)
|
||||
window_create(WINDOW_LIVE);
|
||||
|
||||
current_user.live_game.fix =
|
||||
&g_array_index(league_cup_get_fixtures(current_user.live_game.fix_clid),
|
||||
Fixture, current_user.live_game.fix_idx);
|
||||
fixture_from_id(current_user.live_game.fix_id);
|
||||
|
||||
treeview_show_game_stats(GTK_TREE_VIEW(lookup_widget(window.live, "treeview_stats")),
|
||||
¤t_user.live_game);
|
||||
@@ -177,13 +176,51 @@ void
|
||||
callback_show_last_match_stats(void)
|
||||
{
|
||||
current_user.live_game.fix =
|
||||
&g_array_index(league_cup_get_fixtures(current_user.live_game.fix_clid),
|
||||
Fixture, current_user.live_game.fix_idx);
|
||||
fixture_from_id(current_user.live_game.fix_id);
|
||||
|
||||
treeview_show_game_stats(GTK_TREE_VIEW(lookup_widget(window.main, "treeview_right")),
|
||||
¤t_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.
|
||||
@param type An integer telling us which league/cup and which
|
||||
week and round to show. */
|
||||
@@ -560,45 +597,6 @@ callback_fire_player(gint idx)
|
||||
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
|
||||
structure. */
|
||||
void
|
||||
|
@@ -727,7 +727,7 @@ cup_round_name(const Fixture *fix, gchar *buf)
|
||||
strcat(buf, _(" -- First leg"));
|
||||
}
|
||||
else if(fix->replay_number > 0)
|
||||
strcat(buf, _(" -- Replay match"));
|
||||
strcat(buf, _(" -- Replay matches"));
|
||||
}
|
||||
|
||||
/** Return the cup round given by the number. */
|
||||
|
@@ -10,6 +10,7 @@ enum Counters
|
||||
COUNT_PLAYER_ID,
|
||||
COUNT_CUP_ID,
|
||||
COUNT_LEAGUE_ID,
|
||||
COUNT_FIX_ID,
|
||||
COUNT_SHOW_DEBUG,
|
||||
COUNT_END
|
||||
};
|
||||
|
186
src/fixture.c
186
src/fixture.c
@@ -11,30 +11,6 @@
|
||||
#include "team.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
|
||||
at the beginning of a new season.
|
||||
@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));
|
||||
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
|
||||
@@ -83,15 +62,10 @@ fixture_update(Cup *cup)
|
||||
GPtrArray *teams = NULL, *teams_new = NULL;
|
||||
const CupRound *new_round = NULL;
|
||||
|
||||
if(replay != 0)
|
||||
{
|
||||
if(g_array_index(fixtures, Fixture, fixtures->len - 1).replay_number < replay &&
|
||||
if(replay != 0 &&
|
||||
g_array_index(fixtures, Fixture, fixtures->len - 1).replay_number < replay &&
|
||||
fixture_update_write_replays(cup))
|
||||
{
|
||||
cup->next_fixture_update_week_round++;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
teams = fixture_get_cup_round_winners(cup);
|
||||
|
||||
@@ -262,7 +236,7 @@ fixture_update_write_replays(Cup *cup)
|
||||
GArray *fixtures = cup->fixtures;
|
||||
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;
|
||||
gboolean return_value;
|
||||
gboolean return_value = FALSE;
|
||||
|
||||
for(i=0;i<fixtures->len;i++)
|
||||
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[1][0])
|
||||
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,
|
||||
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,
|
||||
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;
|
||||
}
|
||||
@@ -333,6 +314,9 @@ fixture_write_cup_round_robin(Cup *cup, gint cup_round, GPtrArray *teams)
|
||||
|
||||
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) ?
|
||||
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) ?
|
||||
@@ -353,7 +337,8 @@ void
|
||||
fixture_write_round_robin(gpointer league_cup, gint cup_round, GPtrArray *teams, gboolean one_round)
|
||||
{
|
||||
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;
|
||||
League *league = NULL;
|
||||
Cup *cup = NULL;
|
||||
@@ -404,20 +389,23 @@ fixture_write_round_robin(gpointer league_cup, gint cup_round, GPtrArray *teams,
|
||||
for(i=0;i<len - 1;i++)
|
||||
fixture_write_round_robin_matchday(fixtures, cup_round, teams, i,
|
||||
first_week + i * week_gap,
|
||||
fixture_get_free_round(first_week + i * week_gap, clid),
|
||||
clid, home_advantage);
|
||||
|
||||
if(!one_round)
|
||||
{
|
||||
/* second half of fixtures */
|
||||
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++)
|
||||
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],
|
||||
first_week + (len - 1 + i) * week_gap,
|
||||
fixture_get_free_round(first_week + (len - 1 + i) * week_gap, clid),
|
||||
first_week + (len - 1 + i) * week_gap, week_round_number,
|
||||
clid, cup_round, 0, home_advantage, FALSE, FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
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. */
|
||||
void
|
||||
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 i;
|
||||
gint len = teams->len / 2;
|
||||
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);
|
||||
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]));
|
||||
|
||||
for(i=0;i<len;i++)
|
||||
fixture_write(fixtures, (Team*)home[i], (Team*)away[i], week_number, week_round_number,
|
||||
clid, cup_round, 0, home_advantage, FALSE, FALSE);
|
||||
fixture_write(fixtures, (Team*)home[i], (Team*)away[i], week_number,
|
||||
week_round_number, clid, cup_round,
|
||||
0, home_advantage, FALSE, FALSE);
|
||||
}
|
||||
|
||||
/** 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 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);
|
||||
gint bye_len = (round->byes == -1) ?
|
||||
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();
|
||||
|
||||
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++)
|
||||
{
|
||||
@@ -501,18 +495,27 @@ fixture_write_knockout_round(Cup *cup, gint cup_round, GPtrArray *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++)
|
||||
fixture_write(cup->fixtures, (Team*)g_ptr_array_index(teams, i),
|
||||
(Team*)g_ptr_array_index(teams, i + (len - bye_len) / 2), first_week,
|
||||
fixture_get_free_round(first_week, cup->id), cup->id, cup_round, 0,
|
||||
(Team*)g_ptr_array_index(teams, i + teams->len / 2), first_week,
|
||||
week_round_number, cup->id, cup_round, 0,
|
||||
!round->neutral, FALSE, (!round->home_away && round->replay == 0));
|
||||
|
||||
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++)
|
||||
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,
|
||||
fixture_get_free_round(first_week + cup->week_gap, cup->id), cup->id,
|
||||
cup_round, 0, !round->neutral, TRUE, TRUE);
|
||||
week_round_number, cup->id, cup_round, 0,
|
||||
!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) ?
|
||||
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;
|
||||
Fixture new;
|
||||
|
||||
new.id = fixture_id_new;
|
||||
new.clid = clid;
|
||||
new.round = cup_round;
|
||||
new.replay_number = replay_number;
|
||||
@@ -570,37 +574,34 @@ 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.
|
||||
@return A round number. If the clid belongs to a league this is always 1. */
|
||||
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 max_round = 0;
|
||||
|
||||
if(clid < ID_CUP_START)
|
||||
return 1;
|
||||
|
||||
for(i=0;i<ligs->len;i++)
|
||||
{
|
||||
for(j=0;j<lig(i).fixtures->len;j++)
|
||||
if(g_array_index(lig(i).fixtures, Fixture, j).week_number == week_number)
|
||||
{
|
||||
max_round = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
if(max_round == 1)
|
||||
break;
|
||||
}
|
||||
if(g_array_index(lig(i).fixtures, Fixture, j).week_number == week_number &&
|
||||
((teams == NULL &&
|
||||
(query_fixture_team_involved((&g_array_index(lig(i).fixtures, Fixture, j)), team_id1) ||
|
||||
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) ||
|
||||
query_team_is_in_teams_array(g_array_index(lig(i).fixtures, Fixture, j).teams[1], teams)))) &&
|
||||
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++)
|
||||
{
|
||||
if(acp(i)->id != clid &&
|
||||
(acp(i)->group == -1 || acp(i)->group != cup_from_clid(clid)->group))
|
||||
for(j=0;j<acp(i)->fixtures->len;j++)
|
||||
if(g_array_index(acp(i)->fixtures, Fixture, j).week_number == week_number &&
|
||||
g_array_index(acp(i)->fixtures, Fixture, j).week_round_number == max_round + 1)
|
||||
max_round = MAX(max_round,
|
||||
g_array_index(acp(i)->fixtures, Fixture, j).week_round_number);
|
||||
}
|
||||
((teams == NULL &&
|
||||
(query_fixture_team_involved((&g_array_index(acp(i)->fixtures, Fixture, j)), team_id1) ||
|
||||
query_fixture_team_involved((&g_array_index(acp(i)->fixtures, Fixture, j)), team_id2))) ||
|
||||
(teams != NULL &&
|
||||
(query_team_is_in_teams_array(g_array_index(acp(i)->fixtures, Fixture, j).teams[0], teams) ||
|
||||
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;
|
||||
}
|
||||
@@ -907,12 +908,16 @@ fixture_get(gint type, gint clid, gint week_number, gint week_round_number, cons
|
||||
return fix;
|
||||
}
|
||||
|
||||
/** Compare two fixtures. */
|
||||
gint
|
||||
fixture_compare_func(gconstpointer a, gconstpointer b, gpointer data)
|
||||
{
|
||||
const Fixture *fix1 = *(const Fixture**)a,
|
||||
*fix2 = *(const Fixture**)b;
|
||||
gint type = GPOINTER_TO_INT(data);
|
||||
gint local_data = GPOINTER_TO_INT(data);
|
||||
const Fixture *fix1 = (local_data >= 100) ?
|
||||
(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;
|
||||
|
||||
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_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;
|
||||
}
|
||||
@@ -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_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;
|
||||
}
|
||||
@@ -1053,30 +1060,25 @@ fixture_get_league_matches(const Team *tm1, const Team *tm2)
|
||||
return matches;
|
||||
}
|
||||
|
||||
/** Return the index of the fixture in the fixtures array. */
|
||||
gint
|
||||
fixture_get_index(const Fixture *fix)
|
||||
/** Return the fixture going with the id. */
|
||||
Fixture*
|
||||
fixture_from_id(gint id)
|
||||
{
|
||||
if(debug > 60)
|
||||
printf("fixidx %d %s - %s \n", fix->clid, fix->teams[0]->name->str,
|
||||
fix->teams[1]->name->str);
|
||||
gint i, j;
|
||||
|
||||
gint i;
|
||||
const GArray *fixtures = league_cup_get_fixtures(fix->clid);
|
||||
for(i=0;i<ligs->len;i++)
|
||||
for(j=0;j<lig(i).fixtures->len;j++)
|
||||
if(g_array_index(lig(i).fixtures, Fixture, j).id == id)
|
||||
return &g_array_index(lig(i).fixtures, Fixture, j);
|
||||
|
||||
for(i=0;i<fixtures->len;i++)
|
||||
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;
|
||||
for(i=0;i<cps->len;i++)
|
||||
for(j=0;j<lig(i).fixtures->len;j++)
|
||||
if(g_array_index(cp(i).fixtures, Fixture, j).id == id)
|
||||
return &g_array_index(cp(i).fixtures, Fixture, j);
|
||||
|
||||
g_warning("fixture_get_index: fixture not found (%s - %s clid %d lc %s.\n",
|
||||
fix->teams[0]->name->str, fix->teams[1]->name->str,
|
||||
fix->clid, league_cup_get_name_string(fix->clid));
|
||||
g_warning("fixture_from_id: fixture with id %d found \n", id);
|
||||
|
||||
return -1;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/** Move teams from upper leagues to the beginning of the
|
||||
|
@@ -12,8 +12,8 @@ enum FixtureCompare
|
||||
FIXTURE_COMPARE_END
|
||||
};
|
||||
|
||||
Fixture
|
||||
fixture_new(void);
|
||||
/** Check whether the team with given id participates in the fixture. */
|
||||
#define query_fixture_team_involved(fix, team_id) (fix->team_ids[0] == team_id || fix->team_ids[1] == team_id)
|
||||
|
||||
void
|
||||
fixture_write_league_fixtures(League *league);
|
||||
@@ -29,7 +29,7 @@ fixture_write_round_robin(gpointer league_cup, gint cup_round, GPtrArray *teams,
|
||||
|
||||
void
|
||||
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);
|
||||
|
||||
void
|
||||
@@ -56,7 +56,8 @@ gpointer
|
||||
fixture_winner_of(const Fixture *fix, gboolean team_id);
|
||||
|
||||
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
|
||||
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*
|
||||
fixture_get_coming(const Team *tm);
|
||||
|
||||
gint
|
||||
fixture_get_index(const Fixture *fix);
|
||||
Fixture*
|
||||
fixture_from_id(gint id);
|
||||
|
||||
void
|
||||
fixture_sort_teams_bye(GPtrArray *teams, gint bye_len);
|
||||
|
@@ -10,6 +10,8 @@ typedef struct
|
||||
{
|
||||
/** The cup or league the fixture belongs to. */
|
||||
gint clid;
|
||||
/** The unique id of the fixture. */
|
||||
gint id;
|
||||
/** The round (in a cup) the fixture belongs to. */
|
||||
gint round;
|
||||
/** The replay number (ie. how often the match was repeated because of a draw). */
|
||||
|
@@ -1434,8 +1434,7 @@ live_game_reset(LiveGame *live_game, Fixture *fix, gboolean free_variable)
|
||||
live_game->stats.values[1][i] = 0;
|
||||
|
||||
live_game->fix = fix;
|
||||
live_game->fix_clid = (fix != NULL) ? fix->clid : -1;
|
||||
live_game->fix_idx = (fix != NULL) ? fixture_get_index(fix) : -1;
|
||||
live_game->fix_id = (fix != NULL) ? fix->id : -1;
|
||||
|
||||
live_game->subs_left[0] = live_game->subs_left[1] = 3;
|
||||
live_game->stadium_event = -1;
|
||||
|
@@ -171,9 +171,9 @@ typedef struct
|
||||
{
|
||||
/** The fixture that belongs to the game. */
|
||||
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). */
|
||||
gint fix_clid, fix_idx;
|
||||
gint fix_id;
|
||||
/** Substitutions left for the teams. */
|
||||
gint subs_left[2];
|
||||
/** The team that started the game, 0 or 1. */
|
||||
|
@@ -71,8 +71,6 @@ load_save_save_game(const gchar *filename)
|
||||
for(i=0;i<cps->len;i++)
|
||||
xml_loadsave_cup_write(prefix, &cp(i));
|
||||
|
||||
/*todo: acps*/
|
||||
|
||||
if(debug > 60)
|
||||
printf("load_save_save users \n");
|
||||
|
||||
|
19
src/team.c
19
src/team.c
@@ -355,8 +355,7 @@ team_get_fixture(const Team *tm, gboolean last_fixture)
|
||||
if(lig(i).id == tm->clid)
|
||||
{
|
||||
for(j=0;j<lig(i).fixtures->len;j++)
|
||||
if((g_array_index(lig(i).fixtures, Fixture, j).teams[0] == tm ||
|
||||
g_array_index(lig(i).fixtures, Fixture, j).teams[1] == tm))
|
||||
if(query_fixture_team_involved((&g_array_index(lig(i).fixtures, Fixture, j)), tm->id))
|
||||
{
|
||||
if(g_array_index(lig(i).fixtures, Fixture, j).attendance == -1 &&
|
||||
(next_fix == NULL ||
|
||||
@@ -376,8 +375,7 @@ team_get_fixture(const Team *tm, gboolean last_fixture)
|
||||
query_team_is_in_cup(tm, acp(i)))
|
||||
{
|
||||
for(j=0;j<acp(i)->fixtures->len;j++)
|
||||
if((g_array_index(acp(i)->fixtures, Fixture, j).teams[0] == tm ||
|
||||
g_array_index(acp(i)->fixtures, Fixture, j).teams[1] == tm))
|
||||
if(query_fixture_team_involved((&g_array_index(acp(i)->fixtures, Fixture, j)), tm->id))
|
||||
{
|
||||
if(g_array_index(acp(i)->fixtures, Fixture, j).attendance == -1 &&
|
||||
(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]);
|
||||
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;
|
||||
}
|
||||
|
@@ -150,4 +150,7 @@ team_write_results(const Team *tm, gchar *result_buf, gchar *goals_buf);
|
||||
void
|
||||
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
|
||||
|
@@ -9,8 +9,8 @@ enum
|
||||
{
|
||||
TAG_FIXTURES = TAG_START_FIXTURES,
|
||||
TAG_FIXTURE,
|
||||
TAG_FIXTURE_ROUND,
|
||||
TAG_FIXTURE_REPLAY_NUMBER,
|
||||
TAG_FIXTURE_ID,
|
||||
TAG_FIXTURE_WEEK_NUMBER,
|
||||
TAG_FIXTURE_WEEK_ROUND_NUMBER,
|
||||
TAG_FIXTURE_RESULT,
|
||||
@@ -72,8 +72,8 @@ xml_loadsave_fixtures_end_element (GMarkupParseContext *context,
|
||||
state = TAG_FIXTURES;
|
||||
g_array_append_val(fixtures_array, new_fixture);
|
||||
}
|
||||
else if(tag == TAG_FIXTURE_ROUND ||
|
||||
tag == TAG_FIXTURE_REPLAY_NUMBER ||
|
||||
else if(tag == TAG_FIXTURE_REPLAY_NUMBER ||
|
||||
tag == TAG_FIXTURE_ID ||
|
||||
tag == TAG_FIXTURE_WEEK_NUMBER ||
|
||||
tag == TAG_FIXTURE_WEEK_ROUND_NUMBER ||
|
||||
tag == TAG_FIXTURE_RESULT ||
|
||||
@@ -121,6 +121,8 @@ xml_loadsave_fixtures_text (GMarkupParseContext *context,
|
||||
new_fixture.round = int_value;
|
||||
else if(state == TAG_FIXTURE_REPLAY_NUMBER)
|
||||
new_fixture.replay_number = int_value;
|
||||
else if(state == TAG_FIXTURE_ID)
|
||||
new_fixture.id = int_value;
|
||||
else if(state == TAG_FIXTURE_WEEK_NUMBER)
|
||||
new_fixture.week_number = int_value;
|
||||
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).replay_number,
|
||||
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,
|
||||
TAG_FIXTURE_WEEK_NUMBER, I1);
|
||||
xml_write_int(fil, g_array_index(fixtures, Fixture, i).week_round_number,
|
||||
|
@@ -12,8 +12,7 @@
|
||||
enum
|
||||
{
|
||||
TAG_LIVE_GAME = TAG_START_LIVE_GAME,
|
||||
TAG_LIVE_GAME_FIX_CLID,
|
||||
TAG_LIVE_GAME_FIX_IDX,
|
||||
TAG_LIVE_GAME_FIX_ID,
|
||||
TAG_LIVE_GAME_UNIT,
|
||||
TAG_LIVE_GAME_UNIT_POSSESSION,
|
||||
TAG_LIVE_GAME_UNIT_AREA,
|
||||
@@ -38,8 +37,7 @@ enum
|
||||
};
|
||||
|
||||
gint state, unitidx,
|
||||
statvalidx, statvalidx2, statplidx, statplidx2,
|
||||
fix_clid;
|
||||
statvalidx, statvalidx2, statplidx, statplidx2;
|
||||
LiveGameUnit new_unit;
|
||||
LiveGame *lgame;
|
||||
|
||||
@@ -85,8 +83,7 @@ xml_loadsave_live_game_end_element (GMarkupParseContext *context,
|
||||
{
|
||||
gint tag = xml_get_tag_from_name(element_name);
|
||||
|
||||
if(tag == TAG_LIVE_GAME_FIX_IDX ||
|
||||
tag == TAG_LIVE_GAME_FIX_CLID ||
|
||||
if(tag == TAG_LIVE_GAME_FIX_ID ||
|
||||
tag == TAG_LIVE_GAME_UNIT ||
|
||||
tag == TAG_LIVE_GAME_STAT)
|
||||
{
|
||||
@@ -156,17 +153,10 @@ xml_loadsave_live_game_text (GMarkupParseContext *context,
|
||||
|
||||
int_value = (gint)g_ascii_strtod(buf, NULL);
|
||||
|
||||
if(state == TAG_LIVE_GAME_FIX_CLID)
|
||||
lgame->fix_clid = int_value;
|
||||
else if(state == TAG_LIVE_GAME_FIX_IDX)
|
||||
if(state == TAG_LIVE_GAME_FIX_ID)
|
||||
{
|
||||
if(debug > 60)
|
||||
printf("int %d clid %d cup %p\n ",
|
||||
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);
|
||||
lgame->fix_id = int_value;
|
||||
lgame->fix = fixture_from_id(int_value);
|
||||
}
|
||||
else if(state == TAG_LIVE_GAME_UNIT_POSSESSION)
|
||||
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);
|
||||
|
||||
if(live_game->fix != NULL)
|
||||
{
|
||||
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);
|
||||
}
|
||||
xml_write_int(fil, live_game->fix->id, TAG_LIVE_GAME_FIX_ID, I0);
|
||||
|
||||
for(i=0;i<live_game->units->len;i++)
|
||||
xml_loadsave_live_game_write_unit(fil,
|
||||
|
@@ -5,7 +5,6 @@
|
||||
<symbol>flag_brazil.png</symbol>
|
||||
<sid>brazil_prom_games2</sid>
|
||||
<add_week>1000</add_week>
|
||||
<group>3265</group>
|
||||
<property>national</property>
|
||||
<property>highlight2</property>
|
||||
|
||||
|
@@ -5,7 +5,6 @@
|
||||
<symbol>flag_brazil.png</symbol>
|
||||
<sid>brazil_prom_games3</sid>
|
||||
<add_week>1000</add_week>
|
||||
<group>3265</group>
|
||||
<property>national</property>
|
||||
<property>highlight2</property>
|
||||
|
||||
|
@@ -5,7 +5,6 @@
|
||||
<symbol>flag_brazil.png</symbol>
|
||||
<sid>brazil_prom_games4</sid>
|
||||
<add_week>1000</add_week>
|
||||
<group>3265</group>
|
||||
<property>national</property>
|
||||
<property>highlight2</property>
|
||||
|
||||
|
@@ -5,7 +5,6 @@
|
||||
<symbol>flag_brazil.png</symbol>
|
||||
<sid>brazil_prom_games5</sid>
|
||||
<add_week>1000</add_week>
|
||||
<group>3265</group>
|
||||
<property>national</property>
|
||||
<property>highlight2</property>
|
||||
|
||||
|
@@ -5,7 +5,6 @@
|
||||
<symbol>flag_brazil.png</symbol>
|
||||
<sid>brazil_prom_games6</sid>
|
||||
<add_week>1000</add_week>
|
||||
<group>3265</group>
|
||||
<property>national</property>
|
||||
<property>highlight2</property>
|
||||
|
||||
|
@@ -7,7 +7,6 @@
|
||||
<skill_diff>500</skill_diff>
|
||||
<last_week>15</last_week>
|
||||
<week_gap>1</week_gap>
|
||||
<group>1005</group>
|
||||
<property>international</property>
|
||||
<property>hide</property>
|
||||
|
||||
|
@@ -7,7 +7,6 @@
|
||||
<skill_diff>500</skill_diff>
|
||||
<last_week>15</last_week>
|
||||
<week_gap>1</week_gap>
|
||||
<group>1005</group>
|
||||
<property>international</property>
|
||||
<property>hide</property>
|
||||
|
||||
|
@@ -7,7 +7,6 @@
|
||||
<skill_diff>500</skill_diff>
|
||||
<last_week>15</last_week>
|
||||
<week_gap>1</week_gap>
|
||||
<group>1005</group>
|
||||
<property>international</property>
|
||||
<property>hide</property>
|
||||
|
||||
|
@@ -7,7 +7,6 @@
|
||||
<skill_diff>500</skill_diff>
|
||||
<last_week>15</last_week>
|
||||
<week_gap>1</week_gap>
|
||||
<group>1005</group>
|
||||
<property>international</property>
|
||||
<property>hide</property>
|
||||
|
||||
|
@@ -7,7 +7,6 @@
|
||||
<skill_diff>500</skill_diff>
|
||||
<last_week>15</last_week>
|
||||
<week_gap>1</week_gap>
|
||||
<group>1005</group>
|
||||
<property>international</property>
|
||||
<property>hide</property>
|
||||
|
||||
|
@@ -22,6 +22,7 @@
|
||||
<cup>england_prom_games2</cup>
|
||||
<cup>england_prom_games3</cup>
|
||||
<cup>england_prom_games4</cup>
|
||||
<cup>england_prom_games5</cup>
|
||||
</cups>
|
||||
|
||||
</country>
|
||||
|
@@ -12,15 +12,9 @@
|
||||
<cup_round>
|
||||
<home_away>0</home_away>
|
||||
<replay>1</replay>
|
||||
|
||||
<byes>10</byes>
|
||||
|
||||
<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_sid>england3</choose_team_sid>
|
||||
</choose_team>
|
||||
@@ -36,6 +30,19 @@
|
||||
<cup_round>
|
||||
<home_away>0</home_away>
|
||||
<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>
|
||||
<home_away>0</home_away>
|
||||
|
@@ -46,12 +46,6 @@
|
||||
<team>
|
||||
<team_name>Fulham</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Leeds</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Leicester </team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Liverpool</team_name>
|
||||
</team>
|
||||
@@ -71,13 +65,19 @@
|
||||
<team_name>Portsmouth</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Southampton</team_name>
|
||||
<team_name>Sunderland</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Tottenham</team_name>
|
||||
</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>
|
||||
</teams>
|
||||
|
||||
|
@@ -34,7 +34,7 @@
|
||||
|
||||
<teams>
|
||||
<team>
|
||||
<team_name>Bradford</team_name>
|
||||
<team_name>Brighton and Hove</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Burnley</team_name>
|
||||
@@ -55,11 +55,20 @@
|
||||
<team_name>Derby</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Gillingham</team_name>
|
||||
<team_name>Hull</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Ipswich</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Leeds</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Leicester</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Luton</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Millwall</team_name>
|
||||
</team>
|
||||
@@ -67,43 +76,34 @@
|
||||
<team_name>Norwich</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Nottingham</team_name>
|
||||
<team_name>Plymouth</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Preston</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Reading</team_name>
|
||||
<team_name>Queens Park</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Rotherham</team_name>
|
||||
<team_name>Reading</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Sheffield</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Sheffield W.</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Southampton</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Stoke</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Sunderland</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Walsall</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Watford</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>West Bromwich</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_name>Wolverhampton</team_name>
|
||||
</team>
|
||||
</teams>
|
||||
|
||||
|
@@ -40,14 +40,14 @@
|
||||
<team_name>Blackpool</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Bournemouth </team_name>
|
||||
<team_name>Bournemouth</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Bradford</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Brentford</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Brighton and Hove</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Bristol C.</team_name>
|
||||
</team>
|
||||
@@ -58,40 +58,40 @@
|
||||
<team_name>Colchester</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Grimsby Town</team_name>
|
||||
<team_name>Doncaster</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Gillingham</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Hartlepool</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Luton</team_name>
|
||||
<team_name>Huddersfield</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Notts County</team_name>
|
||||
<team_name>Milton Keynes</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Nottingham</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Oldham</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Peterborough</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Plymouth</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Port Vale</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Queens Park</team_name>
|
||||
<team_name>Rotherham</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Northampton</team_name>
|
||||
<team_name>Scunthorpe</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Sheffield</team_name>
|
||||
<team_name>Southend</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Stockport</team_name>
|
||||
<team_name>Swansea</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Swindon</team_name>
|
||||
@@ -100,10 +100,10 @@
|
||||
<team_name>Tranmere</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Wrexham</team_name>
|
||||
<team_name>Walsall</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Wycombe</team_name>
|
||||
<team_name>Yeovil</team_name>
|
||||
</team>
|
||||
</teams>
|
||||
|
||||
|
@@ -33,6 +33,9 @@
|
||||
</prom_rel>
|
||||
|
||||
<teams>
|
||||
<team>
|
||||
<team_name>Barnet</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Boston</team_name>
|
||||
</team>
|
||||
@@ -42,29 +45,20 @@
|
||||
<team>
|
||||
<team_name>Bury</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Cambridge</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Carlisle</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Cheltenham</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Chester</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Darlington</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Doncaster</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Huddersfield </team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Hull</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Kidderminster</team_name>
|
||||
<team_name>Grimsby</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Leyton</team_name>
|
||||
@@ -81,29 +75,35 @@
|
||||
<team>
|
||||
<team_name>Northampton T.</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Notts County</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Oxford</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Peterborough</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Rochdale</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Scunthorpe</team_name>
|
||||
<team_name>Rushden and Irthlingbro'</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Southend</team_name>
|
||||
<team_name>Shrewsbury</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Swansea</team_name>
|
||||
<team_name>Stockport</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Torquay</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Yeovil</team_name>
|
||||
<team_name>Wrexham</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>York</team_name>
|
||||
<team_name>Wycombe</team_name>
|
||||
</team>
|
||||
</teams>
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<league>
|
||||
|
||||
<sid>england5</sid>
|
||||
<name>Nationwide Conference</name>
|
||||
<name>National Conference</name>
|
||||
<short_name>Nat. Conf.</short_name>
|
||||
<symbol>flag_england.png</symbol>
|
||||
<first_week>1</first_week>
|
||||
@@ -10,14 +10,17 @@
|
||||
<average_skill>4000</average_skill>
|
||||
|
||||
<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>
|
||||
<rank_start>1</rank_start>
|
||||
<rank_end>2</rank_end>
|
||||
<rank_end>1</rank_end>
|
||||
<dest_sid>england4</dest_sid>
|
||||
<prom_rel_type>promotion</prom_rel_type>
|
||||
</prom_rel_element>
|
||||
|
||||
</prom_rel>
|
||||
|
||||
<teams>
|
||||
@@ -28,13 +31,19 @@
|
||||
<team_name>Aldershot</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Barnet</team_name>
|
||||
<team_name>Altrincham</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Burton</team_name>
|
||||
</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_name>Dagenham and Redbridge</team_name>
|
||||
@@ -42,26 +51,20 @@
|
||||
<team>
|
||||
<team_name>Exeter</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Farnborough</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Forest Green</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Gravesend and Northfleet</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Halifax Town </team_name>
|
||||
<team_name>Grays</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Halifax</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Hereford</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Leigh</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Margate</team_name>
|
||||
<team_name>Kidderminster</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Morecambe</team_name>
|
||||
@@ -73,7 +76,7 @@
|
||||
<team_name>Scarborough</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Shrewsbury</team_name>
|
||||
<team_name>Southport</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Stevenage</team_name>
|
||||
@@ -82,10 +85,10 @@
|
||||
<team_name>Tamworth</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Telford</team_name>
|
||||
<team_name>Woking</team_name>
|
||||
</team>
|
||||
<team>
|
||||
<team_name>Woking</team_name>
|
||||
<team_name>York</team_name>
|
||||
</team>
|
||||
</teams>
|
||||
|
||||
|
@@ -8,7 +8,6 @@
|
||||
<week_gap>1</week_gap>
|
||||
<property>national</property>
|
||||
<property>highlight1</property>
|
||||
<group>100</group>
|
||||
|
||||
<cup_rounds>
|
||||
<cup_round>
|
||||
|
@@ -8,7 +8,6 @@
|
||||
<week_gap>1</week_gap>
|
||||
<property>national</property>
|
||||
<property>highlight1</property>
|
||||
<group>100</group>
|
||||
|
||||
<cup_rounds>
|
||||
<cup_round>
|
||||
|
Reference in New Issue
Block a user