CustomGalConversion

From Starsonata Wiki
Jump to: navigation, search

 Custom Galaxy Conversion

What to do

We need to make all the custom galaxies look and act correctly in client 2.  This mainly consists of replacing the visage information of:

  1. Suns
  2. Planets
  3. AI Bases
  4. Nebulas
  5. Wormholes

A "visage" is simply how a thing looks.  A thing looks independent of how it acts and anything in the game can technically look any way in client 1.  In client2, we move a lot of the appearance of things over to the client rather than the server, so visages get a lot simpler.  An example visage from the sun in Sol in client 1 is:

        <VISAGE typeid="6">
          <VISAGE typeid="7">
            <ANIMATRIX>
              <ANIMATRIX startTime="0" duration="0" startSize="1.30" endSize="1.350" rotation="0.001064" loop="0" startColor="80ffff00" endColor="80ffff00" offx="0" offy="0" endx="0" endy="0"/>
            </ANIMATRIX>
            <NAME>Sun/Sun-halo</NAME>
            <MOD>ffffffff</MOD>
          </VISAGE>
          <VISAGE typeid="7">
            <NAME>Sun/Sun18</NAME>
            <MOD>ffffffff</MOD>
          </VISAGE>
        </VISAGE>

Note that visages can be complex, nested things, and in C1, they often are, since all we are working with are sprites, animators, and particle emitters.  For SS2, this will look like this:

        <VISAGE typeid="1">
          <FACEPLATE>9</FACEPLATE>
        </VISAGE>

Much simpler.  All this is is a simple type 1 ("indexed") visage that indexes into a list of pre-created object types based on what sort of object it is.  The "FACEPLATE" used to mean the index of a sprite graphic in C1, but for SS2, we are reusing that as our index number.  In the above example, 9, is the 9th sun type that I made and you can see it in the custom galaxy "c2catalog.xml".


So basically, what we are doing is going through the existing custom galaxies and replacing all the old visages with indexes for the new types found in c2catalog.xml.

Getting Set Up

I'm going to create a dropbox directory for this project and share it.  In it will be a modified server and the data needed to run it and what we need to edit.

Copy the server directory to somewhere else on your computer (best not to run it straight out of the dropbox or else it will keep uploading and downloading everyone's temporary files.)


Install cygwin and then run it, changing your directory over to the dropbox.  To run the server, type:

./spacey -uni=data/customgals/test/c2demo.xml

Then run the SS2 client that will also be in the drop box and set the server location to "localhost" and it will connect to your server.

When you've edited a new galaxy and want to test it, do something like this:

./spacey -uni=data/customgals2/sol.xml

All the original custom galaxies are in customgals and all the new modified ones we're making for SS2 will be in customgals2.

There's no way currently to load multiple linked galaxies.  We just have to do them one at a time.  Leave the ID's and the ordering of wormholes as they currently are and the server will link them correctly when it makes a universe.