• Register

This member has provided no bio about themself...

RSS My Blogs

Tip: Creating custom skins (Terran Conflict)

enenra Blog

How To: Create custom skins

Modding Category: Texture modding, text file editing
Difficulty: Hard

Basically what I intend to do with this article is to show you how to do your own custom skins for fighters. I'm limiting this to fighters respectively other small objects because they use a different kind of texturing than larger objects: Unique textures, as opposed to bigger objects which use tiled textures. Editing textures, that's what the main part of this short tutorial is about. The editing of the Skins.txt is also a necessity but it's the easiest part of the whole process.

I'll explain a little bit about Terran Conflict's Skin-System first.

As some of you might know, I'm working on the X-Tended - Terran Conflict along with the other members of the X-Tended Team. While working on the mod I experiment with various things, trying to find new interesting ways to include more and better content into the game.
A thing I have been working on recently are textures. You might have seen some pictures of my experimentations in one of the XTC announcement threads. In case you haven't here are some examples:

User Posted Image User Posted Image User Posted Image User Posted Image

What I did do with those ships is that I gave them a new texture without doing any changes to the model itself. This has been made possible by Egosoft with the Skin-System. This system essentially makes it possible to give a ship a new texture ingame by simply changing one value in its TShips.txt entry. An example for the use of this system are the pirate fighters. They have the same model like the normal race ships but a different texture. Still there are no separate models for pirate ships.
This is because the pirate ships in the TShips have their skin-value set to "1" instead of "0". This difference makes the game consult the Skins.txt where the normal textures of that ship have been listed to be replaced with the ship's pirate textures if that value in the TShips was "1".

Well, now that you know how this whole thing works, let's start with a practical application: I'm going to quickly discuss the process the process of creating a new skin. For that purpose I'll be using the normal Nova as an example as its unique texture is quite easy to modify.

So the first thing you have to do after choosing which ship to work with is to search for its unique texture. These are obviously placed in the dds-folder. The argon Nova's are called "unique_argon_M3_diff.dds". Now load that texture into your 2D-application. I'm using Photoshop for this purpose but any other program able to import DDS-files should do. For reference we're also going to import the pirate Nova's texture "unique_argon_M3_pirate_diff.dds". I also recommend to have 3D-application at hand where you can easily apply your new texture and see what it looks like on the model. I recommend 3DsMax.

Now that you have the textures ready, take a closer look at the normal and the pirate texture and then - if possible - at the two textures in action on the ship model. Note where the differently coloured areas on the pirate texture are and which area on the model corresponds to them. After you think you understand which areas of the texture influence which part of the model, start painting on the standard texture.

There aren't that many things you have to watch out for while painting. Note that the black areas between the colour slices on the texture don't correspond to any part of the model. This essentially means that it isn't important if you paint over them. However make sure to not accidentally paint over other colour slices.
I recommend painting without 100% opacity in order for you to still see what you paint over. I also recommend for the final paintover not to have full opacity. If the hull is still somewhat visible through the paint, it looks better as it looks more like the paint is actually painted on the hull.
Don't forget to test your texture on the model regularly.

When you're finished you should end up with something similar to this. (This is the texture of the Nova in the first picture above).

User Posted Image

(Note that I didn't only paint over the texture a little but also changed the general brightness of the texture a little. General adjustments to the whole texture file are of course possible as well.)

Now that we have our texture, we export it into our mod's dds-folder with the correct settings.

The next thing to do is the entry to the Skins.txt . For that purpose we copy it into our mod's types-folder and then open it.
Adding a new skin is pretty straightforward - what each flag represents is described in the file's header:
Basically you simply add a new line, put the filename of the texture which is to be replaced when the skin value is "1" as the first flag, then the filename of the texture you want to replace the "normal" texture with when the value is "1" as the second flag. And don't forget to adjust the entry-counter.

The next step is to create a new TShips entry (I'd recommend copying the one of the "normal" ship) and change its skin-value to "1". That's it.

You can do this with pretty much every texture in the game. And it's perfect for making a ship somewhat unique with comparably little effort.

Greetings,
enenra

Discovery: Deactivate collision bodies on objects permanently (Terran Conflict)

enenra Blog

How To: Deactivate collsion bodies permanently for an object

Modding Category: Text file editing
Difficulty: Medium

Some days ago I finally found a way to shut off the collision body of an object entirely. And it was frustratingly easy for the time I have searched after it.

Well, first I may have to answer the question "What the hell is a collision body?".
It's pretty easy. If you ram into a station you bounce off and / or die. But if you fly through a nebula-crowded sector, you're technically flying through planes with the nebula-texture on them. Yet you don't crash into them or take damage. That is because their collision bodies have been deactivated.

Up until now this was in fact possible by using scripts. But - and that's a big but - this was very limited as collision damage only exists in sector and thus, as soon as the player leaves the sector, the object becomes "normal" again. And when the player now enters the previous sector again, the script has to be "cast" anew (which may not be possible in time).

So let's get down to the technical side of things.
Deactivating the collision body of an object is as simple as adding a line in the BodyData.txt which is to be found in the types-folder.
As can be read in the header of the file, there is a value controlling the collision body of an object. Set that value to "-1" for your entry and link your body correctly - and of course don't forget to update the entry counter at the top of the file - and it's done.
I'm not sure whether it is necessary to fill in the first value if you're adding the path to your body at the end of the line, though. I simply entered a number pointing to a non-existant file. (Remember that this number points at a file with the same number in the file name in the objects\v\-folder!)

That is pretty much it. I'm not sure yet what exactly the other values do. I'll post when I find out more.

Greetings,
enenra