Page 1 of 1

Decals

Posted: Tue Jun 03, 2008 1:27 pm
by Amen Brick
I'm thinking, if I get some free time, I may do some decals. Small images that can be tagged onto any png skin.

I would do this for a couple of reasons.

1: to make the player ship seem a little more individual (without the work of a full paint job) and a decal could be easy for the player to transfer from ship to ship during his career.

2: Give the Navy/other organizations a sense of 'partition' like normal military forces (the big red one, etc). A couple of ideas are things like "Death from Any Direction', the Fighting Lavian First, that kind of thing.

What do you think? Maybe 'commissions' for decal artwork could be taken by anyone willing to take them?

Posted: Tue Jun 03, 2008 4:34 pm
by Selezen
Unfortunately, Oolite doesn't currently support decalling.

In order to decal a player ship, a custom version would have to be created as a complete OXP with its own textures. At the very least an alternative version of an existing player ship would have to be "cloned" within by copying the existing shipdata.plist, shipyard.plist and model files and change the texture specification in the model's dat file to the new, decalled, texture.

Re: Decals

Posted: Tue Jun 03, 2008 4:47 pm
by Frame
Amen Brick wrote:
I'm thinking, if I get some free time, I may do some decals. Small images that can be tagged onto any png skin.

I would do this for a couple of reasons.

1: to make the player ship seem a little more individual (without the work of a full paint job) and a decal could be easy for the player to transfer from ship to ship during his career.

2: Give the Navy/other organizations a sense of 'partition' like normal military forces (the big red one, etc). A couple of ideas are things like "Death from Any Direction', the Fighting Lavian First, that kind of thing.

What do you think? Maybe 'commissions' for decal artwork could be taken by anyone willing to take them?
uhmm This reminds me alot about Freespace 2 for some reason.

i´m not sure its possible to "script" decal transfers/changes, in Oolite...

While you can use shaders that "blend" images onto/ontop on each other, you cant AFAIK transfer these from ship to ship, since shaders are bound to the a specific ship.

if you mean people would have todo this manually, by altering theire shipdata.plist and add/modify the shader script... i dont think this is very userfrelndly..

EDIT ofcourse the miss managed to interupt me during writing this that Selezen beat me to it.. :-D, had not read his reply at submit time

Posted: Wed Jun 04, 2008 9:23 am
by Amen Brick
Selezen wrote:
Unfortunately, Oolite doesn't currently support decalling.

In order to decal a player ship, a custom version would have to be created as a complete OXP with its own textures. At the very least an alternative version of an existing player ship would have to be "cloned" within by copying the existing shipdata.plist, shipyard.plist and model files and change the texture specification in the model's dat file to the new, decalled, texture.
I must have misunderstood, I thought you could simple 'edit' the .existing png with a decal image and then save it under the same name. But no? Oh, well.

Posted: Wed Jun 04, 2008 9:27 am
by Selezen
You can do that, but it will change the texture for EVERY ship using that texture - note that most often the player version of a ship uses the same texture as the non-player version.

So, for example, if you are flying a Cobra 1 and you retexture it, then every Cobra 1 in Oolite will fly using that same texture.

Posted: Wed Jun 04, 2008 9:30 am
by Amen Brick
You know.. that's obvious wihen you think about it.

Doh. Must think about it more! :lol:

Posted: Wed Jun 04, 2008 9:46 am
by Selezen
As I said, it's easy enough to make yourself a custom ship based on one of the existing ones.

Here's my step-by-step guide (note it's based on the Win32 version). I don't know how much you know about oxps, so I'll be as complete as I can...

Code: Select all

Copy the files shipdata.plist and shipyard.plist from Oolite's Resources/Config folder to your working folder.

Copy the relevant model and texture file from the Resources/Models and Resources/Textures folders to your working folder.

Open up the shipyard and shipdata files and remove everything from there other than the player version of the ship you want. For example, to keep the player version of the Adder, keep the entry that starts with <key>adder-player</key> in both files.

Change the key for each to something unique, like <string>adder-amen-player</string>. Note that this must be EXACTLY the same in both files.

Look through the shipdata entries and find the one headed <key>model</key>. Change this to something unique, like <string>adder-amen.dat</string>. Change the <key>name</key> field to something unique too, like <string>Amen's Adder</key>.

Edit the <key>chance</key> field and set it to 0. This will prevent the ship occurring in the shipyard (since, after all, it's YOUR unique ship!).

Save and close the shipdata and shipyard files.

Rename your copy of the ship's model file to read the same as the name field you entered in the <key>model</key> field in shipdata. Also, rename the texture file to something unique.

Open the model file (the .dat file) and replace all instances of the original texture name with your new texture name then save it.

Nearly done now. To put all this into an OXP, create a folder with a .oxp extension (such as amen_adder.oxp) and create three folders: Config, Models and Textures. Put the shipdata and shipyard files in the Config folder, put the .dat file in the Models folder and put the .png texture file into the Textures folder. Make sure to edit the texture and make it nice and fancy...

Once all that is done, take the OXP folder and put it into your Oolite installation's AddOns folder!

Now all you have to do is edit your save game file and change your ship to the unique name you gave your new runabout!
Apologies if I missed anything there.

Posted: Wed Jun 04, 2008 9:50 am
by Amen Brick
Thanks! Ooooh, I have a fancy gold texture just waiting to be screenshotted. :D