Save game - Star & Planet tables

Information, How-to's, and discussion about mod'ing Master of Orion II.
User avatar
Lord Brazen
Site Admin
Posts: 162
Joined: Mon Jul 18, 2005 10:16 pm
Location: Toronto, Canada
Contact:

Save game - Star & Planet tables

Postby Lord Brazen » Sat Aug 06, 2005 8:00 pm

I decided to post a little info about the save games incase someone wants to write a map editor.

Code: Select all

Star table @ offset 0x17ad3 in save game (0x71 bytes per star)

Index    function
------    ---------

00-0E     Star System Name (Null terminated string)
0f-10     X-position (lo/hi)
11-12     Y-position (lo/hi)
13        Star size (0-3=Large-Tiny)
14        System Primary Owner (0-7=player #, FF=unowned)
15        Unknown
16        Star type
               0=Blue
               1=White
               2=Yellow
               3=Orange
               4=Red
               5=Brown
               6=Black Hole
17-27     Unknown
28        System Special
               0=none
               2=Space Debris
               3=Pirate Cache
               4=Gold Deposites
               5=Gem Deposits
               6=Natives
               7=Splinter Colony
               8=Hero
               A=Artifacts world
               B=Orion
29        Wormhole leads to (0-7f=system #, FF = no wormhole)
30-38     Unknown
39        System has Warp Indictor (0=none, 1-8=owner player 0-7)
3A-3E     Unknown
3F        System has Artimis Net (0=none, 1-8=owner player 0-7)
40-49     Unknown
4A-4B     Link to planets table - 1st orbit (planet # 0-1ff, FFFF=none) - closest to sun
4C-4D     Link to planets table - 2nd orbit (planet # 0-1ff, FFFF=none)
4E-4F     Link to planets table - 3rd orbit (planet # 0-1ff, FFFF=none)
50-51     Link to planets table - 4th orbit (planet # 0-1ff, FFFF=none)
52-53     Link to planets table - 5th orbit (planet # 0-1ff, FFFF=none) - furthest sun
54-70     Unknown



Code: Select all

Planets Table @ offset 0x162E9 in save game (0x11 bytes per planet)

offset    function
------    --------

00-01     Link to Colony table (0-1fff=colony #, FFFF=not colonized)
02        Link to Star table - Parent star (0-7f = system #)
03        Orbit # (0 - 4)
04        Planet Type
               1=Asteroid
               2=Gas Giant
               3=Planet
05        Planet Size
               0=tiny
               1=small
               2=medium
               3=large
               4=huge
06        Planet G
               0=Low G
               1=Normal G
               2=Heavy G
07        Unknown
08        Planet environment class
               0=toxic
               1=radiated
               2=baren
               3=desert
               4=tundra
               5=ocean
               6=swamp
               7=arid
               8=terran
               9=gaia
09        Drawing number - Background image on colony screen (0-5=image in planets.lbx)
0A        Planet mineral class
               0=Ultra Poor
               1=Poor
               2=Abundant
               3=Rich
               4=Ultra Rich
0B        Food Base
0C        Number of Terraforms done (effects cost of next one)
0D        Unknown (Initial value is based on Planet Size but changes if colonized)
               2=tiny
               4=small
               5=med
               7=large
               A=huge
0E        Unknown
0F        Planet special
               0=none
               2=Space Debris
               3=Pirate Cache
               4=Gold Deposites
               5=Gem Deposits
               6=Natives
               7=Splinter Colony
               8=Hero
               A=Artifacts world
               B=Orion
10        Flags (bit 2 = Soil Enhancement)



I haven't figured out everything yet, I will update this post if I discover anything else.
"Stars are holes in the sky from which the light of the Infinite shine through." - Confucius.

User avatar
Flenser
Posts: 3
Joined: Tue Oct 25, 2005 11:50 am

Postby Flenser » Tue Oct 25, 2005 11:53 am

I meant to add this to the codespec (save game file format) back in '99:

Code: Select all


Nebulae

00031BEF:

   //----------
   
   struct s_nebula {
   
   00   sint   nebula_x;
   02   sint   nebula_y;
   04   char   nebula_type;                  // 0 to 11
   };
   //----------
   
00031BEF   struct      s_nebula[4];
00031C03   char      number_of_nebulae;         // 0 to 4



Can't remember why I didn't...

(Edit) My copy of the codespec has number_of_nebulae ranged 0 to 4, but my working notes have 0 to 3. I /think/ 0 to 4 is the right range.

User avatar
siron
Posts: 504
Joined: Fri Jul 22, 2005 12:35 pm
Location: Hamburg
Contact:

Postby siron » Tue Oct 25, 2005 1:15 pm

Welcome Flenser!

Thx for your post.

User avatar
Flenser
Posts: 3
Joined: Tue Oct 25, 2005 11:50 am

Postby Flenser » Tue Oct 25, 2005 2:11 pm

Thanks, Siron.

You were kind enough to point me here when I posted my questions on your blog. I signed up under my pseudonym because I thought that Simon was too similar to Siron.

I have a few technical questions, and this board seems like the place to ask, but I'll start a new thread for them.

hellcatv
Posts: 2
Joined: Sat Dec 01, 2012 8:11 pm

Postby hellcatv » Sat Dec 01, 2012 8:12 pm

Thanks for the helpful information about number of stars and planet binary format.

I used it to help make a galaxy reflector to give everyone the same planets for fair games where no one gets an extra lucky start


https://github.com/danielrh/masteroforion2

Hope it's useful to other MOO fans[/url]


Return to “Game Modifications”

Who is online

Users browsing this forum: No registered users and 2 guests