1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

MOO save file layout

Discussion in 'Other Civ-Related Games' started by sargon0, May 14, 2008.

  1. sargon0

    sargon0 Warlord

    Joined:
    May 30, 2007
    Messages:
    109
    Location:
    England
    [EDIT] New fields added and ship data added in post 2 - enough to fix negative fleets!

    If you want to analyse internal game data in MOO there are some editors available but some important data is still elusive so I use freeware hex editor XVI32 to analyse the save file. Of course this voids any game you are playing but can give you a better understanding of how the game operates, allow you to create a particularly challenging setup for others or even fix the negative fleet bug (see post 2). Let me know if you find any errors or have additional info which can be added (& credited).

    The save file begins with the Planet data – ‘B8’ bytes per planet with enough space for 108 planets whatever galaxy size actually used. Players 0-5 below refer to the races in order as they appear on the map screen.


    Planetary Data (loc relative to Planet name)
    loc size contents
    00 var. Planet name
    0C 04 x,y co-ordinates <new>
    2C 02 BC towards next ship(s)
    2E 01 factory tenths
    30 02 reserve <new>
    34 02 waste
    3A 02 population
    3E 02 factories
    40 02 actual production after maint
    42 02 total production
    50 02 SHIP slider percentage
    52 02 DEF slider percentage
    54 02 IND slider percentage
    56 02 ECO slider percentage
    58 02 TECH slider percentage
    5C 02 Planetary index number <new>
    5E 02 missile bases
    60 02 BC towards next MB or shield
    70 01 population tenths


    Empire Data (Player 0)
    loc--size-contents
    73EC 02 Security percentage in tenths
    73FA 02 Trade BC
    73FC 02 Ship maint BC
    73FE 02 Bases maint BC
    7404 02 Spying maint BC
    7406 02 Percentage to convert total production to actual
    7408 04 Total maint BC (can be negative)
    7410 04 Total empire production BC
    7414 04 Reserve BC

    Player1 data starts at 81C0, Player2 at 8F94, Player3 at 9D68, Player4 at AB3C & Player5 at B910.


    Tech Data (Player 0)
    loc---size--contents
    744A 02x6 Tech level &#8211; Comp/Const/FF/Plan/Prop/Weap
    7456 02x6 Tech slider percentage for 6 fields
    7462 04x6 Current research investment in project in 6 fields
    747A 02x6 Tech level of current research project in 6 fields
    7486 04x6 Full tech cost of current project in 6 fields
    749E 02x6 Number of completed projects (including level 1) in 6 fields

    Player1 data starts at 821E, Player2 at 8FF2, Player3 at 9DC6, Player4 at AB9A & Player5 at B96E.


    Research List
    loc---size-----contents
    C638 03x10x6 Player 0 Limited Research List &#8211; 3 bytes per quadrant, 10 quadrants per field, 6 fields
    C6EC ---60x6 Player 0 completed research &#8211; 60 bytes per field (see 749E above for number active)
    CAA0 03x10x6 Player 1 Limited Research List
    CB54 ---60x6 Player 1 completed research
    CF08 03x10x6 Player 2 Limited Research List
    CFBC ---60x6 Player 2 completed research
    D370 03x10x6 Player 3 Limited Research List
    D424 ---60x6 Player 3 completed research
    D7D8 03x10x6 Player 4 Limited Research List
    D88C ---60x6 Player 4 completed research
    DC40 03x10x6 Player 5 Limited Research List
    DCF4 ---60x6 Player 5 completed research

    [continued]
     
  2. sargon0

    sargon0 Warlord

    Joined:
    May 30, 2007
    Messages:
    109
    Location:
    England
    Ship data
    loc---size-----contents
    4DA0 28x260 Fleets enroute to planets - maximum of 260 apparently!
    74BA 24x108 Player 0 fleets at planets for 108 planets (huge galaxy) - similarly Player1-5 at 828E, 9062, 9E36, AC0A, B9DE
    C410 68x6-- Player 0 ship designs for 6 types - similarly Player 1-5 at C878, CCE0, D148, D5B0, DA18
    C86C -2x6-- Player 0 total ship counts for 6 types - similarly Player 1-5 at CCD4, D13C, D5A4, DA0C, DE74
    E642 68x1-- Player 0 current new ship design

    Fleet enroute entry
    loc size contents
    00 01 Race (0-5) - entry not used if this value is x'80'+
    02 04 x,y co-ordinates
    06 02 destination as planetary index number
    0A 02x6 ship counts for 6 ship types

    Fleet at Planet entry
    0C 02x6 ship counts for 6 ship types

    Ship design entry
    00 var Ship name
    14 02 Ship cost

    Negative fleet bug fix
    So to cure negative fleet bug for ships enroute scan from 4DA0 looking for fleet for offending race number with count of 007D (little endian form of 32,000) or above and reset this to zero. For fleets at planets scan planet fleet data for offending race (eg. AC0A for Player 4) with similar count and reset to zero (if you know planet index number you can compute exact location of fleet data eg. planet number 17 times 24 = 408 added to AC0A is ADA2).
     
  3. jmas

    jmas I Can Has Imperium?

    Joined:
    Sep 22, 2007
    Messages:
    399
    Location:
    US
    No problem about the wait--thank you for providing this information!! :)
     
  4. vmxa

    vmxa Deity

    Joined:
    Feb 9, 2004
    Messages:
    13,845
    Location:
    Oviedo, Fl
    I don't think it will hurt any more than editors to have the knowledge. You can already do much of the stuff with editors.

    BTW you did not mention it, but the Planets starts at 00 and that is the name of the planet.
     
  5. sargon0

    sargon0 Warlord

    Joined:
    May 30, 2007
    Messages:
    109
    Location:
    England
    Thanks for the comments, vmxa.

    I thought I had covered the Planet layout by saying loc relative to name.
     
  6. vmxa

    vmxa Deity

    Joined:
    Feb 9, 2004
    Messages:
    13,845
    Location:
    Oviedo, Fl
    You kind of did, but it was not clear to me, until now. I actually thought you were saying it started at 2C and it took me a while to realize the planet names where there.

    Anyway it is a nice little chart, thanks for your trouble. I had not taken out my hex calculator in about 20 years and it still worked.
     
  7. sargon0

    sargon0 Warlord

    Joined:
    May 30, 2007
    Messages:
    109
    Location:
    England
    Yes, it was confusing so I've added Planet name as a field to hopefully make it clearer.

    My hex calculator long since died so I have to rely on my mental powers (& Windows Calculator!).
     
  8. vmxa

    vmxa Deity

    Joined:
    Feb 9, 2004
    Messages:
    13,845
    Location:
    Oviedo, Fl
    I was doing with fingers as well, then looked and looked and found it and it still works, but I had forgotten how small the numbers are or how bad my vision has become.

    Now it is plain even for me to see, thanks for the work.
     
  9. sargon0

    sargon0 Warlord

    Joined:
    May 30, 2007
    Messages:
    109
    Location:
    England
    Added some new fields to planetary data for co-ordinates and index number, renumbered Players to 0-5 (from 1-6) and added post 2 with ship data. Includes details of how to deal with negative fleet bug!
     
  10. vmxa

    vmxa Deity

    Joined:
    Feb 9, 2004
    Messages:
    13,845
    Location:
    Oviedo, Fl
    Thanks for the update.
     
  11. vmxa

    vmxa Deity

    Joined:
    Feb 9, 2004
    Messages:
    13,845
    Location:
    Oviedo, Fl
    I have not run into the negative fleet in a bit, but I kind of like to see if I can kill them off. Anyway I am not sure what they should have for a fleet and I do not want to set them to zero.

    Would the game have an issue with a fleet going to zero? Now if you kill one and they show up with another, that is the time I would zap them. It is too much work to kill them all again.
     
  12. sargon0

    sargon0 Warlord

    Joined:
    May 30, 2007
    Messages:
    109
    Location:
    England
    Certainly it can be a nice challenge to take on a huge fleet! However some may find it frustrating so hopefully this gives them another option for dealing with it. You can reset individual ship groups in fleets to zero or all ship groups to zero removing the entire fleet and it does not cause a problem to the game. It will recalculate ship totals and maintenance.

    It is still unclear what is happening in-game when a negative fleet occurs. One theory is that it happened because the AI tried to scrap a fleet, wrapped to negative and is not paying any maintenance for this mega-fleet. In which case resetting to zero would seem fair. However I do not have any savegames with this naturally occuring so cannot confirm if this scenario is likely. In artificially created saves I have seen AI paying negative maintenance for 65,000+ ships! Trying to remember what the correct fleet size is could prove impossible so a removal is possibly the only practical option. Bugs are not easy to correct!
     
  13. vmxa

    vmxa Deity

    Joined:
    Feb 9, 2004
    Messages:
    13,845
    Location:
    Oviedo, Fl
    Now all I got to do is find another game with it and then remember to use the workaround, but as you say it is good to have in the bag.
     

Share This Page