URL:
  <http://gna.org/bugs/?21410>

                 Summary: Gen-road unit orders not loaded correctly from
savefile?
                 Project: Freeciv
            Submitted by: jtn
            Submitted on: Wed Jan  1 23:59:17 2014
                Category: None
                Severity: 3 - Normal
                Priority: 5 - Normal
                  Status: None
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
                 Release: trunk/S2_5 r23971
         Discussion Lock: Any
        Operating System: Any
         Planned Release: 2.5.0,2.6.0

    _______________________________________________________

Details:

Noticed in passing when reading the code:

When a unit has saved orders (such as a connect-with-road path), those are
saved in the savegame with single-character codes. Traditionally 'r' has been
'road'.

This is now ACTIVITY_OLD_ROAD, and upper-case version 'R' has been allocated
for ACTIVITY_GEN_ROAD (with the road type elsewhere).

Unfortunately, savegame2.c:char2activity() matches case-insensitively, so on
loading, both 'r' and 'R' will be interpreted as ACTIVITY_OLD_ROAD (and the
road type will be ignored).

I couldn't conveniently set up a good test case -- with the classic ruleset
and basic roads, I think the OLD_ROAD order gets converted back into the
appropriate gen-road equivalent so the round-trip works for basic roads, but
presumably not for exotic roads.

Probably the simplest solution is to retrospectively declare that activity
codes are case-sensitive in savegame2 format files (after some checking that
they always have been, of course).




    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?21410>

_______________________________________________
  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