Fixed player removal when user changes teams.

This commit is contained in:
gyboth 2007-09-01 11:28:09 +00:00
parent 9e00c407ba
commit 2b9e3795e0
4 changed files with 37 additions and 15 deletions

View File

@ -25,6 +25,7 @@ VPATH = @srcdir@
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
datarootdir = @datarootdir@
datadir = @datadir@ datadir = @datadir@
libdir = @libdir@ libdir = @libdir@
localedir = $(libdir)/locale localedir = $(libdir)/locale
@ -78,7 +79,7 @@ INSTOBJEXT = @INSTOBJEXT@
.po.gmo: .po.gmo:
file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
&& rm -f $$file && $(GMSGFMT) -o $$file $< && rm -f $$file && $(GMSGFMT) -c -o $$file $<
.po.cat: .po.cat:
sed -f ../intl/po2msg.sed < $< > $*.msg \ sed -f ../intl/po2msg.sed < $< > $*.msg \
@ -93,6 +94,21 @@ all-no:
$(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES) $(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES)
$(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \ $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \
--add-comments --keyword=_ --keyword=N_ \ --add-comments --keyword=_ --keyword=N_ \
--flag=g_strdup_printf:1:c-format \
--flag=g_string_printf:2:c-format \
--flag=g_string_append_printf:2:c-format \
--flag=g_error_new:3:c-format \
--flag=g_set_error:4:c-format \
--flag=g_markup_printf_escaped:1:c-format \
--flag=g_log:3:c-format \
--flag=g_print:1:c-format \
--flag=g_printerr:1:c-format \
--flag=g_printf:1:c-format \
--flag=g_fprintf:2:c-format \
--flag=g_sprintf:2:c-format \
--flag=g_snprintf:3:c-format \
--flag=g_scanner_error:2:c-format \
--flag=g_scanner_warn:2:c-format \
--files-from=$(srcdir)/POTFILES.in \ --files-from=$(srcdir)/POTFILES.in \
&& test ! -f $(GETTEXT_PACKAGE).po \ && test ! -f $(GETTEXT_PACKAGE).po \
|| ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \ || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \

View File

@ -248,7 +248,7 @@ misc2_callback_add_user(void)
file_load_user_conf_file(&usr(users->len - 1)); file_load_user_conf_file(&usr(users->len - 1));
user_set_up_team(&usr(users->len - 1)); user_set_up_team(&usr(users->len - 1), TRUE);
treeview_show_users( treeview_show_users(
GTK_TREE_VIEW(lookup_widget(window.user_management, GTK_TREE_VIEW(lookup_widget(window.user_management,

View File

@ -89,9 +89,12 @@ user_set_up_team_new_game(User *user)
gchar buf[SMALL]; gchar buf[SMALL];
gint rndom; gint rndom;
/* If the user chose to start in a different league than
his team is originally in, the league is stored in the scout
variable. */
if(user->scout == -1) if(user->scout == -1)
{ {
user_set_up_team(user); user_set_up_team(user, TRUE);
user_history_add(user, USER_HISTORY_START_GAME, user_history_add(user, USER_HISTORY_START_GAME,
user->tm->name, user->tm->name,
league_cup_get_name_string(user->tm->clid), NULL, NULL); league_cup_get_name_string(user->tm->clid), NULL, NULL);
@ -114,17 +117,19 @@ user_set_up_team_new_game(User *user)
user->tm->name, user->tm->name,
league_cup_get_name_string(user->tm->clid), NULL, NULL); league_cup_get_name_string(user->tm->clid), NULL, NULL);
user_set_up_team(user); user_set_up_team(user, TRUE);
} }
} }
/** Set up finances, remove some players etc. for a new user team. /** Set up finances, remove some players etc. for a new user team.
@par am user The user whose team we set up. */ @par am user The user whose team we set up. */
void void
user_set_up_team(User *user) user_set_up_team(User *user, gboolean remove_players)
{ {
gint i, j; gint i, j;
if(remove_players)
{
for(i=PLAYER_POS_DEFENDER; i<=PLAYER_POS_FORWARD; i++) for(i=PLAYER_POS_DEFENDER; i<=PLAYER_POS_FORWARD; i++)
for(j=user->tm->players->len - 1; j > 10; j--) for(j=user->tm->players->len - 1; j > 10; j--)
if(g_array_index(user->tm->players, Player, j).pos == i && if(g_array_index(user->tm->players, Player, j).pos == i &&
@ -133,6 +138,7 @@ user_set_up_team(User *user)
player_remove_from_team(user->tm, j); player_remove_from_team(user->tm, j);
break; break;
} }
}
for(i=0;i<user->tm->players->len;i++) for(i=0;i<user->tm->players->len;i++)
g_array_index(user->tm->players, Player, i).recovery = 0; g_array_index(user->tm->players, Player, i).recovery = 0;
@ -559,7 +565,7 @@ user_change_team(User *user, Team *tm)
user->tm = tm; user->tm = tm;
user->team_id = tm->id; user->team_id = tm->id;
user_set_up_team(user); user_set_up_team(user, FALSE);
user->counters[COUNT_USER_NEW_SPONSOR] = 0; user->counters[COUNT_USER_NEW_SPONSOR] = 0;
user->counters[COUNT_USER_SUCCESS] = (success < 0) ? user->counters[COUNT_USER_SUCCESS] = (success < 0) ?

View File

@ -40,7 +40,7 @@ void
user_set_up_team_new_game(User *user); user_set_up_team_new_game(User *user);
void void
user_set_up_team(User *user); user_set_up_team(User *user, gboolean remove_players);
void void
user_set_up_finances(User *user); user_set_up_finances(User *user);