I guess I could implement a version which does not change the save file format. 
However, this would mean:
a) Open up some internals (mainly the request-object) of the WorkersQueue class 
to the expedition class
b) Would only work as long as the number of workers is either 0 or 1
So it would be possible, but I like it even less than the hack*.

Passing the version number (of the stored packet, I guess?) isn't that easy 
since both the loading code of the portdock as well as the loading code for the 
expedition are called from MapBuildingdataPacket::read_warehouse(). I think it 
should be possible to run the loading code for the expedition from inside the 
portdock-loading, but I haven't tried it yet. I am not that happy moving the 
call but it is the best version I have found yet.

General question: We only offer compatibility for old save games with new game 
versions, right? So a new save game does not have to be loadable by an old game 
version (and isn't anyway due to the barracks and probably other changes).

* I shouldn't have called it that. Maybe call it "creative data usage"? When I 
would have implemented it quietly this branch would have already been merged. 
;-)
-- 
https://code.launchpad.net/~widelands-dev/widelands/bug-1191295-no-seafaring-builder/+merge/315525
Your team Widelands Developers is requested to review the proposed merge of 
lp:~widelands-dev/widelands/bug-1191295-no-seafaring-builder into lp:widelands.

_______________________________________________
Mailing list: https://launchpad.net/~widelands-dev
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~widelands-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to