mirror of
https://github.com/tstellar/bygfoot.git
synced 2025-01-27 14:09:24 +01:00
"-m Player name files, first and last names."
This commit is contained in:
parent
65e0e9e338
commit
d8c8eee3c1
File diff suppressed because one or more lines are too long
@ -34,12 +34,13 @@ bygfoot_SOURCES = \
|
||||
misc2_callbacks.c callbacks.h callback_func.h debug.h finance.h game_gui.h load_save.h main.h misc2_callbacks.h misc2_callback_func.h misc2_interface.h player.h support.h transfer.h treeview.h user.h window.h \
|
||||
misc2_callback_func.c callbacks.h file.h finance.h game_gui.h maths.h misc2_callback_func.h option.h player.h support.h team.h treeview.h transfer.h user.h window.h \
|
||||
misc2_interface.c misc2_interface.h misc2_callbacks.h support.h \
|
||||
name.c name.h option.h variables.h xml_name.h \
|
||||
option.c option.h variables.h \
|
||||
option_gui.c file.h game_gui.h callbacks.h option_gui.h option.h support.h user.h variables.h \
|
||||
options_callbacks.c file.h options_callbacks.h options_interface.h option_gui.h support.h user.h variables.h window.h \
|
||||
options_interface.c options_interface.h options_callbacks.h support.h \
|
||||
player.c cup.h fixture.h free.h game_gui.h league.h maths.h misc.h option.h player.h team.h user.h \
|
||||
start_end.c cup.h file.h finance.h fixture.h free.h game_gui.h gui.h league.h load_save.h live_game.h main.h maths.h misc.h option.h start_end.h stat.h table.h team.h transfer.h user.h variables.h xml_name.h \
|
||||
player.c cup.h fixture.h free.h game_gui.h league.h maths.h misc.h name.h option.h player.h team.h user.h \
|
||||
start_end.c cup.h file.h finance.h fixture.h free.h game_gui.h gui.h league.h load_save.h live_game.h main.h maths.h misc.h name.h option.h start_end.h stat.h table.h team.h transfer.h user.h variables.h xml_name.h \
|
||||
stat.c cup.h free.h league.h option.h player.h stat.h table_struct.h team.h variables.h \
|
||||
support.c support.h \
|
||||
table.c cup.h league.h table.h variables.h \
|
||||
|
@ -54,16 +54,13 @@
|
||||
/** Convenience abbreviation. */
|
||||
#define acp(i) ((Cup*)g_ptr_array_index(country.allcups, i))
|
||||
|
||||
/** Convenience abbreviation. */
|
||||
#define player_name(i) ((GString*)g_ptr_array_index(player_names, i))->str;
|
||||
|
||||
/** Convenience abbrevs. */
|
||||
#define stat0 status[0]
|
||||
#define stat1 status[1]
|
||||
#define stat2 status[2]
|
||||
#define stat3 status[3]
|
||||
#define stat4 status[4]
|
||||
#define old_stat status[5]
|
||||
#define stat5 status[5]
|
||||
|
||||
#define debug opt_int("int_opt_debug")
|
||||
|
||||
|
@ -100,6 +100,7 @@ enum Status0Value
|
||||
STATUS_QUERY_UNFIT,
|
||||
STATUS_QUERY_QUIT,
|
||||
STATUS_QUERY_USER_NO_TURN,
|
||||
STATUS_GENERATE_TEAMS,
|
||||
STATUS_END
|
||||
};
|
||||
|
||||
|
54
src/free.c
54
src/free.c
@ -11,6 +11,7 @@ void
|
||||
free_memory(void)
|
||||
{
|
||||
free_variables();
|
||||
free_names(FALSE);
|
||||
free_transfer_list();
|
||||
free_country(FALSE);
|
||||
free_users(FALSE);
|
||||
@ -444,8 +445,6 @@ free_cup_choose_team(CupChooseTeam *cup_choose_team)
|
||||
void
|
||||
free_variables(void)
|
||||
{
|
||||
free_g_string_array(&player_names);
|
||||
|
||||
free_option_list(&options, FALSE);
|
||||
free_option_list(&constants, FALSE);
|
||||
free_option_list(&constants_app, FALSE);
|
||||
@ -532,3 +531,54 @@ free_support_dirs(void)
|
||||
g_list_free(support_directories);
|
||||
support_directories = NULL;
|
||||
}
|
||||
|
||||
/** Free a list of names. */
|
||||
void
|
||||
free_name_list(NameList *namelist, gboolean reset)
|
||||
{
|
||||
if(namelist->sid == NULL)
|
||||
{
|
||||
if(reset)
|
||||
{
|
||||
namelist->sid = g_string_new("");
|
||||
namelist->first_names = g_ptr_array_new();
|
||||
namelist->last_names = g_ptr_array_new();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
free_g_string(&namelist->sid);
|
||||
free_g_ptr_array(&namelist->first_names);
|
||||
free_g_ptr_array(&namelist->last_names);
|
||||
|
||||
if(reset)
|
||||
{
|
||||
namelist->sid = g_string_new("");
|
||||
namelist->first_names = g_ptr_array_new();
|
||||
namelist->last_names = g_ptr_array_new();
|
||||
}
|
||||
}
|
||||
|
||||
/** Free the array with the name lists. */
|
||||
void
|
||||
free_names(gboolean reset)
|
||||
{
|
||||
gint i;
|
||||
|
||||
if(name_lists == NULL)
|
||||
{
|
||||
if(reset)
|
||||
name_lists = g_array_new(FALSE, FALSE, sizeof(NameList));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
for(i=0;i<name_lists->len;i++)
|
||||
free_name_list(&g_array_index(name_lists, NameList, i), FALSE);
|
||||
|
||||
free_g_array(&name_lists);
|
||||
|
||||
if(reset)
|
||||
name_lists = g_array_new(FALSE, FALSE, sizeof(NameList));
|
||||
}
|
||||
|
@ -5,6 +5,7 @@
|
||||
#include "cup_struct.h"
|
||||
#include "league_struct.h"
|
||||
#include "live_game_struct.h"
|
||||
#include "name_struct.h"
|
||||
#include "player_struct.h"
|
||||
#include "team_struct.h"
|
||||
#include "user_struct.h"
|
||||
@ -87,4 +88,10 @@ free_season_stats(gboolean reset);
|
||||
void
|
||||
free_transfer_list(void);
|
||||
|
||||
void
|
||||
free_name_list(NameList *namelist, gboolean reset);
|
||||
|
||||
void
|
||||
free_names(gboolean reset);
|
||||
|
||||
#endif
|
||||
|
@ -21,6 +21,7 @@ league_new(gboolean new_id)
|
||||
League new;
|
||||
|
||||
new.name = g_string_new("");
|
||||
new.names_file = g_string_new(opt_str("string_opt_player_names_file"));
|
||||
new.sid = g_string_new("");
|
||||
new.short_name = g_string_new("");
|
||||
new.symbol = g_string_new("");
|
||||
|
@ -61,6 +61,10 @@ typedef struct
|
||||
{
|
||||
/** Default value "" */
|
||||
GString *name, *short_name, *sid, *symbol;
|
||||
/** The sid of the player names file the
|
||||
teams in the league take their names from.
|
||||
Default: 'general', meaning the 'player_names_general.xml' file. */
|
||||
GString *names_file;
|
||||
/** @see PromRel */
|
||||
PromRel prom_rel;
|
||||
/** Numerical id, as opposed to the string id 'sid'. */
|
||||
|
@ -380,17 +380,17 @@ lg_commentary_get_player_name(const LiveGameUnit *unit, const Fixture *fix, gboo
|
||||
|
||||
if(unit->event.type == LIVE_GAME_EVENT_GENERAL)
|
||||
return_value = (player2) ?
|
||||
player_of_id_team(fix->teams[unit->possession],
|
||||
unit->event.player2)->name->str :
|
||||
player_of_id_team(fix->teams[unit->possession],
|
||||
unit->event.player)->name->str;
|
||||
player_get_last_name(player_of_id_team(fix->teams[unit->possession],
|
||||
unit->event.player2)->name->str) :
|
||||
player_get_last_name(player_of_id_team(fix->teams[unit->possession],
|
||||
unit->event.player)->name->str);
|
||||
else if(unit->event.type == LIVE_GAME_EVENT_LOST_POSSESSION)
|
||||
{
|
||||
return_value = (player2) ?
|
||||
player_of_id_team(fix->teams[!unit->possession],
|
||||
unit->event.player2)->name->str:
|
||||
player_of_id_team(fix->teams[unit->possession],
|
||||
unit->event.player)->name->str;
|
||||
player_get_last_name(player_of_id_team(fix->teams[!unit->possession],
|
||||
unit->event.player2)->name->str):
|
||||
player_get_last_name(player_of_id_team(fix->teams[unit->possession],
|
||||
unit->event.player)->name->str);
|
||||
}
|
||||
else if(unit->event.type == LIVE_GAME_EVENT_SCORING_CHANCE ||
|
||||
unit->event.type == LIVE_GAME_EVENT_HEADER ||
|
||||
@ -398,10 +398,10 @@ lg_commentary_get_player_name(const LiveGameUnit *unit, const Fixture *fix, gboo
|
||||
unit->event.type == LIVE_GAME_EVENT_FREE_KICK)
|
||||
{
|
||||
return_value = (player2) ?
|
||||
player_of_id_team(fix->teams[unit->possession],
|
||||
unit->event.player2)->name->str :
|
||||
player_of_id_team(fix->teams[unit->possession],
|
||||
unit->event.player)->name->str;
|
||||
player_get_last_name(player_of_id_team(fix->teams[unit->possession],
|
||||
unit->event.player2)->name->str) :
|
||||
player_get_last_name(player_of_id_team(fix->teams[unit->possession],
|
||||
unit->event.player)->name->str);
|
||||
}
|
||||
else if(unit->event.type == LIVE_GAME_EVENT_GOAL ||
|
||||
unit->event.type == LIVE_GAME_EVENT_MISSED ||
|
||||
@ -410,35 +410,35 @@ lg_commentary_get_player_name(const LiveGameUnit *unit, const Fixture *fix, gboo
|
||||
unit->event.type == LIVE_GAME_EVENT_CROSS_BAR)
|
||||
{
|
||||
return_value = (player2) ?
|
||||
player_of_id_team(fix->teams[!unit->possession],
|
||||
unit->event.player2)->name->str :
|
||||
player_of_id_team(fix->teams[unit->possession],
|
||||
unit->event.player)->name->str;
|
||||
player_get_last_name(player_of_id_team(fix->teams[!unit->possession],
|
||||
unit->event.player2)->name->str) :
|
||||
player_get_last_name(player_of_id_team(fix->teams[unit->possession],
|
||||
unit->event.player)->name->str);
|
||||
}
|
||||
else if(unit->event.type == LIVE_GAME_EVENT_OWN_GOAL)
|
||||
return_value =
|
||||
player_of_id_team(fix->teams[!unit->possession],
|
||||
unit->event.player)->name->str;
|
||||
player_get_last_name(player_of_id_team(fix->teams[!unit->possession],
|
||||
unit->event.player)->name->str);
|
||||
else if(unit->event.type == LIVE_GAME_EVENT_FOUL ||
|
||||
unit->event.type == LIVE_GAME_EVENT_FOUL_RED ||
|
||||
unit->event.type == LIVE_GAME_EVENT_FOUL_RED_INJURY ||
|
||||
unit->event.type == LIVE_GAME_EVENT_FOUL_YELLOW)
|
||||
{
|
||||
return_value = (player2) ?
|
||||
player_of_id_team(fix->teams[unit->event.team],
|
||||
unit->event.player2)->name->str :
|
||||
player_of_id_team(fix->teams[!unit->event.team],
|
||||
unit->event.player)->name->str;
|
||||
player_get_last_name(player_of_id_team(fix->teams[unit->event.team],
|
||||
unit->event.player2)->name->str) :
|
||||
player_get_last_name(player_of_id_team(fix->teams[!unit->event.team],
|
||||
unit->event.player)->name->str);
|
||||
}
|
||||
else if(unit->event.type == LIVE_GAME_EVENT_SEND_OFF ||
|
||||
unit->event.type == LIVE_GAME_EVENT_INJURY ||
|
||||
unit->event.type == LIVE_GAME_EVENT_TEMP_INJURY ||
|
||||
unit->event.type == LIVE_GAME_EVENT_SUBSTITUTION)
|
||||
return_value = (player2) ?
|
||||
player_of_id_team(fix->teams[unit->event.team],
|
||||
unit->event.player2)->name->str :
|
||||
player_of_id_team(fix->teams[unit->event.team],
|
||||
unit->event.player)->name->str;
|
||||
player_get_last_name(player_of_id_team(fix->teams[unit->event.team],
|
||||
unit->event.player2)->name->str) :
|
||||
player_get_last_name(player_of_id_team(fix->teams[unit->event.team],
|
||||
unit->event.player)->name->str);
|
||||
else
|
||||
g_warning("lg_commentary_get_player_name: unknown event type %d\n",
|
||||
unit->event.type);
|
||||
|
@ -15,9 +15,9 @@ enum LGTokens
|
||||
LG_TOKEN_TEAM_LOSING,
|
||||
LG_TOKEN_TEAM_WINNING,
|
||||
LG_TOKEN_TEAM,
|
||||
LG_TOKEN_ATTENDANCE,
|
||||
LG_TOKEN_PLAYER1,
|
||||
LG_TOKEN_PLAYER2,
|
||||
LG_TOKEN_ATTENDANCE,
|
||||
LG_TOKEN_RESULT,
|
||||
LG_TOKEN_MINUTE,
|
||||
LG_TOKEN_EXTRA,
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include "free.h"
|
||||
#include "live_game.h"
|
||||
#include "main.h"
|
||||
#include "name_struct.h"
|
||||
#include "transfer_struct.h"
|
||||
#include "stat_struct.h"
|
||||
#include "variables.h"
|
||||
@ -26,7 +27,6 @@ main_init_variables(void)
|
||||
ligs = cps = NULL;
|
||||
acps = NULL;
|
||||
country.name = country.symbol = country.sid = NULL;
|
||||
player_names = NULL;
|
||||
|
||||
season = week = week_round = 1;
|
||||
|
||||
@ -47,6 +47,7 @@ main_init_variables(void)
|
||||
users = g_array_new(FALSE, FALSE, sizeof(User));
|
||||
transfer_list = g_array_new(FALSE, FALSE, sizeof(Transfer));
|
||||
season_stats = g_array_new(FALSE, FALSE, sizeof(SeasonStat));
|
||||
name_lists = g_array_new(FALSE, FALSE, sizeof(NameList));
|
||||
|
||||
save_file = g_string_new("");
|
||||
|
||||
|
@ -40,7 +40,7 @@ misc_callback_start_game(void)
|
||||
|
||||
start_new_game();
|
||||
|
||||
for(i=0;i<users->len;i++)
|
||||
for(i=0;i<users->len;i++)
|
||||
user_set_up_team_new_game(&usr(i));
|
||||
|
||||
window_destroy(&window.startup, TRUE);
|
||||
@ -237,6 +237,5 @@ misc_callback_startup_load(const gchar *filename)
|
||||
{
|
||||
window_destroy(&window.startup, TRUE);
|
||||
window_create(WINDOW_MAIN);
|
||||
xml_name_read(opt_str("string_opt_player_names_file"), 1000);
|
||||
load_save_load_game(filename);
|
||||
}
|
||||
|
83
src/name.c
Normal file
83
src/name.c
Normal file
@ -0,0 +1,83 @@
|
||||
#include "name.h"
|
||||
#include "option.h"
|
||||
#include "variables.h"
|
||||
#include "xml_name.h"
|
||||
|
||||
/** Get a random player name from the given
|
||||
names list. If the names list is not found, create
|
||||
it from file. If the file can't be found, either,
|
||||
make some fuss and take one from the general names. */
|
||||
GString*
|
||||
name_get(const gchar *names_file)
|
||||
{
|
||||
gint i;
|
||||
NameList new;
|
||||
|
||||
if(name_lists->len > 1 &&
|
||||
math_rnd(0, 1) < const_float("float_name_random_list_prob"))
|
||||
return name_get_from_random_list();
|
||||
|
||||
for(i=0;i<name_lists->len;i++)
|
||||
if(strcmp(names_file, nli(i).sid->str) == 0)
|
||||
return name_get_from_list(&nli(i));
|
||||
|
||||
/** Create new name list. */
|
||||
new.sid = NULL;
|
||||
new.first_names = new.last_names = NULL;
|
||||
|
||||
xml_name_read(names_file, &new);
|
||||
|
||||
if(new.sid == NULL)
|
||||
{
|
||||
g_warning("name_get_new: names file with sid %s not found, taking general names file.\n",
|
||||
names_file);
|
||||
return name_get(opt_str("string_opt_player_names_file"));
|
||||
}
|
||||
|
||||
if(stat5 != STATUS_GENERATE_TEAMS)
|
||||
name_shorten_list(&new);
|
||||
|
||||
g_array_append_val(name_lists, new);
|
||||
|
||||
return name_get_from_list(&nli(name_lists->len - 1));
|
||||
}
|
||||
|
||||
/** Return a newly allocated GString with a randomly
|
||||
picked combined name from the list. */
|
||||
GString*
|
||||
name_get_from_list(const NameList *namelist)
|
||||
{
|
||||
gchar buf[SMALL];
|
||||
|
||||
sprintf(buf, "%s %s", name_get_random_first_name(namelist),
|
||||
name_get_random_last_name(namelist));
|
||||
|
||||
return g_string_new(buf);
|
||||
}
|
||||
|
||||
/** Shorten a name list so that it doesn't occupy
|
||||
too much memory. */
|
||||
void
|
||||
name_shorten_list(NameList *namelist)
|
||||
{
|
||||
gint idx;
|
||||
|
||||
while(namelist->first_names->len * namelist->last_names->len >
|
||||
const_int("int_name_max_product"))
|
||||
{
|
||||
if((gfloat)(namelist->first_names->len) /
|
||||
(gfloat)(namelist->last_names->len) >
|
||||
const_float("float_name_first_last_ratio"))
|
||||
{
|
||||
idx = math_rndi(0, namelist->first_names->len - 1);
|
||||
g_string_free((GString*)g_ptr_array_index(namelist->first_names, idx), TRUE);
|
||||
g_ptr_array_remove_index_fast(namelist->first_names, idx);
|
||||
}
|
||||
else
|
||||
{
|
||||
idx = math_rndi(0, namelist->last_names->len - 1);
|
||||
g_string_free((GString*)g_ptr_array_index(namelist->last_names, idx), TRUE);
|
||||
g_ptr_array_remove_index_fast(namelist->last_names, idx);
|
||||
}
|
||||
}
|
||||
}
|
24
src/name.h
Normal file
24
src/name.h
Normal file
@ -0,0 +1,24 @@
|
||||
#ifndef NAME_H
|
||||
#define NAME_H
|
||||
|
||||
#include "bygfoot.h"
|
||||
#include "name_struct.h"
|
||||
#include "maths.h"
|
||||
|
||||
#define nli(i) g_array_index(name_lists, NameList, i)
|
||||
#define name_get_random_first_name(namelist) ((GString*)g_ptr_array_index(namelist->first_names, math_rndi(0, namelist->first_names->len - 1)))->str
|
||||
#define name_get_random_last_name(namelist) ((GString*)g_ptr_array_index(namelist->last_names, math_rndi(0, namelist->last_names->len - 1)))->str
|
||||
|
||||
/** Get a name from a randomly picked name list. */
|
||||
#define name_get_from_random_list() name_get_from_list(&nli(math_rndi(0, name_lists->len - 1)))
|
||||
|
||||
void
|
||||
name_shorten_list(NameList *namelist);
|
||||
|
||||
GString*
|
||||
name_get(const gchar *names_file);
|
||||
|
||||
GString*
|
||||
name_get_from_list(const NameList *namelist);
|
||||
|
||||
#endif
|
18
src/name_struct.h
Normal file
18
src/name_struct.h
Normal file
@ -0,0 +1,18 @@
|
||||
#ifndef NAME_STRUCT_H
|
||||
#define NAME_STRUCT_H
|
||||
|
||||
#include "bygfoot.h"
|
||||
|
||||
/** A list of first names and last names
|
||||
from a file. */
|
||||
typedef struct
|
||||
{
|
||||
/** The file id (the part between 'player_names_' and '.xml'). */
|
||||
GString *sid;
|
||||
/** Arrays of GStrings holding the names. */
|
||||
GPtrArray *first_names,
|
||||
*last_names;
|
||||
|
||||
} NameList;
|
||||
|
||||
#endif
|
38
src/player.c
38
src/player.c
@ -5,6 +5,7 @@
|
||||
#include "league.h"
|
||||
#include "maths.h"
|
||||
#include "misc.h"
|
||||
#include "name.h"
|
||||
#include "option.h"
|
||||
#include "player.h"
|
||||
#include "team.h"
|
||||
@ -24,8 +25,8 @@ player_new(Team *tm, gfloat average_skill, gboolean new_id)
|
||||
1 + const_float("float_player_average_skill_variance"));
|
||||
Player new;
|
||||
|
||||
new.name =
|
||||
g_string_new(((GString*)g_ptr_array_index(player_names, math_rndi(0, player_names->len - 1)))->str);
|
||||
new.name = name_get(tm->names_file->str);
|
||||
|
||||
new.id = (new_id) ? player_id_new : -1;
|
||||
new.pos = player_get_position_from_structure(tm->structure, tm->players->len);
|
||||
new.cpos = new.pos;
|
||||
@ -1141,3 +1142,36 @@ player_season_start(Player *pl, gfloat skill_change)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Return the last name of a player. */
|
||||
gchar*
|
||||
player_get_last_name(const gchar *name)
|
||||
{
|
||||
gint i;
|
||||
gchar buf[SMALL];
|
||||
gchar *rev_name = NULL;
|
||||
const gchar *temp;
|
||||
|
||||
if(!g_utf8_validate(name, -1, NULL))
|
||||
{
|
||||
g_warning("player_get_last_name: invalid utf8-string: %s \n", name);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
temp = name;
|
||||
for(i=0;i<g_utf8_strlen(name, -1);i++)
|
||||
{
|
||||
temp = g_utf8_next_char(temp);
|
||||
if(g_unichar_isspace(g_utf8_get_char(temp)))
|
||||
break;
|
||||
}
|
||||
|
||||
rev_name = g_utf8_strreverse(name, -1);
|
||||
|
||||
g_utf8_strncpy(buf, rev_name, g_utf8_strlen(name, -1) - i - 2);
|
||||
g_free(rev_name);
|
||||
|
||||
rev_name = g_utf8_strreverse(buf, -1);
|
||||
|
||||
return rev_name;
|
||||
}
|
||||
|
@ -127,4 +127,7 @@ player_id_team(gint player_id);
|
||||
void
|
||||
player_season_start(Player *pl, gfloat skill_change);
|
||||
|
||||
gchar*
|
||||
player_get_last_name(const gchar *name);
|
||||
|
||||
#endif
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "main.h"
|
||||
#include "maths.h"
|
||||
#include "misc.h"
|
||||
#include "name.h"
|
||||
#include "option.h"
|
||||
#include "start_end.h"
|
||||
#include "stat.h"
|
||||
@ -49,11 +50,9 @@ WeekFunc end_week_funcs[] = {stat_update_leagues, end_week_hide_cups, NULL};
|
||||
void
|
||||
start_new_game(void)
|
||||
{
|
||||
xml_name_read(opt_str("string_opt_player_names_file"), -1);
|
||||
start_write_variables();
|
||||
start_generate_league_teams();
|
||||
start_new_season();
|
||||
xml_name_read(opt_str("string_opt_player_names_file"), 1000);
|
||||
}
|
||||
|
||||
/** Make new fixtures, nullify things etc. */
|
||||
@ -62,8 +61,6 @@ start_new_season(void)
|
||||
{
|
||||
gint i;
|
||||
|
||||
xml_name_read(opt_str("string_opt_player_names_file"), 1000);
|
||||
|
||||
week = week_round = 1;
|
||||
|
||||
if(season > 1)
|
||||
@ -100,6 +97,8 @@ start_new_season(void)
|
||||
for(i=0;i<ligs->len;i++)
|
||||
fixture_write_league_fixtures(&lig(i));
|
||||
|
||||
free_names(TRUE);
|
||||
stat5 = STATUS_GENERATE_TEAMS;
|
||||
for(i=cps->len - 1; i >= 0; i--)
|
||||
{
|
||||
cup_reset(&cp(i));
|
||||
@ -107,10 +106,14 @@ start_new_season(void)
|
||||
if(cp(i).add_week == 0)
|
||||
fixture_write_cup_fixtures(&cp(i));
|
||||
}
|
||||
stat5 = -1;
|
||||
|
||||
if(season > 1)
|
||||
for(i=0;i<ligs->len;i++)
|
||||
league_season_start(&lig(i));
|
||||
|
||||
for(i=0;i<name_lists->len;i++)
|
||||
name_shorten_list(&nli(i));
|
||||
}
|
||||
|
||||
/** Fill some global variables with default values at the
|
||||
@ -133,6 +136,8 @@ start_generate_league_teams(void)
|
||||
{
|
||||
gint i, j;
|
||||
|
||||
stat5 = STATUS_GENERATE_TEAMS;
|
||||
|
||||
if(ligs->len == 0)
|
||||
main_exit_program(EXIT_NO_LEAGUES,
|
||||
"start_generate_league_teams: no leagues found. there must be at least one league in the game.\n");
|
||||
@ -140,6 +145,8 @@ start_generate_league_teams(void)
|
||||
for(i=0;i<ligs->len;i++)
|
||||
for(j=0;j<lig(i).teams->len;j++)
|
||||
team_generate_players_stadium(&g_array_index(lig(i).teams, Team, j));
|
||||
|
||||
stat5 = -1;
|
||||
}
|
||||
|
||||
/** End a week round. */
|
||||
|
@ -23,6 +23,7 @@ team_new(gboolean new_id)
|
||||
Team new;
|
||||
|
||||
new.name = g_string_new("");
|
||||
new.names_file = g_string_new("");
|
||||
new.symbol = g_string_new("");
|
||||
|
||||
new.clid = -1;
|
||||
|
@ -46,9 +46,11 @@ typedef struct
|
||||
@see Player */
|
||||
typedef struct
|
||||
{
|
||||
GString *name;
|
||||
GString *symbol;
|
||||
|
||||
GString *name, *symbol;
|
||||
/** File the team takes the
|
||||
player names from. */
|
||||
GString *names_file;
|
||||
|
||||
gint clid, /**< Numerical id of the league or cup the team belongs to. */
|
||||
id, /**< Id of the team. */
|
||||
structure, /**< Playing structure. @see team_assign_playing_structure() */
|
||||
|
@ -50,8 +50,8 @@ gpointer statp;
|
||||
/** The currently selected rows in the treeviews. */
|
||||
gint selected_row[2];
|
||||
|
||||
/** An array of player names that we keep in memory. */
|
||||
GPtrArray *player_names;
|
||||
/** An array of name lists. */
|
||||
GArray *name_lists;
|
||||
|
||||
/** The struct containing the window pointers. */
|
||||
Windows window;
|
||||
|
@ -26,6 +26,7 @@ enum XmlTags
|
||||
TAG_WEEK_GAP,
|
||||
TAG_YELLOW_RED,
|
||||
TAG_TEAM_ID,
|
||||
TAG_NAMES_FILE,
|
||||
TAG_ROUND
|
||||
};
|
||||
|
||||
|
@ -23,6 +23,7 @@
|
||||
#define TAG_ROUND_ROBINS "round_robins"
|
||||
#define TAG_YELLOW_RED "yellow_red"
|
||||
#define TAG_AVERAGE_SKILL "average_skill"
|
||||
#define TAG_NAMES_FILE "names_file"
|
||||
#define TAG_PROM_REL "prom_rel"
|
||||
#define TAG_PROM_GAMES "prom_games"
|
||||
#define TAG_PROM_GAMES_DEST_SID "prom_games_dest_sid"
|
||||
@ -54,6 +55,7 @@ enum XmlLeagueStates
|
||||
STATE_ROUND_ROBINS,
|
||||
STATE_YELLOW_RED,
|
||||
STATE_AVERAGE_SKILL,
|
||||
STATE_NAMES_FILE,
|
||||
STATE_PROM_REL,
|
||||
STATE_PROM_GAMES,
|
||||
STATE_PROM_GAMES_DEST_SID,
|
||||
@ -121,6 +123,8 @@ xml_league_read_start_element (GMarkupParseContext *context,
|
||||
state = STATE_YELLOW_RED;
|
||||
else if(strcmp(element_name, TAG_AVERAGE_SKILL) == 0)
|
||||
state = STATE_AVERAGE_SKILL;
|
||||
else if(strcmp(element_name, TAG_NAMES_FILE) == 0)
|
||||
state = STATE_NAMES_FILE;
|
||||
else if(strcmp(element_name, TAG_PROM_REL) == 0)
|
||||
state = STATE_PROM_REL;
|
||||
else if(strcmp(element_name, TAG_PROM_GAMES) == 0)
|
||||
@ -153,6 +157,7 @@ xml_league_read_start_element (GMarkupParseContext *context,
|
||||
{
|
||||
new_team = team_new(TRUE);
|
||||
g_string_printf(new_team.symbol, "%s", new_league.symbol->str);
|
||||
g_string_printf(new_team.names_file, "%s", new_league.names_file->str);
|
||||
new_team.clid = new_league.id;
|
||||
g_array_append_val(new_league.teams, new_team);
|
||||
state = STATE_TEAM;
|
||||
@ -186,6 +191,7 @@ xml_league_read_end_element (GMarkupParseContext *context,
|
||||
strcmp(element_name, TAG_ROUND_ROBINS) == 0 ||
|
||||
strcmp(element_name, TAG_YELLOW_RED) == 0 ||
|
||||
strcmp(element_name, TAG_AVERAGE_SKILL) == 0 ||
|
||||
strcmp(element_name, TAG_NAMES_FILE) == 0 ||
|
||||
strcmp(element_name, TAG_PROM_REL) == 0 ||
|
||||
strcmp(element_name, TAG_TEAMS) == 0)
|
||||
state = STATE_LEAGUE;
|
||||
@ -255,6 +261,8 @@ xml_league_read_text (GMarkupParseContext *context,
|
||||
new_league.yellow_red = value;
|
||||
else if(state == STATE_AVERAGE_SKILL)
|
||||
new_league.average_skill = value;
|
||||
else if(state == STATE_NAMES_FILE)
|
||||
g_string_printf(new_league.names_file, "%s", buf);
|
||||
else if(state == STATE_PROM_GAMES_DEST_SID)
|
||||
g_string_printf(new_league.prom_rel.prom_games_dest_sid, "%s", buf);
|
||||
else if(state == STATE_PROM_GAMES_LOSER_SID)
|
||||
|
@ -84,6 +84,7 @@ xml_loadsave_league_end_element (GMarkupParseContext *context,
|
||||
tag == TAG_LEAGUE_AVERAGE_SKILL ||
|
||||
tag == TAG_LEAGUE_ROUND_ROBINS ||
|
||||
tag == TAG_NAME ||
|
||||
tag == TAG_NAMES_FILE ||
|
||||
tag == TAG_SHORT_NAME ||
|
||||
tag == TAG_SYMBOL ||
|
||||
tag == TAG_SID ||
|
||||
@ -136,6 +137,8 @@ xml_loadsave_league_text (GMarkupParseContext *context,
|
||||
g_string_printf(new_league->name, "%s", buf);
|
||||
else if(state == TAG_SHORT_NAME)
|
||||
g_string_printf(new_league->short_name, "%s", buf);
|
||||
else if(state == TAG_NAMES_FILE)
|
||||
g_string_printf(new_league->names_file, "%s", buf);
|
||||
else if(state == TAG_SYMBOL)
|
||||
g_string_printf(new_league->symbol, "%s", buf);
|
||||
else if(state == TAG_SID)
|
||||
@ -231,6 +234,7 @@ xml_loadsave_league_write(const gchar *prefix, const League *league)
|
||||
|
||||
xml_write_g_string(fil, league->name, TAG_NAME, I0);
|
||||
xml_write_g_string(fil, league->short_name, TAG_SHORT_NAME, I0);
|
||||
xml_write_g_string(fil, league->names_file, TAG_NAMES_FILE, I0);
|
||||
xml_write_g_string(fil, league->sid, TAG_SID, I0);
|
||||
xml_write_g_string(fil, league->symbol, TAG_SYMBOL, I0);
|
||||
|
||||
|
@ -1,26 +1,26 @@
|
||||
#include "file.h"
|
||||
#include "free.h"
|
||||
#include "maths.h"
|
||||
#include "misc.h"
|
||||
#include "name.h"
|
||||
#include "variables.h"
|
||||
#include "xml_name.h"
|
||||
|
||||
#define TAG_NAMES "player_names"
|
||||
#define TAG_PLAYER_NAME "player_name"
|
||||
#define TAG_PLAYER_NAME_NAME "name"
|
||||
#define TAG_NAMES "names"
|
||||
#define TAG_LAST_NAME "last_name"
|
||||
#define TAG_FIRST_NAME "first_name"
|
||||
|
||||
enum XmlNameStates
|
||||
{
|
||||
STATE_NAMES = 0,
|
||||
STATE_PLAYER_NAME,
|
||||
STATE_PLAYER_NAME_NAME,
|
||||
STATE_LAST_NAME,
|
||||
STATE_FIRST_NAME,
|
||||
STATE_END
|
||||
};
|
||||
|
||||
/** Keep track of the state. */
|
||||
gint state;
|
||||
GPtrArray *temp_array;
|
||||
GString *new_name;
|
||||
/** The name list we read into. */
|
||||
NameList *nlist;
|
||||
|
||||
/** @see xml_league_read_start_element */
|
||||
void
|
||||
@ -33,13 +33,10 @@ xml_name_read_start_element (GMarkupParseContext *context,
|
||||
{
|
||||
if(strcmp(element_name, TAG_NAMES) == 0)
|
||||
state = STATE_NAMES;
|
||||
else if(strcmp(element_name, TAG_PLAYER_NAME) == 0)
|
||||
{
|
||||
new_name = g_string_new("");
|
||||
state = STATE_PLAYER_NAME;
|
||||
}
|
||||
else if(strcmp(element_name, TAG_PLAYER_NAME_NAME) == 0)
|
||||
state = STATE_PLAYER_NAME_NAME;
|
||||
else if(strcmp(element_name, TAG_FIRST_NAME) == 0)
|
||||
state = STATE_FIRST_NAME;
|
||||
else if(strcmp(element_name, TAG_LAST_NAME) == 0)
|
||||
state = STATE_LAST_NAME;
|
||||
else
|
||||
g_warning("xml_name_read_start_element: unknown tag: %s; I'm in state %d\n",
|
||||
element_name, state);
|
||||
@ -52,10 +49,9 @@ xml_name_read_end_element (GMarkupParseContext *context,
|
||||
gpointer user_data,
|
||||
GError **error)
|
||||
{
|
||||
if(strcmp(element_name, TAG_PLAYER_NAME) == 0)
|
||||
if(strcmp(element_name, TAG_FIRST_NAME) == 0 ||
|
||||
strcmp(element_name, TAG_LAST_NAME) == 0)
|
||||
state = STATE_NAMES;
|
||||
else if(strcmp(element_name, TAG_PLAYER_NAME_NAME) == 0)
|
||||
state = STATE_PLAYER_NAME;
|
||||
else if(strcmp(element_name, TAG_NAMES) != 0)
|
||||
g_warning("xml_name_end_start_element: unknown tag: %s; I'm in state %d\n",
|
||||
element_name, state);
|
||||
@ -70,28 +66,27 @@ xml_name_read_text (GMarkupParseContext *context,
|
||||
GError **error)
|
||||
{
|
||||
gchar buf[text_len + 1];
|
||||
GString *new_name = NULL;
|
||||
|
||||
strncpy(buf, text, text_len);
|
||||
buf[text_len] = '\0';
|
||||
|
||||
if(state == STATE_PLAYER_NAME_NAME)
|
||||
{
|
||||
g_string_printf(new_name, "%s", buf);
|
||||
g_ptr_array_add(temp_array, (gpointer)new_name);
|
||||
}
|
||||
new_name = g_string_new(buf);
|
||||
|
||||
if(state == STATE_FIRST_NAME)
|
||||
g_ptr_array_add(nlist->first_names, new_name);
|
||||
else if(state == STATE_LAST_NAME)
|
||||
g_ptr_array_add(nlist->last_names, new_name);
|
||||
}
|
||||
|
||||
/** Fill the player names array with names from the
|
||||
player names file. Randomize the order and keep only
|
||||
'number_of_names' of them.
|
||||
@param names_file The file the names are read from.
|
||||
@param number_of_names Number of player names we keep in memory.
|
||||
If this is -1, we keep all of them. */
|
||||
/** Fill the name list with names from the
|
||||
given names file.
|
||||
@param sid The sid of the names file we read.
|
||||
@param namelist The name list we fill. */
|
||||
void
|
||||
xml_name_read(const gchar *names_file, gint number_of_names)
|
||||
xml_name_read(const gchar *sid, NameList *namelist)
|
||||
{
|
||||
gint i;
|
||||
gchar *file_name = file_find_support_file(names_file, FALSE);
|
||||
gchar *file_name = NULL;
|
||||
GMarkupParser parser = {xml_name_read_start_element,
|
||||
xml_name_read_end_element,
|
||||
xml_name_read_text, NULL, NULL};
|
||||
@ -101,6 +96,9 @@ xml_name_read(const gchar *names_file, gint number_of_names)
|
||||
GError *error = NULL;
|
||||
gchar buf[SMALL];
|
||||
|
||||
sprintf(buf, "player_names_%s.xml", sid);
|
||||
file_name = file_find_support_file(buf, TRUE);
|
||||
|
||||
context =
|
||||
g_markup_parse_context_new(&parser, 0, NULL, NULL);
|
||||
|
||||
@ -110,12 +108,11 @@ xml_name_read(const gchar *names_file, gint number_of_names)
|
||||
misc_print_error(&error, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
state = STATE_NAMES;
|
||||
strcpy(buf, file_name);
|
||||
g_free(file_name);
|
||||
free_g_string_array(&player_names);
|
||||
temp_array = g_ptr_array_new();
|
||||
|
||||
free_name_list(namelist, TRUE);
|
||||
g_string_assign(namelist->sid, sid);
|
||||
|
||||
nlist = namelist;
|
||||
|
||||
if(g_markup_parse_context_parse(context, file_contents, length, &error))
|
||||
{
|
||||
@ -129,21 +126,5 @@ xml_name_read(const gchar *names_file, gint number_of_names)
|
||||
misc_print_error(&error, TRUE);
|
||||
}
|
||||
|
||||
if(number_of_names == -1)
|
||||
{
|
||||
player_names = temp_array;
|
||||
return;
|
||||
}
|
||||
|
||||
gint int_array[temp_array->len];
|
||||
math_generate_permutation(int_array, 0, temp_array->len - 1);
|
||||
player_names = g_ptr_array_new();
|
||||
|
||||
for(i=0;i<number_of_names;i++)
|
||||
{
|
||||
new_name = g_string_new(((GString*)g_ptr_array_index(temp_array, int_array[i]))->str);
|
||||
g_ptr_array_add(player_names, (gpointer)new_name);
|
||||
}
|
||||
|
||||
free_g_string_array(&temp_array);
|
||||
g_free(file_name);
|
||||
}
|
||||
|
@ -2,6 +2,7 @@
|
||||
#define XML_NAME_H
|
||||
|
||||
#include "bygfoot.h"
|
||||
#include "name_struct.h"
|
||||
|
||||
void
|
||||
xml_name_read_start_element (GMarkupParseContext *context,
|
||||
@ -25,6 +26,6 @@ xml_name_read_text (GMarkupParseContext *context,
|
||||
GError **error);
|
||||
|
||||
void
|
||||
xml_name_read(const gchar *names_file, gint number_of_names);
|
||||
xml_name_read(const gchar *sid, NameList *namelist);
|
||||
|
||||
#endif
|
||||
|
@ -4,8 +4,8 @@
|
||||
# Most of these options are uncommented because their meaning
|
||||
# is rather clear if you take a look at the options window in the game.
|
||||
|
||||
int_opt_confirm_quit 0
|
||||
int_opt_confirm_unfit 0
|
||||
int_opt_confirm_quit 1
|
||||
int_opt_confirm_unfit 1
|
||||
int_opt_save_will_overwrite 0
|
||||
int_opt_maximize_main_window 1
|
||||
int_opt_prefer_messages 0
|
||||
@ -24,7 +24,8 @@ int_opt_live_game_player_list_refresh 48
|
||||
# whether some debugging info's shown (in the console)
|
||||
int_opt_debug 0
|
||||
|
||||
string_opt_player_names_file player_names.xml
|
||||
# some default files
|
||||
string_opt_player_names_file general
|
||||
string_opt_constants_file bygfoot_constants
|
||||
string_opt_appearance_file bygfoot_app
|
||||
string_opt_default_user_conf_file bygfoot_user.conf
|
||||
|
@ -716,3 +716,16 @@ float_contract_scale_factor 300
|
||||
|
||||
# max. number of offers when a new contract is negotiated
|
||||
int_contract_max_offers 3
|
||||
|
||||
# ratio we'd like to have between the number
|
||||
# of first and last names in a player name list
|
||||
# (ie. #first names /#last names)
|
||||
float_name_first_last_ratio 5000
|
||||
|
||||
# maximum number of possibilities we want to have
|
||||
# in a shortened name list (ie. #first * #last)
|
||||
int_name_max_product 2000
|
||||
|
||||
# probability that a name is chosen from a random
|
||||
# list instead of the specified one
|
||||
float_name_random_list_prob 2000
|
||||
|
File diff suppressed because it is too large
Load Diff
384
support_files/names/player_names_england.xml
Normal file
384
support_files/names/player_names_england.xml
Normal file
@ -0,0 +1,384 @@
|
||||
<names>
|
||||
<last_name>Ackart</last_name>
|
||||
<last_name>Ackerman</last_name>
|
||||
<last_name>Ackers</last_name>
|
||||
<last_name>Ackland</last_name>
|
||||
<last_name>Acton</last_name>
|
||||
<last_name>Ada</last_name>
|
||||
<last_name>Adlam</last_name>
|
||||
<last_name>Adolphus</last_name>
|
||||
<last_name>Adolph</last_name>
|
||||
<last_name>Ainsworth</last_name>
|
||||
<last_name>Akeman</last_name>
|
||||
<last_name>Ackman</last_name>
|
||||
<last_name>Alden</last_name>
|
||||
<last_name>Aldaine</last_name>
|
||||
<last_name>Aldridge</last_name>
|
||||
<last_name>Alford</last_name>
|
||||
<last_name>Alvord</last_name>
|
||||
<last_name>Alfred</last_name>
|
||||
<last_name>Alice</last_name>
|
||||
<last_name>Alverston</last_name>
|
||||
<last_name>Alverton</last_name>
|
||||
<last_name>Alvin</last_name>
|
||||
<last_name>Alwin</last_name>
|
||||
<last_name>Amherst</last_name>
|
||||
<last_name>Andarton</last_name>
|
||||
<last_name>Arthur</last_name>
|
||||
<last_name>Arthur</last_name>
|
||||
<last_name>Ashby</last_name>
|
||||
<last_name>Ashford</last_name>
|
||||
<last_name>Ashley</last_name>
|
||||
<last_name>Askew</last_name>
|
||||
<last_name>Astley</last_name>
|
||||
<last_name>Aston</last_name>
|
||||
<last_name>Atherton</last_name>
|
||||
<last_name>Audley</last_name>
|
||||
<last_name>Bagley</last_name>
|
||||
<last_name>Baker</last_name>
|
||||
<last_name>Banvard</last_name>
|
||||
<last_name>Barclay</last_name>
|
||||
<last_name>Barras</last_name>
|
||||
<last_name>Barton</last_name>
|
||||
<last_name>Bath</last_name>
|
||||
<last_name>Bathurst</last_name>
|
||||
<last_name>Belden</last_name>
|
||||
<last_name>Berkeley</last_name>
|
||||
<last_name>Bernard</last_name>
|
||||
<last_name>Barnard</last_name>
|
||||
<last_name>Bliss</last_name>
|
||||
<last_name>Bodley</last_name>
|
||||
<last_name>Bolster</last_name>
|
||||
<last_name>Borland</last_name>
|
||||
<last_name>Boscawen</last_name>
|
||||
<last_name>Bostwick</last_name>
|
||||
<last_name>Botolph</last_name>
|
||||
<last_name>Bowne</last_name>
|
||||
<last_name>Brendon</last_name>
|
||||
<last_name>Brenin</last_name>
|
||||
<last_name>Breton</last_name>
|
||||
<last_name>Bristed</last_name>
|
||||
<last_name>Bristow</last_name>
|
||||
<last_name>Buckingham</last_name>
|
||||
<last_name>Buckminster</last_name>
|
||||
<last_name>Buckston</last_name>
|
||||
<last_name>Buxton</last_name>
|
||||
<last_name>Burby</last_name>
|
||||
<last_name>Burr</last_name>
|
||||
<last_name>Byington</last_name>
|
||||
<last_name>Canning</last_name>
|
||||
<last_name>Carwin</last_name>
|
||||
<last_name>Channing</last_name>
|
||||
<last_name>Chickering</last_name>
|
||||
<last_name>Chittenden</last_name>
|
||||
<last_name>Clapp</last_name>
|
||||
<last_name>Cleaver</last_name>
|
||||
<last_name>Clough</last_name>
|
||||
<last_name>Clowes</last_name>
|
||||
<last_name>Colburn</last_name>
|
||||
<last_name>Conway</last_name>
|
||||
<last_name>Coombs</last_name>
|
||||
<last_name>Corwin</last_name>
|
||||
<last_name>Craig</last_name>
|
||||
<last_name>Crittenden</last_name>
|
||||
<last_name>Cromwell</last_name>
|
||||
<last_name>Cudney</last_name>
|
||||
<last_name>Cutting</last_name>
|
||||
<last_name>Denton</last_name>
|
||||
<last_name>Dinton</last_name>
|
||||
<last_name>Dering</last_name>
|
||||
<last_name>Dillingham</last_name>
|
||||
<last_name>Dixie</last_name>
|
||||
<last_name>Dunlevy</last_name>
|
||||
<last_name>Dunstan</last_name>
|
||||
<last_name>Dunstan</last_name>
|
||||
<last_name>Eaton</last_name>
|
||||
<last_name>Edith</last_name>
|
||||
<last_name>Edmund</last_name>
|
||||
<last_name>Edward</last_name>
|
||||
<last_name>Edwin</last_name>
|
||||
<last_name>Eggleston</last_name>
|
||||
<last_name>Emerson</last_name>
|
||||
<last_name>Ethelbert</last_name>
|
||||
<last_name>Ethelstan</last_name>
|
||||
<last_name>Everard</last_name>
|
||||
<last_name>Eytinge</last_name>
|
||||
<last_name>Fagg</last_name>
|
||||
<last_name>Falkland</last_name>
|
||||
<last_name>Foss</last_name>
|
||||
<last_name>Fry</last_name>
|
||||
<last_name>Fulke</last_name>
|
||||
<last_name>Garrah</last_name>
|
||||
<last_name>Gifford</last_name>
|
||||
<last_name>Giffard</last_name>
|
||||
<last_name>Gilly</last_name>
|
||||
<last_name>Glasgow</last_name>
|
||||
<last_name>Godard</last_name>
|
||||
<last_name>Godolphin</last_name>
|
||||
<last_name>Golly</last_name>
|
||||
<last_name>Gollah</last_name>
|
||||
<last_name>Goodrich</last_name>
|
||||
<last_name>Granger</last_name>
|
||||
<last_name>Griffith</last_name>
|
||||
<last_name>Gunn</last_name>
|
||||
<last_name>Goon</last_name>
|
||||
<last_name>Hainsworth</last_name>
|
||||
<last_name>Haynsworth</last_name>
|
||||
<last_name>Halifax</last_name>
|
||||
<last_name>Hansel</last_name>
|
||||
<last_name>Haw</last_name>
|
||||
<last_name>Hawes</last_name>
|
||||
<last_name>Hayman</last_name>
|
||||
<last_name>Hazard</last_name>
|
||||
<last_name>Heaton</last_name>
|
||||
<last_name>Henry</last_name>
|
||||
<last_name>Herbert</last_name>
|
||||
<last_name>Herbert</last_name>
|
||||
<last_name>Herman</last_name>
|
||||
<last_name>Hogan</last_name>
|
||||
<last_name>Holcombe</last_name>
|
||||
<last_name>Holtcombe</last_name>
|
||||
<last_name>Hoskins</last_name>
|
||||
<last_name>Haskins</last_name>
|
||||
<last_name>Howell</last_name>
|
||||
<last_name>Huntington</last_name>
|
||||
<last_name>Hurst</last_name>
|
||||
<last_name>Keigwin</last_name>
|
||||
<last_name>Kennicot</last_name>
|
||||
<last_name>Kerr</last_name>
|
||||
<last_name>Lamport</last_name>
|
||||
<last_name>Landon</last_name>
|
||||
<last_name>Lawley</last_name>
|
||||
<last_name>McHard</last_name>
|
||||
<last_name>McHarg</last_name>
|
||||
<last_name>Morgan</last_name>
|
||||
<last_name>Newbury</last_name>
|
||||
<last_name>Ockley</last_name>
|
||||
<last_name>Ogden</last_name>
|
||||
<last_name>Osborn</last_name>
|
||||
<last_name>Oswald</last_name>
|
||||
<last_name>Paddock</last_name>
|
||||
<last_name>Pillings</last_name>
|
||||
<last_name>Pennant</last_name>
|
||||
<last_name>Plympton</last_name>
|
||||
<last_name>Ralph</last_name>
|
||||
<last_name>Ralph</last_name>
|
||||
<last_name>Ramsden</last_name>
|
||||
<last_name>Randal</last_name>
|
||||
<last_name>Randal</last_name>
|
||||
<last_name>Randolph</last_name>
|
||||
<last_name>Randulph</last_name>
|
||||
<last_name>Redden</last_name>
|
||||
<last_name>Rodden</last_name>
|
||||
<last_name>Reed</last_name>
|
||||
<last_name>Read</last_name>
|
||||
<last_name>Reese</last_name>
|
||||
<last_name>Rheese</last_name>
|
||||
<last_name>Reinard</last_name>
|
||||
<last_name>Reynard</last_name>
|
||||
<last_name>Reynold</last_name>
|
||||
<last_name>Reynolds</last_name>
|
||||
<last_name>Richard</last_name>
|
||||
<last_name>Richard</last_name>
|
||||
<last_name>Ricard</last_name>
|
||||
<last_name>Richmond</last_name>
|
||||
<last_name>Robert</last_name>
|
||||
<last_name>Roberts</last_name>
|
||||
<last_name>Roderick</last_name>
|
||||
<last_name>Roland</last_name>
|
||||
<last_name>Rollin</last_name>
|
||||
<last_name>Rodland</last_name>
|
||||
<last_name>Rowena</last_name>
|
||||
<last_name>Rowle</last_name>
|
||||
<last_name>Rowley</last_name>
|
||||
<last_name>Salisbury</last_name>
|
||||
<last_name>Sarisbury</last_name>
|
||||
<last_name>Scarborough</last_name>
|
||||
<last_name>Schellden</last_name>
|
||||
<last_name>Sears</last_name>
|
||||
<last_name>Sellick</last_name>
|
||||
<last_name>Sheldon</last_name>
|
||||
<last_name>Sigismund</last_name>
|
||||
<last_name>Skeffington</last_name>
|
||||
<last_name>Skidmore</last_name>
|
||||
<last_name>Scudmore</last_name>
|
||||
<last_name>Stanwood</last_name>
|
||||
<last_name>Stapleton</last_name>
|
||||
<last_name>Stratton</last_name>
|
||||
<last_name>Stretton</last_name>
|
||||
<last_name>Swithin</last_name>
|
||||
<last_name>Theobald</last_name>
|
||||
<last_name>Theodoric</last_name>
|
||||
<last_name>Trelawney</last_name>
|
||||
<last_name>Tremaine</last_name>
|
||||
<last_name>Trevelyan</last_name>
|
||||
<last_name>Truax</last_name>
|
||||
<last_name>Urran</last_name>
|
||||
<last_name>Waldgrave</last_name>
|
||||
<last_name>Walter</last_name>
|
||||
<last_name>Weller</last_name>
|
||||
<last_name>Whealdon</last_name>
|
||||
<last_name>Whieldon</last_name>
|
||||
<last_name>Whiting</last_name>
|
||||
<last_name>Whitney</last_name>
|
||||
<last_name>Wibert</last_name>
|
||||
<last_name>Wickham</last_name>
|
||||
<last_name>Wickliff</last_name>
|
||||
<last_name>Wimund</last_name>
|
||||
<last_name>Winchcombe</last_name>
|
||||
<last_name>Worth</last_name>
|
||||
<last_name>Yule</last_name>
|
||||
<last_name>Abercrombie</last_name>
|
||||
<last_name>Aberdeen</last_name>
|
||||
<last_name>Aberdene</last_name>
|
||||
<last_name>Abernethy</last_name>
|
||||
<last_name>Adair</last_name>
|
||||
<last_name>Affleck</last_name>
|
||||
<last_name>Agar</last_name>
|
||||
<last_name>Ardal</last_name>
|
||||
<last_name>Ardgall</last_name>
|
||||
<last_name>Athol</last_name>
|
||||
<last_name>Bain</last_name>
|
||||
<last_name>Baine</last_name>
|
||||
<last_name>Ballard</last_name>
|
||||
<last_name>Bard</last_name>
|
||||
<last_name>Barr</last_name>
|
||||
<last_name>Blair</last_name>
|
||||
<last_name>Bunyan</last_name>
|
||||
<last_name>Callaghan</last_name>
|
||||
<last_name>Campbell</last_name>
|
||||
<last_name>Connell</last_name>
|
||||
<last_name>Connelly</last_name>
|
||||
<last_name>Connor</last_name>
|
||||
<last_name>Conor</last_name>
|
||||
<last_name>Conway</last_name>
|
||||
<last_name>Cormac</last_name>
|
||||
<last_name>Dana</last_name>
|
||||
<last_name>Donald</last_name>
|
||||
<last_name>Donell</last_name>
|
||||
<last_name>Donelly</last_name>
|
||||
<last_name>Dougall</last_name>
|
||||
<last_name>Driscol</last_name>
|
||||
<last_name>Ennis</last_name>
|
||||
<last_name>Ennes</last_name>
|
||||
<last_name>Innis</last_name>
|
||||
<last_name>Fergus</last_name>
|
||||
<last_name>Flaherty</last_name>
|
||||
<last_name>Hammel</last_name>
|
||||
<last_name>Kavanagh</last_name>
|
||||
<last_name>Kevin</last_name>
|
||||
<last_name>Macauley</last_name>
|
||||
<last_name>Macaula</last_name>
|
||||
<last_name>McFadden</last_name>
|
||||
<last_name>McGooken</last_name>
|
||||
<last_name>McGucken</last_name>
|
||||
<last_name>McGrath</last_name>
|
||||
<last_name>McGraw</last_name>
|
||||
<last_name>McKibben</last_name>
|
||||
<last_name>McKie</last_name>
|
||||
<last_name>McNamara</last_name>
|
||||
<last_name>Mochrie</last_name>
|
||||
<last_name>O'Callaghan</last_name>
|
||||
<last_name>Owen</last_name>
|
||||
<last_name>Sullivan</last_name>
|
||||
|
||||
<first_name>Jacob</first_name>
|
||||
<first_name>Michael</first_name>
|
||||
<first_name>Joshua</first_name>
|
||||
<first_name>Matthew</first_name>
|
||||
<first_name>Ethan</first_name>
|
||||
<first_name>Joseph</first_name>
|
||||
<first_name>Andrew</first_name>
|
||||
<first_name>Christopher</first_name>
|
||||
<first_name>Daniel</first_name>
|
||||
<first_name>Nicholas</first_name>
|
||||
<first_name>William</first_name>
|
||||
<first_name>Anthony</first_name>
|
||||
<first_name>David</first_name>
|
||||
<first_name>Tyler</first_name>
|
||||
<first_name>Alexander</first_name>
|
||||
<first_name>Ryan</first_name>
|
||||
<first_name>John</first_name>
|
||||
<first_name>James</first_name>
|
||||
<first_name>Zachary</first_name>
|
||||
<first_name>Brandon</first_name>
|
||||
<first_name>Jonathan</first_name>
|
||||
<first_name>Justin</first_name>
|
||||
<first_name>Christian</first_name>
|
||||
<first_name>Dylan</first_name>
|
||||
<first_name>Samuel</first_name>
|
||||
<first_name>Austin</first_name>
|
||||
<first_name>Jose</first_name>
|
||||
<first_name>Benjamin</first_name>
|
||||
<first_name>Nathan</first_name>
|
||||
<first_name>Logan</first_name>
|
||||
<first_name>Kevin</first_name>
|
||||
<first_name>Gabriel</first_name>
|
||||
<first_name>Robert</first_name>
|
||||
<first_name>Noah</first_name>
|
||||
<first_name>Caleb</first_name>
|
||||
<first_name>Thomas</first_name>
|
||||
<first_name>Jordan</first_name>
|
||||
<first_name>Hunter</first_name>
|
||||
<first_name>Cameron</first_name>
|
||||
<first_name>Kyle</first_name>
|
||||
<first_name>Elijah</first_name>
|
||||
<first_name>Jason</first_name>
|
||||
<first_name>Jack</first_name>
|
||||
<first_name>Aaron</first_name>
|
||||
<first_name>Isaiah</first_name>
|
||||
<first_name>Angel</first_name>
|
||||
<first_name>Luke</first_name>
|
||||
<first_name>Connor</first_name>
|
||||
<first_name>Luis</first_name>
|
||||
<first_name>Jacob</first_name>
|
||||
<first_name>Brian</first_name>
|
||||
<first_name>Juan</first_name>
|
||||
<first_name>Jackson</first_name>
|
||||
<first_name>Eric</first_name>
|
||||
<first_name>Mason</first_name>
|
||||
<first_name>Adam</first_name>
|
||||
<first_name>Evan</first_name>
|
||||
<first_name>Carlos</first_name>
|
||||
<first_name>Charles</first_name>
|
||||
<first_name>Sean</first_name>
|
||||
<first_name>Gavin</first_name>
|
||||
<first_name>Alex</first_name>
|
||||
<first_name>Aidan</first_name>
|
||||
<first_name>Bryan</first_name>
|
||||
<first_name>Nathaniel</first_name>
|
||||
<first_name>Ian</first_name>
|
||||
<first_name>Steven</first_name>
|
||||
<first_name>Cole</first_name>
|
||||
<first_name>Timothy</first_name>
|
||||
<first_name>Cody</first_name>
|
||||
<first_name>Adrian</first_name>
|
||||
<first_name>Seth</first_name>
|
||||
<first_name>Sebastian</first_name>
|
||||
<first_name>Devin</first_name>
|
||||
<first_name>Lucas</first_name>
|
||||
<first_name>Richard</first_name>
|
||||
<first_name>Blake</first_name>
|
||||
<first_name>Julian</first_name>
|
||||
<first_name>Patrick</first_name>
|
||||
<first_name>Trevor</first_name>
|
||||
<first_name>Jared</first_name>
|
||||
<first_name>Miguel</first_name>
|
||||
<first_name>Chase</first_name>
|
||||
<first_name>Dominic</first_name>
|
||||
<first_name>Antonio</first_name>
|
||||
<first_name>Xavier</first_name>
|
||||
<first_name>Jeremiah</first_name>
|
||||
<first_name>Jaden</first_name>
|
||||
<first_name>Alejandro</first_name>
|
||||
<first_name>Jeremy</first_name>
|
||||
<first_name>Jesse</first_name>
|
||||
<first_name>Garrett</first_name>
|
||||
<first_name>Diego</first_name>
|
||||
<first_name>Mark</first_name>
|
||||
<first_name>Owen</first_name>
|
||||
<first_name>Hayden</first_name>
|
||||
<first_name>Victor</first_name>
|
||||
<first_name>Bryce</first_name>
|
||||
<first_name>Riley</first_name>
|
||||
</names>
|
10602
support_files/names/player_names_general.xml
Normal file
10602
support_files/names/player_names_general.xml
Normal file
File diff suppressed because it is too large
Load Diff
451
support_files/names/player_names_germany.xml
Normal file
451
support_files/names/player_names_germany.xml
Normal file
@ -0,0 +1,451 @@
|
||||
<names>
|
||||
<first_name>Lucas</first_name>
|
||||
<first_name>Lukas</first_name>
|
||||
<first_name>Nicklas</first_name>
|
||||
<first_name>Niclas</first_name>
|
||||
<first_name>Niklas</first_name>
|
||||
<first_name>Tim</first_name>
|
||||
<first_name>Philip</first_name>
|
||||
<first_name>Philipp</first_name>
|
||||
<first_name>Phillip</first_name>
|
||||
<first_name>Jonas</first_name>
|
||||
<first_name>Tom</first_name>
|
||||
<first_name>Leon</first_name>
|
||||
<first_name>Marvin</first_name>
|
||||
<first_name>Maximilian</first_name>
|
||||
<first_name>Florian</first_name>
|
||||
<first_name>Daniel</first_name>
|
||||
<first_name>Jannik</first_name>
|
||||
<first_name>Yannick</first_name>
|
||||
<first_name>Yannik</first_name>
|
||||
<first_name>Nico</first_name>
|
||||
<first_name>Niko</first_name>
|
||||
<first_name>Felix</first_name>
|
||||
<first_name>Finn</first_name>
|
||||
<first_name>Fynn</first_name>
|
||||
<first_name>Lennard</first_name>
|
||||
<first_name>Lennart</first_name>
|
||||
<first_name>Tobias</first_name>
|
||||
<first_name>Alexander</first_name>
|
||||
<first_name>Kevin</first_name>
|
||||
<first_name>Moritz</first_name>
|
||||
<first_name>Pascal</first_name>
|
||||
<first_name>Jacob</first_name>
|
||||
<first_name>Jakob</first_name>
|
||||
<first_name>Jan</first_name>
|
||||
<first_name>Ole</first_name>
|
||||
<first_name>Dominik</first_name>
|
||||
<first_name>Fabian</first_name>
|
||||
<first_name>Luca</first_name>
|
||||
<first_name>Luka</first_name>
|
||||
<first_name>Simon</first_name>
|
||||
<first_name>Julian</first_name>
|
||||
<first_name>Justin</first_name>
|
||||
<first_name>Marcel</first_name>
|
||||
<first_name>Nicholas</first_name>
|
||||
<first_name>Nicolas</first_name>
|
||||
<first_name>Nikolas</first_name>
|
||||
<first_name>David</first_name>
|
||||
<first_name>Jonathan</first_name>
|
||||
<first_name>Lasse</first_name>
|
||||
<first_name>Malte</first_name>
|
||||
<first_name>Timo</first_name>
|
||||
<first_name>Eric</first_name>
|
||||
<first_name>Erik</first_name>
|
||||
<first_name>Max</first_name>
|
||||
<first_name>Patrick</first_name>
|
||||
<first_name>Paul</first_name>
|
||||
<first_name>Nils</first_name>
|
||||
<first_name>Robin</first_name>
|
||||
<first_name>Sebastian</first_name>
|
||||
<first_name>Maik</first_name>
|
||||
<first_name>Mike</first_name>
|
||||
<first_name>Vincent</first_name>
|
||||
<first_name>Dennis</first_name>
|
||||
<first_name>Johannes</first_name>
|
||||
<first_name>Joshua</first_name>
|
||||
<first_name>Christian</first_name>
|
||||
<first_name>Julius</first_name>
|
||||
<first_name>Laurin</first_name>
|
||||
<first_name>Maurice</first_name>
|
||||
<first_name>Oliver</first_name>
|
||||
<first_name>Ben</first_name>
|
||||
<first_name>Benjamin</first_name>
|
||||
<first_name>Lars</first_name>
|
||||
<first_name>Anton</first_name>
|
||||
<first_name>Christoph</first_name>
|
||||
<first_name>Fabio</first_name>
|
||||
<first_name>Hannes</first_name>
|
||||
<first_name>Linus</first_name>
|
||||
<first_name>Luis</first_name>
|
||||
<first_name>Marc</first_name>
|
||||
<first_name>Mika</first_name>
|
||||
<first_name>Nick</first_name>
|
||||
<first_name>Till </first_name>
|
||||
<first_name>Torben</first_name>
|
||||
<first_name>Björn</first_name>
|
||||
<first_name>Elias</first_name>
|
||||
<first_name>Robert</first_name>
|
||||
<first_name>Bastian</first_name>
|
||||
<first_name>Leonard</first_name>
|
||||
<first_name>Michel</first_name>
|
||||
<first_name>Mirco</first_name>
|
||||
<first_name>Mirko</first_name>
|
||||
<first_name>Noah</first_name>
|
||||
<first_name>Rene</first_name>
|
||||
<first_name>Thorben</first_name>
|
||||
<first_name>Timon</first_name>
|
||||
<first_name>Valentin</first_name>
|
||||
<first_name>Benedikt</first_name>
|
||||
<first_name>Bjarne</first_name>
|
||||
<first_name>Christopher</first_name>
|
||||
<first_name>Constantin</first_name>
|
||||
<first_name>Hendrik</first_name>
|
||||
<first_name>Jason</first_name>
|
||||
<first_name>Jasper</first_name>
|
||||
<first_name>Jeremy</first_name>
|
||||
<first_name>Konstantin </first_name>
|
||||
<first_name>Marco</first_name>
|
||||
<first_name>Martin </first_name>
|
||||
<first_name>Phil</first_name>
|
||||
<first_name>Richard</first_name>
|
||||
<first_name>Sascha</first_name>
|
||||
<first_name>Steven</first_name>
|
||||
<first_name>Sven</first_name>
|
||||
<first_name>Thore</first_name>
|
||||
<first_name>Aaron</first_name>
|
||||
<first_name>Andreas</first_name>
|
||||
<first_name>Cedric</first_name>
|
||||
|
||||
<last_name>Müller</last_name>
|
||||
<last_name>Albrecht</last_name>
|
||||
<last_name>Schmidt</last_name>
|
||||
<last_name>Bauer</last_name>
|
||||
<last_name>Schneider</last_name>
|
||||
<last_name>Baumann</last_name>
|
||||
<last_name>Fischer</last_name>
|
||||
<last_name>Beck</last_name>
|
||||
<last_name>Meyer</last_name>
|
||||
<last_name>Becker</last_name>
|
||||
<last_name>Weber</last_name>
|
||||
<last_name>Berger</last_name>
|
||||
<last_name>Wagner</last_name>
|
||||
<last_name>Bergmann</last_name>
|
||||
<last_name>Becker</last_name>
|
||||
<last_name>Böhm</last_name>
|
||||
<last_name>Schulz</last_name>
|
||||
<last_name>Brandt</last_name>
|
||||
<last_name>Hoffmann</last_name>
|
||||
<last_name>Braun</last_name>
|
||||
<last_name>Schäfer</last_name>
|
||||
<last_name>Busch</last_name>
|
||||
<last_name>Koch</last_name>
|
||||
<last_name>Dietrich</last_name>
|
||||
<last_name>Bauer</last_name>
|
||||
<last_name>Engel</last_name>
|
||||
<last_name>Richter</last_name>
|
||||
<last_name>Ernst</last_name>
|
||||
<last_name>Klein</last_name>
|
||||
<last_name>Fischer</last_name>
|
||||
<last_name>Schröder</last_name>
|
||||
<last_name>Frank</last_name>
|
||||
<last_name>Wolf</last_name>
|
||||
<last_name>Franke</last_name>
|
||||
<last_name>Neumann</last_name>
|
||||
<last_name>Friedrich</last_name>
|
||||
<last_name>Schwarz</last_name>
|
||||
<last_name>Fuchs</last_name>
|
||||
<last_name>Zimmermann</last_name>
|
||||
<last_name>Graf</last_name>
|
||||
<last_name>Krüger</last_name>
|
||||
<last_name>Groß</last_name>
|
||||
<last_name>Braun</last_name>
|
||||
<last_name>Günther</last_name>
|
||||
<last_name>Hofmann</last_name>
|
||||
<last_name>Haas</last_name>
|
||||
<last_name>Schmitz</last_name>
|
||||
<last_name>Hahn</last_name>
|
||||
<last_name>Hartmann</last_name>
|
||||
<last_name>Hartmann</last_name>
|
||||
<last_name>Lange</last_name>
|
||||
<last_name>Heinrich</last_name>
|
||||
<last_name>Schmitt</last_name>
|
||||
<last_name>Herrmann</last_name>
|
||||
<last_name>Werner</last_name>
|
||||
<last_name>Hoffmann</last_name>
|
||||
<last_name>Krause</last_name>
|
||||
<last_name>Hofmann</last_name>
|
||||
<last_name>Meier</last_name>
|
||||
<last_name>Horn</last_name>
|
||||
<last_name>Schmid</last_name>
|
||||
<last_name>Huber</last_name>
|
||||
<last_name>Lehmann</last_name>
|
||||
<last_name>Jäger</last_name>
|
||||
<last_name>Schulze</last_name>
|
||||
<last_name>Jung</last_name>
|
||||
<last_name>Maier</last_name>
|
||||
<last_name>Kaiser</last_name>
|
||||
<last_name>Köhler</last_name>
|
||||
<last_name>Keller</last_name>
|
||||
<last_name>Herrmann</last_name>
|
||||
<last_name>Klein</last_name>
|
||||
<last_name>Walter</last_name>
|
||||
<last_name>Koch</last_name>
|
||||
<last_name>Körtig</last_name>
|
||||
<last_name>Köhler</last_name>
|
||||
<last_name>Mayer</last_name>
|
||||
<last_name>Körtig</last_name>
|
||||
<last_name>Huber</last_name>
|
||||
<last_name>Krämer</last_name>
|
||||
<last_name>Kaiser</last_name>
|
||||
<last_name>Kraus</last_name>
|
||||
<last_name>Fuchs</last_name>
|
||||
<last_name>Krause</last_name>
|
||||
<last_name>Peters</last_name>
|
||||
<last_name>Krüger</last_name>
|
||||
<last_name>Möller</last_name>
|
||||
<last_name>Kuhn</last_name>
|
||||
<last_name>Scholz</last_name>
|
||||
<last_name>Kühn</last_name>
|
||||
<last_name>Lang</last_name>
|
||||
<last_name>Lang</last_name>
|
||||
<last_name>Weiß</last_name>
|
||||
<last_name>Lange</last_name>
|
||||
<last_name>Jung</last_name>
|
||||
<last_name>Lehmann</last_name>
|
||||
<last_name>Hahn</last_name>
|
||||
<last_name>Lorenz</last_name>
|
||||
<last_name>Vogel</last_name>
|
||||
<last_name>Ludwig</last_name>
|
||||
<last_name>Friedrich</last_name>
|
||||
<last_name>Maier</last_name>
|
||||
<last_name>Günther</last_name>
|
||||
<last_name>Martin</last_name>
|
||||
<last_name>Keller</last_name>
|
||||
<last_name>Mayer</last_name>
|
||||
<last_name>Schubert</last_name>
|
||||
<last_name>Meier</last_name>
|
||||
<last_name>Berger</last_name>
|
||||
<last_name>Meyer</last_name>
|
||||
<last_name>Frank</last_name>
|
||||
<last_name>Möller</last_name>
|
||||
<last_name>Roth</last_name>
|
||||
<last_name>Müller</last_name>
|
||||
<last_name>Beck</last_name>
|
||||
<last_name>Neumann</last_name>
|
||||
<last_name>Winkler</last_name>
|
||||
<last_name>Otto</last_name>
|
||||
<last_name>Lorenz</last_name>
|
||||
<last_name>Peters</last_name>
|
||||
<last_name>Baumann</last_name>
|
||||
<last_name>Pfeiffer</last_name>
|
||||
<last_name>Albrecht</last_name>
|
||||
<last_name>Pohl</last_name>
|
||||
<last_name>Ludwig</last_name>
|
||||
<last_name>Richter</last_name>
|
||||
<last_name>Franke</last_name>
|
||||
<last_name>Roth</last_name>
|
||||
<last_name>Simon</last_name>
|
||||
<last_name>Sauer</last_name>
|
||||
<last_name>Böhm</last_name>
|
||||
<last_name>Schäfer</last_name>
|
||||
<last_name>Schuster</last_name>
|
||||
<last_name>Schmid</last_name>
|
||||
<last_name>Schumacher</last_name>
|
||||
<last_name>Schmidt</last_name>
|
||||
<last_name>Kraus</last_name>
|
||||
<last_name>Schmitt</last_name>
|
||||
<last_name>Winter</last_name>
|
||||
<last_name>Schmitz</last_name>
|
||||
<last_name>Otto</last_name>
|
||||
<last_name>Schneider</last_name>
|
||||
<last_name>Krämer</last_name>
|
||||
<last_name>Scholz</last_name>
|
||||
<last_name>Stein</last_name>
|
||||
<last_name>Schreiber</last_name>
|
||||
<last_name>Vogt</last_name>
|
||||
<last_name>Schröder</last_name>
|
||||
<last_name>Martin</last_name>
|
||||
<last_name>Schubert</last_name>
|
||||
<last_name>Jäger</last_name>
|
||||
<last_name>Schulte</last_name>
|
||||
<last_name>Groß</last_name>
|
||||
<last_name>Schulz</last_name>
|
||||
<last_name>Sommer</last_name>
|
||||
<last_name>Schulze</last_name>
|
||||
<last_name>Brandt</last_name>
|
||||
<last_name>Schumacher</last_name>
|
||||
<last_name>Haas</last_name>
|
||||
<last_name>Schuster</last_name>
|
||||
<last_name>Heinrich</last_name>
|
||||
<last_name>Schwarz</last_name>
|
||||
<last_name>Seidel</last_name>
|
||||
<last_name>Seidel</last_name>
|
||||
<last_name>Schreiber</last_name>
|
||||
<last_name>Simon</last_name>
|
||||
<last_name>Schulte</last_name>
|
||||
<last_name>Sommer</last_name>
|
||||
<last_name>Graf</last_name>
|
||||
<last_name>Stein</last_name>
|
||||
<last_name>Dietrich</last_name>
|
||||
<last_name>Thomas</last_name>
|
||||
<last_name>Ziegler</last_name>
|
||||
<last_name>Vogel</last_name>
|
||||
<last_name>Engel</last_name>
|
||||
<last_name>Vogt</last_name>
|
||||
<last_name>Kühn</last_name>
|
||||
<last_name>Voigt</last_name>
|
||||
<last_name>Kuhn</last_name>
|
||||
<last_name>Wagner</last_name>
|
||||
<last_name>Pohl</last_name>
|
||||
<last_name>Walter</last_name>
|
||||
<last_name>Horn</last_name>
|
||||
<last_name>Weber</last_name>
|
||||
<last_name>Thomas</last_name>
|
||||
<last_name>Weiß</last_name>
|
||||
<last_name>Busch</last_name>
|
||||
<last_name>Werner</last_name>
|
||||
<last_name>Wolff</last_name>
|
||||
<last_name>Winkler</last_name>
|
||||
<last_name>Sauer</last_name>
|
||||
<last_name>Winter</last_name>
|
||||
<last_name>Bergmann</last_name>
|
||||
<last_name>Wolf</last_name>
|
||||
<last_name>Pfeiffer</last_name>
|
||||
<last_name>Wolff</last_name>
|
||||
<last_name>Voigt</last_name>
|
||||
<last_name>Ziegler</last_name>
|
||||
<last_name>Ernst</last_name>
|
||||
<last_name>Zimmermann</last_name>
|
||||
<last_name>Aker</last_name>
|
||||
<last_name>Anna</last_name>
|
||||
<last_name>August</last_name>
|
||||
<last_name>Aust</last_name>
|
||||
<last_name>Bäuerle</last_name>
|
||||
<last_name>Bäuerlein</last_name>
|
||||
<last_name>Behnke</last_name>
|
||||
<last_name>Bleeke</last_name>
|
||||
<last_name>Bleeker</last_name>
|
||||
<last_name>Blochwitz</last_name>
|
||||
<last_name>Bohlmann</last_name>
|
||||
<last_name>Bothe</last_name>
|
||||
<last_name>Bretschneider</last_name>
|
||||
<last_name>Brettschneider</last_name>
|
||||
<last_name>Breyer</last_name>
|
||||
<last_name>Buesing</last_name>
|
||||
<last_name>Busch</last_name>
|
||||
<last_name>Christmann</last_name>
|
||||
<last_name>Diegelmann</last_name>
|
||||
<last_name>Diener</last_name>
|
||||
<last_name>Dietrich</last_name>
|
||||
<last_name>Dittmar</last_name>
|
||||
<last_name>Doering</last_name>
|
||||
<last_name>Duehring</last_name>
|
||||
<last_name>Engeldinger</last_name>
|
||||
<last_name>Erb</last_name>
|
||||
<last_name>Everding</last_name>
|
||||
<last_name>Falger</last_name>
|
||||
<last_name>Fettkenheuer</last_name>
|
||||
<last_name>Fischer</last_name>
|
||||
<last_name>Fleischer</last_name>
|
||||
<last_name>Fleischhauer</last_name>
|
||||
<last_name>Fleischmann</last_name>
|
||||
<last_name>Franke</last_name>
|
||||
<last_name>Fuhr</last_name>
|
||||
<last_name>Geisler</last_name>
|
||||
<last_name>Geissler</last_name>
|
||||
<last_name>Guschke</last_name>
|
||||
<last_name>Haegler</last_name>
|
||||
<last_name>Hagler</last_name>
|
||||
<last_name>Hausmann</last_name>
|
||||
<last_name>Haussmann</last_name>
|
||||
<last_name>Hedtke</last_name>
|
||||
<last_name>Hegler</last_name>
|
||||
<last_name>Hengel</last_name>
|
||||
<last_name>Heinitz</last_name>
|
||||
<last_name>Herting</last_name>
|
||||
<last_name>Herzberg</last_name>
|
||||
<last_name>Herzog</last_name>
|
||||
<last_name>Hesselbarth</last_name>
|
||||
<last_name>Hesselschwerdt</last_name>
|
||||
<last_name>Heusmann</last_name>
|
||||
<last_name>Huesemann</last_name>
|
||||
<last_name>Huesmann</last_name>
|
||||
<last_name>Huismann</last_name>
|
||||
<last_name>Husemann</last_name>
|
||||
<last_name>Husmann</last_name>
|
||||
<last_name>Hussmann</last_name>
|
||||
<last_name>Jaeckel</last_name>
|
||||
<last_name>Jansen</last_name>
|
||||
<last_name>Jauernig</last_name>
|
||||
<last_name>Jeckel</last_name>
|
||||
<last_name>Juergen</last_name>
|
||||
<last_name>Juergens</last_name>
|
||||
<last_name>Kaehlert</last_name>
|
||||
<last_name>Kaffenberger</last_name>
|
||||
<last_name>Keil</last_name>
|
||||
<last_name>Kies</last_name>
|
||||
<last_name>Kirschenmann</last_name>
|
||||
<last_name>Kliese</last_name>
|
||||
<last_name>Knobloch</last_name>
|
||||
<last_name>Kuhnle</last_name>
|
||||
<last_name>Liebscher</last_name>
|
||||
<last_name>Limbach</last_name>
|
||||
<last_name>Limbacher</last_name>
|
||||
<last_name>Linnemann</last_name>
|
||||
<last_name>Linnenkohl</last_name>
|
||||
<last_name>Lohmeier</last_name>
|
||||
<last_name>Lohwasser</last_name>
|
||||
<last_name>Luedke</last_name>
|
||||
<last_name>Ludwig</last_name>
|
||||
<last_name>Lüneburg</last_name>
|
||||
<last_name>Lutz</last_name>
|
||||
<last_name>Lux</last_name>
|
||||
<last_name>Manthei</last_name>
|
||||
<last_name>Manthey</last_name>
|
||||
<last_name>Mauss - Mauß</last_name>
|
||||
<last_name>Mausz</last_name>
|
||||
<last_name>Metzger</last_name>
|
||||
<last_name>Metzler</last_name>
|
||||
<last_name>Metzner</last_name>
|
||||
<last_name>Moosbrugger</last_name>
|
||||
<last_name>Mühlberg</last_name>
|
||||
<last_name>Mühlberger</last_name>
|
||||
<last_name>Muff</last_name>
|
||||
<last_name>Musolff</last_name>
|
||||
<last_name>Nerger</last_name>
|
||||
<last_name>Neusel</last_name>
|
||||
<last_name>Ney</last_name>
|
||||
<last_name>Nitz</last_name>
|
||||
<last_name>Nolte</last_name>
|
||||
<last_name>Pappe</last_name>
|
||||
<last_name>Petersen</last_name>
|
||||
<last_name>Sacher</last_name>
|
||||
<last_name>Schlachter</last_name>
|
||||
<last_name>Schmarbeck</last_name>
|
||||
<last_name>Schmidkonz</last_name>
|
||||
<last_name>Schmidt</last_name>
|
||||
<last_name>Seifert</last_name>
|
||||
<last_name>Sell</last_name>
|
||||
<last_name>Sendner</last_name>
|
||||
<last_name>Speidel</last_name>
|
||||
<last_name>Stierle</last_name>
|
||||
<last_name>Stumpf</last_name>
|
||||
<last_name>Sulzer</last_name>
|
||||
<last_name>Tönjes</last_name>
|
||||
<last_name>Tönnies</last_name>
|
||||
<last_name>Treiber</last_name>
|
||||
<last_name>Vesper</last_name>
|
||||
<last_name>Volk</last_name>
|
||||
<last_name>Wacker</last_name>
|
||||
<last_name>Weber</last_name>
|
||||
<last_name>Wedemann</last_name>
|
||||
<last_name>Weiland</last_name>
|
||||
<last_name>Witzel</last_name>
|
||||
<last_name>Wolff</last_name>
|
||||
<last_name>Wolgast</last_name>
|
||||
<last_name>Wurster</last_name>
|
||||
<last_name>Zieren</last_name>
|
||||
<last_name>Zinn</last_name>
|
||||
<last_name>Zwilling</last_name>
|
||||
</names>
|
Loading…
x
Reference in New Issue
Block a user