diff --git a/po/bygfoot.pot b/po/bygfoot.pot index c48fe89a..98ae5d4e 100644 --- a/po/bygfoot.pot +++ b/po/bygfoot.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-06-18 16:43+0200\n" +"POT-Creation-Date: 2005-06-19 13:22+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -51,7 +51,9 @@ msgid "There are no offers for the player." msgstr "" #: src/callback_func.c:344 -msgid "There are some offers for the player which you will see next week." +msgid "" +"There are some offers for the player which you rejected or will see next " +"week." msgstr "" #: src/callback_func.c:353 @@ -84,40 +86,48 @@ msgid "" "player are satisfied with your offer. Do you still want to buy the player?" msgstr "" -#: src/callback_func.c:425 +#: src/callback_func.c:426 #, c-format msgid "User %s didn't consider your offer yet." msgstr "" -#: src/callback_func.c:433 +#: src/callback_func.c:434 msgid "" "The player is locked (the team owners are considering an offer currently)." msgstr "" -#: src/callback_func.c:438 +#: src/callback_func.c:447 #, c-format msgid "" -"You are making an offer for %s. Your scout's recommendations for value and " +"You are making an offer for %s. Your scout's recommendations for fee and " "wage are preset." msgstr "" -#: src/callback_func.c:443 +#: src/callback_func.c:450 src/callback_func.c:458 msgid "Fee" msgstr "" -#: src/callback_func.c:444 src/treeview.c:259 src/treeview.c:1749 +#: src/callback_func.c:451 src/callback_func.c:458 src/treeview.c:259 +#: src/treeview.c:1749 msgid "Wage" msgstr "" -#: src/callback_func.c:461 +#: src/callback_func.c:455 +#, c-format +msgid "" +"You are making an offer for %s again. Your previous values for fee and wage " +"are preset." +msgstr "" + +#: src/callback_func.c:476 msgid "You can't offer a new contract if the old one is still above 2 years." msgstr "" -#: src/callback_func.c:466 +#: src/callback_func.c:481 msgid "The player won't negotiate with you anymore." msgstr "" -#: src/callback_func.c:480 +#: src/callback_func.c:495 #, c-format msgid "" "You are negotiating with %s about a new contract. Pay attention to what " @@ -127,7 +137,7 @@ msgid "" "Your scout's recommendations are preset:" msgstr "" -#: src/callback_func.c:601 +#: src/callback_func.c:616 #, c-format msgid "" "You want to fire %s. Since his contract expires in %.1f years, he demands a " @@ -1467,36 +1477,36 @@ msgstr "" msgid "Loading miscellaneous..." msgstr "" -#: src/misc2_callback_func.c:45 +#: src/misc2_callback_func.c:47 #, c-format msgid "%s couldn't afford to buy %s or his roster was full." msgstr "" -#: src/misc2_callback_func.c:49 +#: src/misc2_callback_func.c:51 #, c-format msgid "You didn't have enough money to buy %s or your roster was full." msgstr "" -#: src/misc2_callback_func.c:78 +#: src/misc2_callback_func.c:81 msgid "Your player roster is full or you don't enough money." msgstr "" -#: src/misc2_callback_func.c:112 +#: src/misc2_callback_func.c:115 #, c-format msgid "The structure value %d is invalid." msgstr "" -#: src/misc2_callback_func.c:152 +#: src/misc2_callback_func.c:155 #, c-format msgid "%s accepts your offer." msgstr "" -#: src/misc2_callback_func.c:161 +#: src/misc2_callback_func.c:164 #, c-format msgid "%s rejects your offer. You may still make %d offers." msgstr "" -#: src/misc2_callback_func.c:168 +#: src/misc2_callback_func.c:171 #, c-format msgid "" "%s rejects your offer and won't negotiate with you anymore. You should sell " @@ -2256,7 +2266,7 @@ msgstr "" msgid "W " msgstr "" -#: src/transfer.c:414 +#: src/transfer.c:434 #, c-format msgid "%s has been added to the transfer list for %d weeks." msgstr "" diff --git a/src/callback_func.c b/src/callback_func.c index 09b62818..a0539e3b 100644 --- a/src/callback_func.c +++ b/src/callback_func.c @@ -340,8 +340,8 @@ callback_transfer_list_user(gint button, gint idx) if(trans(idx).offers->len == 0) game_gui_print_message(_("There are no offers for the player.")); else if(trans(idx).offers->len > 0 && - !transoff(idx, 0).accepted) - game_gui_print_message(_("There are some offers for the player which you will see next week.")); + transoff(idx, 0).status != TRANSFER_OFFER_ACCEPTED) + game_gui_print_message(_("There are some offers for the player which you rejected or will see next week.")); else { misc_print_grouped_int(transoff(idx, 0).fee, buf2, FALSE); @@ -409,6 +409,7 @@ callback_transfer_list_clicked(gint button, gint idx) { gchar buf[SMALL]; Transfer *tr = &trans(idx); + gint old_fee, old_wage = -1; if(tr->tm == current_user.tm) { @@ -416,7 +417,7 @@ callback_transfer_list_clicked(gint button, gint idx) return; } else if(tr->offers->len > 0 && - transoff(idx, 0).accepted) + transoff(idx, 0).status == TRANSFER_OFFER_ACCEPTED) { if(transoff(idx, 0).tm == current_user.tm) { @@ -435,13 +436,27 @@ callback_transfer_list_clicked(gint button, gint idx) return; } - sprintf(buf, _("You are making an offer for %s. Your scout's recommendations for value and wage are preset."), - player_of_id_team(tr->tm, tr->id)->name->str); stat1 = STATUS_SHOW_TRANSFER_LIST; stat2 = idx; + + if(tr->offers->len > 0) + transfer_get_previous_offer(tr, current_user.tm, &old_fee, &old_wage); - window_show_digits(buf, _("Fee"), tr->fee[current_user.scout % 10], - _("Wage"), tr->wage[current_user.scout % 10]); + if(old_wage == -1) + { + sprintf(buf, _("You are making an offer for %s. Your scout's recommendations for fee and wage are preset."), + player_of_id_team(tr->tm, tr->id)->name->str); + + window_show_digits(buf, _("Fee"), tr->fee[current_user.scout % 10], + _("Wage"), tr->wage[current_user.scout % 10]); + } + else + { + sprintf(buf, _("You are making an offer for %s again. Your previous values for fee and wage are preset."), + player_of_id_team(tr->tm, tr->id)->name->str); + + window_show_digits(buf, _("Fee"), old_fee, _("Wage"), old_wage); + } } /** Show the contract window for the player with the specified index. */ diff --git a/src/callbacks.c b/src/callbacks.c index 0311ca25..ab3090cc 100644 --- a/src/callbacks.c +++ b/src/callbacks.c @@ -520,7 +520,7 @@ on_treeview_right_button_press_event (GtkWidget *widget, { case STATUS_SHOW_TRANSFER_LIST: if(trans(idx - 1).tm == current_user.tm || - (trans(idx - 1).offers->len > 0 && transoff(idx - 1, 0).accepted) || + (trans(idx - 1).offers->len > 0 && transoff(idx - 1, 0).status == TRANSFER_OFFER_ACCEPTED) || event->button == 1) callback_transfer_list_clicked(event->button, idx - 1); else if(event->button == 3) diff --git a/src/misc2_callback_func.c b/src/misc2_callback_func.c index 29467bc5..b5ba4914 100644 --- a/src/misc2_callback_func.c +++ b/src/misc2_callback_func.c @@ -52,8 +52,9 @@ misc2_callback_transfer_user_player(void) player_of_id_team(trans(stat2).tm, trans(stat2).id)->name->str); user_event_add(user_from_team(new_team), EVENT_TYPE_WARNING, -1, -1, NULL, buf); g_array_remove_index(trans(stat2).offers, 0); - if(trans(stat2).offers->len > 0) - transoff(stat2, 0).accepted = TRUE; + if(trans(stat2).offers->len > 0 && + transoff(stat2, 0).status == TRANSFER_OFFER_NOT_CONSIDERED) + transoff(stat2, 0).status = TRANSFER_OFFER_ACCEPTED; } } else diff --git a/src/misc2_callbacks.c b/src/misc2_callbacks.c index 7f076346..e6e6394e 100644 --- a/src/misc2_callbacks.c +++ b/src/misc2_callbacks.c @@ -424,8 +424,16 @@ void on_button_transfer_no_clicked (GtkButton *button, gpointer user_data) { - g_array_remove_index(trans(stat2).offers, 0); - if(trans(stat2).offers->len > 0) + gint len = 1; + + transoff(stat2, 0).status = TRANSFER_OFFER_REJECTED; + if(transoff(stat2, 0).tm == current_user.tm) + { + g_array_remove_index(trans(stat2).offers, 0); + len = 0; + } + + if(trans(stat2).offers->len > len) transfer_offers_notify(&trans(stat2), FALSE); treeview_show_user_player_list(); diff --git a/src/transfer.c b/src/transfer.c index 8efbb5d9..6617e4bf 100644 --- a/src/transfer.c +++ b/src/transfer.c @@ -31,8 +31,11 @@ transfer_update(void) for(i=transfer_list->len - 1;i>=0;i--) for(j=trans(i).offers->len - 1;j>=0;j--) - if(transoff(i, j).accepted || team_is_user(transoff(i, j).tm) == -1) + if(transoff(i, j).status == TRANSFER_OFFER_REJECTED2 || + team_is_user(transoff(i, j).tm) == -1) g_array_remove_index(trans(i).offers, j); + else if(transoff(i, j).status == TRANSFER_OFFER_REJECTED) + transoff(i, j).status = TRANSFER_OFFER_REJECTED2; transfer_add_new_players(); transfer_add_cpu_offers(); @@ -108,10 +111,18 @@ transfer_offer_compare_func(gconstpointer a, gconstpointer b) *tr2 = (const TransferOffer*)b; gint return_value; - return_value = (tr1->fee != tr2->fee) ? - misc_int_compare(tr1->fee, tr2->fee) : - misc_int_compare(tr1->wage, tr2->wage); - + if(tr1->status >= TRANSFER_OFFER_REJECTED && + tr2->status >= TRANSFER_OFFER_REJECTED) + return_value = 0; + else if(tr1->status >= TRANSFER_OFFER_REJECTED) + return_value = 1; + else if(tr2->status >= TRANSFER_OFFER_REJECTED) + return_value = -1; + else + return_value = (tr1->fee != tr2->fee) ? + misc_int_compare(tr1->fee, tr2->fee) : + misc_int_compare(tr1->wage, tr2->wage); + return return_value; } @@ -126,7 +137,7 @@ transfer_offers_notify(Transfer *tr, gboolean sort) g_array_sort(tr->offers, transfer_offer_compare_func); off = &g_array_index(tr->offers, TransferOffer, 0); - off->accepted = TRUE; + off->status = TRANSFER_OFFER_ACCEPTED; if(team_is_user(tr->tm) != -1) user_event_add(user_from_team(tr->tm), EVENT_TYPE_TRANSFER_OFFER_USER, @@ -147,6 +158,7 @@ void transfer_evaluate_offers(void) { gint i, j; + gboolean notify = FALSE; for(i=transfer_list->len - 1;i>=0;i--) if(trans(i).offers->len > 0) @@ -155,35 +167,42 @@ transfer_evaluate_offers(void) { for(j=trans(i).offers->len - 1; j >= 0; j--) { - if(player_of_id_team(trans(i).tm, trans(i).id)->value > transoff(i, j).fee && - player_of_id_team(trans(i).tm, trans(i).id)->wage > transoff(i, j).wage) + if(transoff(i, j).status != TRANSFER_OFFER_REJECTED2) { - user_event_add(user_from_team(transoff(i, j).tm), - EVENT_TYPE_TRANSFER_OFFER_REJECTED_FEE_WAGE, - transoff(i, j).fee, transoff(i, j).wage, - trans(i).tm, player_of_id_team(trans(i).tm, trans(i).id)->name->str); - g_array_remove_index(trans(i).offers, j); - } - else if(player_of_id_team(trans(i).tm, trans(i).id)->value > transoff(i, j).fee) - { - user_event_add(user_from_team(transoff(i, j).tm), - EVENT_TYPE_TRANSFER_OFFER_REJECTED_FEE, - transoff(i, j).fee, transoff(i, j).wage, - trans(i).tm, player_of_id_team(trans(i).tm, trans(i).id)->name->str); - g_array_remove_index(trans(i).offers, j); - } - else if(player_of_id_team(trans(i).tm, trans(i).id)->wage > transoff(i, j).wage) - { - user_event_add(user_from_team(transoff(i, j).tm), - EVENT_TYPE_TRANSFER_OFFER_REJECTED_WAGE, - transoff(i, j).fee, transoff(i, j).wage, - trans(i).tm, player_of_id_team(trans(i).tm, trans(i).id)->name->str); - g_array_remove_index(trans(i).offers, j); + if(player_of_id_team(trans(i).tm, trans(i).id)->value > transoff(i, j).fee && + player_of_id_team(trans(i).tm, trans(i).id)->wage > transoff(i, j).wage) + { + user_event_add(user_from_team(transoff(i, j).tm), + EVENT_TYPE_TRANSFER_OFFER_REJECTED_FEE_WAGE, + transoff(i, j).fee, transoff(i, j).wage, + trans(i).tm, player_of_id_team(trans(i).tm, trans(i).id)->name->str); + transoff(i, j).status = TRANSFER_OFFER_REJECTED; + } + else if(player_of_id_team(trans(i).tm, trans(i).id)->value > transoff(i, j).fee) + { + user_event_add(user_from_team(transoff(i, j).tm), + EVENT_TYPE_TRANSFER_OFFER_REJECTED_FEE, + transoff(i, j).fee, transoff(i, j).wage, + trans(i).tm, player_of_id_team(trans(i).tm, trans(i).id)->name->str); + transoff(i, j).status = TRANSFER_OFFER_REJECTED; + } + else if(player_of_id_team(trans(i).tm, trans(i).id)->wage > transoff(i, j).wage) + { + user_event_add(user_from_team(transoff(i, j).tm), + EVENT_TYPE_TRANSFER_OFFER_REJECTED_WAGE, + transoff(i, j).fee, transoff(i, j).wage, + trans(i).tm, player_of_id_team(trans(i).tm, trans(i).id)->name->str); + transoff(i, j).status = TRANSFER_OFFER_REJECTED; + } + else + notify = TRUE; } } } + else + notify = TRUE; - if(trans(i).offers->len > 0) + if(notify) transfer_offers_notify(&trans(i), TRUE); } } @@ -336,7 +355,7 @@ transfer_player_has_offer(const Player *pl) if(trans(i).tm == pl->team && trans(i).id == pl->id && trans(i).offers->len > 0 && - transoff(i, 0).accepted) + transoff(i, 0).status == TRANSFER_OFFER_ACCEPTED) return &transoff(i, 0); return NULL; @@ -355,13 +374,14 @@ transfer_add_offer(gint idx, Team *tm, gint fee, gint wage) { transoff(idx, i).fee = fee; transoff(idx, i).wage = wage; + transoff(idx, i).status = TRANSFER_OFFER_NOT_CONSIDERED; return TRUE; } new.tm = tm; new.fee = fee; new.wage = wage; - new.accepted = FALSE; + new.status = TRANSFER_OFFER_NOT_CONSIDERED; g_array_append_val(trans(idx).offers, new); @@ -434,12 +454,27 @@ transfer_offers_pending(void) for(i=0;ilen;i++) if((trans(i).tm == current_user.tm && trans(i).offers->len > 0 && - transoff(i, 0).accepted) || + transoff(i, 0).status == TRANSFER_OFFER_ACCEPTED) || (team_is_user(trans(i).tm) == -1 && trans(i).offers->len > 0 && transoff(i, 0).tm == current_user.tm && - transoff(i, 0).accepted)) + transoff(i, 0).status == TRANSFER_OFFER_ACCEPTED)) return TRUE; return FALSE; } + +/** Find out whether the team has already made an offer for the player + and set the fee and wage accordingly. */ +void +transfer_get_previous_offer(const Transfer *tr, const Team *tm, gint *fee, gint *wage) +{ + gint i; + + for(i=0;ioffers->len;i++) + if(g_array_index(tr->offers, TransferOffer, i).tm == tm) + { + *fee = g_array_index(tr->offers, TransferOffer, i).fee; + *wage = g_array_index(tr->offers, TransferOffer, i).wage; + } +} diff --git a/src/transfer.h b/src/transfer.h index b37959b4..36aaf489 100644 --- a/src/transfer.h +++ b/src/transfer.h @@ -71,4 +71,7 @@ query_transfer_current_team_offer(const Player *pl); gboolean transfer_offers_pending(void); +void +transfer_get_previous_offer(const Transfer *tr, const Team *tm, gint *fee, gint *wage); + #endif diff --git a/src/transfer_struct.h b/src/transfer_struct.h index ed808535..3fbaca97 100644 --- a/src/transfer_struct.h +++ b/src/transfer_struct.h @@ -26,8 +26,17 @@ typedef struct Team *tm; /** Transfer fee and wage offer. */ gint fee, wage; - /** Whether the offer got accepted. */ - gboolean accepted; + /** Whether the offer got accepted or rejected etc. */ + gint status; } TransferOffer; +enum TransferOfferStatus +{ + TRANSFER_OFFER_NOT_CONSIDERED = 0, + TRANSFER_OFFER_ACCEPTED, + TRANSFER_OFFER_REJECTED, + TRANSFER_OFFER_REJECTED2, + TRANSFER_OFFER_END +}; + #endif diff --git a/src/xml_loadsave_transfers.c b/src/xml_loadsave_transfers.c index 05072c0b..d926e440 100644 --- a/src/xml_loadsave_transfers.c +++ b/src/xml_loadsave_transfers.c @@ -17,7 +17,7 @@ enum TAG_TRANSFER_OFFER_TEAM_ID, TAG_TRANSFER_OFFER_FEE, TAG_TRANSFER_OFFER_WAGE, - TAG_TRANSFER_OFFER_ACCEPTED, + TAG_TRANSFER_OFFER_STATUS, TAG_END }; @@ -92,7 +92,7 @@ xml_loadsave_transfers_end_element (GMarkupParseContext *context, } else if(tag == TAG_TRANSFER_OFFER_WAGE || tag == TAG_TRANSFER_OFFER_FEE || - tag == TAG_TRANSFER_OFFER_ACCEPTED || + tag == TAG_TRANSFER_OFFER_STATUS || tag == TAG_TRANSFER_OFFER_TEAM_ID) state = TAG_TRANSFER_OFFER; else if(tag != TAG_TRANSFERS) @@ -129,8 +129,8 @@ xml_loadsave_transfers_text (GMarkupParseContext *context, new_offer.tm = team_of_id(int_value); else if(state == TAG_TRANSFER_OFFER_WAGE) new_offer.wage = int_value; - else if(state == TAG_TRANSFER_OFFER_ACCEPTED) - new_offer.accepted = int_value; + else if(state == TAG_TRANSFER_OFFER_STATUS) + new_offer.status = int_value; else if(state == TAG_TRANSFER_OFFER_FEE) new_offer.fee = int_value; } @@ -203,8 +203,8 @@ xml_loadsave_transfers_write(const gchar *prefix) TAG_TRANSFER_OFFER_TEAM_ID, I2); xml_write_int(fil, transoff(i, j).wage, TAG_TRANSFER_OFFER_WAGE, I2); - xml_write_int(fil, transoff(i, j).accepted, - TAG_TRANSFER_OFFER_ACCEPTED, I2); + xml_write_int(fil, transoff(i, j).status, + TAG_TRANSFER_OFFER_STATUS, I2); xml_write_int(fil, transoff(i, j).fee, TAG_TRANSFER_OFFER_FEE, I2); diff --git a/support_files/bygfoot_constants b/support_files/bygfoot_constants index 4fb6062f..5067cd9a 100644 --- a/support_files/bygfoot_constants +++ b/support_files/bygfoot_constants @@ -738,6 +738,6 @@ int_name_max_product 2000 # list instead of the specified one float_name_random_list_prob 2000 -string_language_names English Deutsch Hollands +string_language_names English Deutsch Nederlands string_language_codes C de_DE nl_NL string_language_symbols flag_england.png flag_germany.png flag_nl.png diff --git a/support_files/bygfoot_user.conf b/support_files/bygfoot_user.conf index 7a01cf75..0d40bdf4 100644 --- a/support_files/bygfoot_user.conf +++ b/support_files/bygfoot_user.conf @@ -4,14 +4,14 @@ # 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_user_show_live_game 1 +int_opt_user_show_live_game 0 int_opt_user_live_game_speed 0 -int_opt_user_live_game_verbosity 5 +int_opt_user_live_game_verbosity 7 int_opt_user_show_tendency_bar 1 int_opt_user_pause_injury 1 int_opt_user_pause_red 1 int_opt_user_pause_break 1 -int_opt_user_auto_sub 0 +int_opt_user_auto_sub 1 int_opt_user_show_job_offers 1 int_opt_user_swap_adapts 1 int_opt_user_show_overall 0 diff --git a/support_files/definitions/ireland/cup_ireland_uefa_q.xml b/support_files/definitions/ireland/cup_ireland_uefa_q.xml index 973a635a..05f34b31 100644 --- a/support_files/definitions/ireland/cup_ireland_uefa_q.xml +++ b/support_files/definitions/ireland/cup_ireland_uefa_q.xml @@ -13,7 +13,7 @@ - 4 + 8 CUP1