<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40517 >
On Tue, 7 Oct 2008 Joan Creus wrote: > 2008/10/7 Egor Vyscrebentsov <evyscr/gmail.com> > > > > base_list (and therefore base_buf) for archers at [39,40] (line 1278) > > is "????��x�ſ-�\017\b\214�ſ �\b��". Most of these symbols are illegal. > > > > activity_list for same unit is "????". Wonder if this was one more > > out-of-pointer'ing? > > > > orders_list and dir_list also look strange. orders_list and dir_list are ok. > It looks like the problem my be in the saving rather than in the loading? Yes. The problem is in player_save_units() and player_load_units(). player_save_units() set target base char to '?', and this char isn't changed in several cases. player_load_units() assumes that loaded char is one of [0-9a-f]. Quickest (not the best) fix is - } else if (base_buf) { + } else if (base_buf && base_buf[j] != '?') { at server/savegame.c:1862 This is the first part of problem. The second part is that in savegame file base_list is longer than activity_list. Now I have no idea why. -- Thanks, evyscr _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev