Follow-up Comment #10, patch #3804 (project freeciv):

I've encountered a strangeness during the implementation: a difference in
behaviour of unit.c:can_unit_unload() when called from the client and the
server.  I am using BV_ISSET(unit_type(pcargo)->disembarks,
uclass_index(unit_class(ptrans))) to determine if pcargo is permitted to be
unloaded from ptrans.  When called from unittools.c:wipe_unit(), this works
perfectly, so when the transporter is disbanded or destroyed, it is possible
to determine if the unit is helpless or merely imperiled.  Strangely, when
called from any of the gtk3 client accessors (city popup menu, application
menu, keystroke (for either transporter's UnloadAll, or cargo's Unload)), the
same test invariably returns false.  I find the same behaviour for the gtk2
client, wasn't able to test with the Qt client (load/unload does not yet
appear to be implemented), and haven't built any of the others.

Is there any obvious client/server context consideration I need to be making,
or is this also mysterious to others, so that I am best served by debugging
the client behaviour step-by-step?


Reply to this item at:


  Message sent via/by Gna!

Freeciv-dev mailing list

Reply via email to