patchFreeciv - Patches: patch #4804, Unify UNIT_MOVE and UNIT_LOAD...

Show feedback again

patch #4804: Unify UNIT_MOVE and UNIT_LOAD packets, allowing transfer onto specific transport on adjacent tile

Submitted by:  Jacob Nevins <jtn>
Submitted on:  Sat Jun 14 11:37:24 2014  
Category: generalPriority: 5 - Normal
Status: DuplicatePrivacy: Public
Assigned to: Marko Lindqvist <cazfi>Open/Closed: Closed
Planned Release: Contains string changes: None

Add a New Comment (Rich MarkupRich Markup):

You are not logged in

Please log in, so followups can be emailed to you.


Mon Sep 19 05:27:13 2016, comment #4:

This ticket has been made redundant by the "load from adjacent tile" functionality of the UNIT_LOAD.

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.
Fri Jan 23 14:54:57 2015, comment #3:

Maybe unit_orders could be used in stead? Adding a target field to unit_orders would also make it easier to support a "do pre chosen enabler controlled action" order.

Sveinung Kvilhaugsvik <sveinung>
Project Member
Wed Jan 21 09:29:58 2015, comment #2:

Need to remember that UNIT_MOVE is a frequently used packet and shouldn't be bloated too much.

Jacob Nevins <jtn>
Project Administrator
Sat Jun 14 11:38:52 2014, comment #1:

(Same comments as patch #4805 about ruleset control of transfer legality)

Jacob Nevins <jtn>
Project Administrator
Sat Jun 14 11:37:24 2014, original submission:

If you move a unit to an adjacent non-native tile containing more than one transport, you don't get to choose which transport it loads onto; unit_move() picks one for you.

To fix this I think we should unify UNIT_MOVE and UNIT_LOAD packets into a single UNIT_MOVE packet:

tile can now legally be the unit's current tile (which will be used in conjunction with 'transporter_id' for a normal 'load').

transporter_id can be a specific transport, or 0 indicating "at server's discretion" -- server will pick a transport iff necessary, as unit_move() does now.

I wonder if we should unify UNIT_UNLOAD into this too. That would require another value for transporter_id (or separate boolean) meaning explicitly 'no transport'. It would also lose the ID of the transporter we're unloading from in the current UNIT_UNLOAD packet -- I think that's only used for sanity checking client state, is it very important?
Not sure that unifying UNIT_UNLOAD gains us much, though.

Would also need a corresponding change to the 'orders' packet format.

Not sure what the UI for cross-tile targeted transfers looks like. Since I think this change has no benefit without the UI, I guess we need to work this out first.

Jacob Nevins <jtn>
Project Administrator


(Note: upload size limit is set to 1024 kB, after insertion of the required escape characters.)

Attach File(s):

No files currently attached


   patch dependencies.

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by cazfi (Posted a comment)
  • -unavailable- added by sveinung (Posted a comment)
  • -unavailable- added by jtn (Submitted the item)

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.


    Error: not logged in



    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon Sep 19 05:27:30 2016cazfiCategoryNone=>general
      Assigned toNone=>cazfi
    Sat Jun 14 11:38:28 2014jtnDependencies-=>Depends on patch #4805
    Show feedback again

    Back to the top

    Powered by Savane 3.1-cleanup