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:

  <http://gna.org/patch/?3804>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to