On http://www.srnet.cz/~stepan/temp/.bygfo ... save02.zip there is a save from Bygfoot 1.9.0 which after few weeks "crashes" (it is not segfault, it just vanishes) with this message:
** (bygfoot:5573): WARNING **: player_of_id_team: didn't find player with id 491 of team York
1.9.0 crash
Győző, it looks like players aren't removed from the transfer list when their contract expires.
I'm not confident enough with the code yet to make the change myself. I'll see if what you do matches what I'd have done, and if so, I'll be happier in future to fix stuff like this
Thanks for reporting.
Mark
I'm not confident enough with the code yet to make the change myself. I'll see if what you do matches what I'd have done, and if so, I'll be happier in future to fix stuff like this

Thanks for reporting.
Mark
yes, seems very much so. i had a lot of trouble reproducingMarkC wrote:Győző, it looks like players aren't removed from the transfer list when their contract expires.


my change is: include transfer.h in player.c, addI'm not confident enough with the code yet to make the change myself. I'll see if what you do matches what I'd have done, and if so, I'll be happier in future to fix stuff like this
Code: Select all
transfer_remove_player_ptr(player_of_idx_team(tm, idx));
if your solution is the same (or better


and stepan, in order to continue your game you just have to remove the player from the transfer list before his contract expires.
and mark, i guess the long ö's aren't really easily accessible on your keyboard. you can write gyozo or gyözö, no problem

gyözö
Press any key to continue or any other key to quit.
Right, yes, I would have done this, but now I've had second thoughts. The bug also occurs if you fire a player that's on the transfer list. I guess it would also happen when a player retires due to injury.my change is: include transfer.h in player.c, addto the player_remove_contract function. Makefile.am has to be updated, of course.Code: Select all
transfer_remove_player_ptr(player_of_idx_team(tm, idx));
It's either a case of adding transfer_remove_player_ptr() to each of these places as well, or grouping the two calls into a general function called something like "player_remove_from_game" and using that instead.
After all, we might find other things that need clearing up when a player disappears, and it'd be messy to have to repeat a bunch of calls all over the place.
I don't want to mess with too many files though, and I don't have any more time tonight anyway.
and mark, i guess the long ö's aren't really easily accessible on your keyboard. you can write gyozo or gyözö, no problem

Actually both characters are equally inaccessible at the moment (ancient keyboard) so it made no difference, and I'm too much of a purist to type gyozo

Mark
how neglectful of me not to think of those cases -- indeed, not to have thought of them in the first place, just removing players willy-nillyMarkC wrote:Right, yes, I would have done this, but now I've had second thoughts. The bug also occurs if you fire a player that's on the transfer list. I guess it would also happen when a player retires due to injury.

yes. after browsing a bit through the code i'd say that all the relevant cases are covered by the player_remove_from_team function, so if we just add that transfer_remove func to this function, things should be ok. (i just cvs-ed, in fact.)It's either a case of adding transfer_remove_player_ptr() to each of these places as well, or grouping the two calls into a general function called something like "player_remove_from_game" and using that instead.
hehe, your choice. do you know how to pronounce it? i mean, writing it correctly is a piece of cake compared to the pronounciationActually both characters are equally inaccessible at the moment (ancient keyboard) so it made no difference, and I'm too much of a purist to type gyozo

gyözö
Press any key to continue or any other key to quit.
Easily done, worry nothow neglectful of me not to think of those cases -- indeed, not to have thought of them in the first place, just removing players willy-nilly

Ah, but this introduces a bug. Now, when you sell a player, both transfer_remove_player_ptr and transfer_remove_player get called, so two players get taken off the list.yes. after browsing a bit through the code i'd say that all the relevant cases are covered by the player_remove_from_team function, so if we just add that transfer_remove func to this function, things should be ok. (i just cvs-ed, in fact.)
I've committed a fix to cvs (just removed the call to transfer_remove_player in misc2_callback_func.c)
Probably nothehe, your choice. do you know how to pronounce it? i mean, writing it correctly is a piece of cake compared to the pronounciation

great. hadn't thought of that.MarkC wrote:Ah, but this introduces a bug. Now, when you sell a player, both transfer_remove_player_ptr and transfer_remove_player get called, so two players get taken off the list.
I've committed a fix to cvs (just removed the call to transfer_remove_player in misc2_callback_func.c)
sounds like the best an englishman can manageProbably notI believe the 'gy' is kind of like a soft 'j' but further back in the mouth, nearer a g.

they're pronounced long, which is why there are long bars (er.. bars?) on the ös. gyööözööö. and the 'z' is voiced (like you'd pronounce it anyway, i suppose)I'd just pronounce the ő the same as the German ö, but I imagine they're not quite the same.

gyözö
Press any key to continue or any other key to quit.