Introduction
Why Another FAQ?
Special Thanks
Questions or Comments?

Getting Started
Key Programs
File References

Initial Changes
Overview
Getting Ready
Model Renaming
Skin Renaming
Checking Your Work

Visual Changes
Modifying Textures
Changing Colors
Borrowing Details
Filling in the Gaps

Completing the Project
Preparing the Loadout
Ship Table Entry
Wrapping Up

Introduction

Why Another FAQ?
This Guide was written to expand upon the basics touched on by Killjoy's Skin Modification FAQ.  In the past few weeks I have received numerous questions about this topic, and there have been new developments in FreeSpace modifications since Killjoy's initial creation of his FAQ. In addition, I learned a few things during the process of creating MODs for my FreeSpace campaign centered around Ryleh Station. Hopefully, this Guide will explain a little more about ship modifications and stimulate additional ship MODs for the FreeSpace MOD Archive.

This Guide does not cover creating your own Ship models. That's a topic I'm learning myself right now using Caligari's Truespace 3. We'll consider that topic another time.

Special Thanks
I have learned most of these tips and tricks for ship texture map editing through other people, so forgive me if I forget to thank everyone. A few of my major sources of assistance and inspiration: John Hanton for pioneering FreeSpace MODs (to the point of cracking the table encryption scheme), Heiko Hermann for the crucial Descent Manager VPView32 utility, Pastel for his ability to decipher the inner workings of FreeSpace, Killjoy for basic explanations of skin modifications, Plasma for sending me one of his first ship skins, and Dark for leading the ship modification scene to a new level. My thanks also go out to my artist friends Omicron and Loki who sat down with me on various occasions to explain many features in the art programs.

My deepest respect goes out to Volitionites Adam Pletcher, lead artist for FreeSpace 1, and Matt Kresge, FreeSpace 2 modeler.  Both have taken time to show me their artwork and, as a result, have been forced to answer my various questions. The more time I put into my attempts to create new ships, the more I truly begin to understand and appreciate their talent and skill. And the more I realize how little I really understood when asking them questions and making "interesting" suggestions that I thought at the time would be simple to do. It's amazing they didn't laugh at my foolishness. :)

Questions or Comments?
Because I'm learning about art design as much as anyone else, please contact me with any questions, comments, corrections, or suggestions. I can be reached at zarathud@volitionwatch.com.

Getting Started

Key Programs

  • Descent Manager VPView32
    Unless you're interested in creating everything from scratch, you'll need to look inside Volition's .VP game format file.  The only way to do this is through the ubiquitous VPView32 and its DLLPack. Get them, you'll need them.
    Source: Descent Developer Network
  • FS-View
    A viewer for ship models and their texture maps.  It will display any ship .POF file along with any .PCX texture maps in the same directory. Without this viewer utility, you'll be forced to run FreeSpace to see your latest edits to the skins. Save yourself the bother, get this program.
    Source: Garry Knudsen, DDN, DC
  • Paint Program
    MS Paint and MS Image Composer won't do the job, no matter how hard you try. There are plenty of other paint programs available, with various prices and features. The pros and cons of several programs are mentioned in Killjoy's Skin FAQ. My suggestion would be to use Paint Shop Pro, with an older version of PhotoShop for certain features. Paint Shop Pro does a more than adequate job for creating graphics, has a demo version to try out, and can be integrated into view features in VPView32. But you can pick up an older version of PhotoShop at a software convention or on the internet for a reasonable price, if you look. PhotoShop and its plugins excel at editing, tweaking, and touching up graphics. Both programs used together can be a very satisfying tool.
    Source: Various, Jasc, Adobe
  • FreeSpace Mission Manager (including POF Editor)
    At the moment, a new version of the FreeSpace Mission Manager is still under development. It will contain a functional ship model .POF editor and will allow the editing of many properties of the .POF. Until the newest version is released, you'll need to make changes to the skin textures referenced in the ship model by using a Hex Editor.
    Source: Scott Perry, DC
  • Hex Editor
    Using a Hex Editor is cracking the old-fashioned way, but changing skin texture references isn't too difficult. There are many Hex editing programs available, but I use the functional shareware program AXE. Maybe you'll find it useful enough to register, but if you will use it only infrequently the registration nag screen is merely a nuisance.
  • ACANI
    If you have any plans of working on the FreeSpace interface, you'll need the Volition converter ACANI. It allows a string of .PCX image files to be converted into a FS-format animation. If you have two or three copies of the same file, you can easily create a static animation that will display properly in the game.

File References
There are certain file naming conventions Volition used when naming their files.  Understanding these will make editing easier.

Type Directory File Examples Description
Ship Models models fighter##.pof
bomber##.pof
capital##.pof
Each ship is named by type and assigned a number.
Ship Textures maps fighter##-01a.pcx
fighter##-01b.pcx
fighter##-01c.pcx
fighter##-02a.pcx
Each ship may have various skins numbered in sequence, with each level of detail assigned a different letter.
Ship Loadout Icons interface iconfighter##.ani Icon where choose ship in all loadouts.
Ship Loadout Image interface ssfighter##.ani Image that explains ship in ship loadout.
Ship Loadout Image interface loadfighter##.ani
loadfighter##.pcx
Image where weapons are placed on ship in weapons loadout.
Game Shield Icon HUD shield-##.ani HUD Image of ship and shield status

The levels of detail have smaller texture maps and more "blurry" visuals as you progress from a to c. Multiple ship textures are sequentially numbered.

Initial Changes

Overview
This section will show you how to extract files and rename them, so that any changes will be in a new model. This allows for the current Volition ships to be used alongside with new ships.  You can add your new model into the game by editing the ships.tbl to create a new ship entry. But that's getting a little ahead of the plan.

Instead of designing a new model (a whole other topic), we'll use an existing model and make it appear to be different. Changing the ship textures can create the appearance of a completely new ship, even when using the same model.

Getting Ready
To start with, let's extract some Volition files to start from as our initial source.  If you're creating your own models, you'll have these files already.

Use VPView32 to open up the FreeSpace.VP file by selecting File -> Open Commercial FreeSpace.VP File -> FreeSpace.VP Main Game Data.

First, let's extract a ship model.  Click on models (189) to see the 189 files in this virtual data/model directory.  Let's work on an Apollo, which is fighter04.pof.  Note:  The .p3d files were erroneously generated by Volition's 3D Studio Max model converter.  They aren't used by the game and weren't intended to be placed on the CD.

Right click on fighter04.pof and select Extract to Dir so you can send it to a new folder.  Save it in a data folder created specifically for your FreeSpace MODs. Place the file in its own folder, because we don't want to confuse FreeSpace by placing the uncompleted MODs in the FreeSpace/ directory yet. A good place is a new \Working directory.

zsf-vpview.jpg (22214 bytes)

Now let's extract the ship textures.  Click on maps (256) to see the 256 files in the virtual data/maps directory.  Since we're working on an Apollo, we'll want to extract the three .pcx files that begin with fighter04 (fighter04-01a.pcx, fighter04-01b.pcx, fighter04-02c.pcx).  You can select multiple files by using the SHIFT + Left Click, then Right Click and select Extract to Dir to send it to our new \Working directory.  We need to have the texture maps in the same folder as the model in order to view the model with the textures in VP-View later.

Next, continue the job by extracting the interface files. Select the interface (979) and the files iconfighter04.ani and ssfighter04.ani (the Apollo is fighter 4 in the ships.tbl).  Right click and Extract to Dir as the \Working directory.  Also click and Extract to Dir the files Loadfighter04.ani and Loadfighter04.pcx.

Now let's finish up by extracting the HUD files. Select the HUD (94) and the files shield-f04.ani. Again Extract.

Model Renaming
We don't want to just replace the Volition texture maps, since that would effect all of the ships in the game. Instead, we want to create a new ship, which requires renaming the textures and model files.

First, let's rename the model file. It's a simple Right Click -> Rename function of Windows.  Do not add in a space into the file name of any .POF model, as FreeSpace will not be able to read the file. I'll call the model "fighter61.pof" to keep within Volition's guidelines. I would suggest using any name that has the same number of characters, which will become important later when we add in the textures.

The second step is the hard part. Open up your renamed model file in the HEX Editor. If you're using AXE, then you'll see something like this:

zsf-axe.jpg (29024 bytes)

Search the ANSI Text for references to the texture maps. For the Apollo fighter, we're looking for fighter04-### information. There are no file names and let's change every reference to the base fighter04, just to be sure. In AXE, the command is Edit -> Find and in the PopUp Box we'll choose Type of "ANSI String" and Search for "fighter04". Now, edit the text that refers to the the textures and change them to the name we'll be using for the new textures. I suggest using the same file convention and not changing the number of characters in the file name, which will only cause unnecessary headaches. I chose fighter61, so I'll rename all of the references to "fighter04" to "fighter61". AXE will allow you to just type over the existing ANSI Text. Keep Searching for all references to the file naming convention. You don't want to miss a texture or subcomponent name. Now that all of the changes have been made, File -> Save. There, that wasn't so hard. Was it?

Skin Renaming
Now that we've changed the references to the texture files in the model, it's time to rename the textures. This is easy.

Again, a simple Right Click -> Rename does the job. Be sure to keep the same number of characters in the texture file as well as the "-01a" endings, just like you did in the previous step. I'll call my model textures "fighter61-01a.pcx", "fighter61-01b.pcx" and "fighter61-01c.pcx". Be sure to name the files as you added them into the HEX Editor.

Checking Your Work
You can view your new model in FS-View (File -> Load .POF), which will show that the newly renamed model and texture files will load. Since you haven't changed the texture maps yet, the model will look exactly the same. When you make changes to the texture maps, you can keep the FS-View open and hit the Reload option on the menu. This will reload the textures, showing how your changes to the .PCX file will look on the model. This is a very useful feature.

GTF_Apollo.jpg (14287 bytes)

If you changed the texture maps to make them all blue, but you don't see any changes in the model on FS-View even after refreshing then you probably didn't rename all of the texture files and FS-View is looking to the original .VP file textures. All you would need to do is go back into the HEX Editor and search for the Volition-named textures and replace their file name.

Visual Changes

Modifying Textures
Now that we have new files for the new model and the new textures, you are free to exercise your creative vision on the FreeSpace ships. This could range from "personalized ships" with your name on the front, to adding in highlights such as flames or cow spots, or to a complete redesign of the model. Here are a few FS-View screenshots of new models and textures from my Ryleh Campaign:

GTF_Diana.jpg (17804 bytes) GTF_Tycho.jpg (20282 bytes) GTF_Wraith.jpg (20504 bytes)

You can see the how the two Apollo fighter variants (GTF Diana and GTF Tycho) look very different with various detailing. The final ship (GTF Wraith) is based on the PVF Thoth model, but creates a very "Terran" feel with a completely new design of the texture.

FS-View is a wonderful tool to see how the changes you're making to a 2d texture map will look like when wrapped around the 3d object. Don't underestimate the usefulness of this. Hit that reload button on FS-View regularly.

From here, you can go virtually anywhere if you know how to use any of the various paint programs. For the next few sections, we'll walk through a few of my favorite features.

Changing Colors
Many features and filters in paint programs won't work very well with the required 256-indexed colors required by Volition in the .PCX files. You'll end up fighting the limitations of the 256 color palette, which isn't a pretty sight. One of the first things to do when editing any image is to change the colors. Converting from 256-indexed colors to RGB can be easily done in PhotoShop by selecting Mode ->RGB Color. In PaintShop Pro, you'll need to select Colors->Increase Color Depth. The only hard part is remembering to convert back and save the textures as a 256-indexed color .PCX file. If you have too many colors, or non-indexed colors, then your model will look very strange in FS-View and even stranger in the game.

One of my favorite features in PhotoShop 3.0 is the Variations tool, which of course only works on RGB images. The Variations tool is buried in the PhotoShop 3.0 menu under Image->Adjust->Variations. This allows you to change the color variations in each image. The options include Shadows, Midtones, Highlights, and Saturation, and allow the addition of more Green, Yellow, Red, Magenta, Blue or Cyan and lighter/darker selections.

zsf-variations.jpg (23269 bytes)

In Paint Shop Pro, a similar tool is called Map Hue. It uses slider bars and can be found under Colors ->Adjust ->Hue Map.

zsf-maphue.jpg (14396 bytes)

Using these options on a selection inside an image is a great way to match colors or just to change the color of a ship. If you wanted to lighten the Shivan ships because they're too dark to hit, this tool makes it easy. If you wanted to change the color of those Tan Vasudan ships to make them look more Shivan, you can do it with this tool. Your results could look like this:

SF_Thoth.jpg (10429 bytes)

Borrowing Details
Maybe you're like me and don't consider yourself a very good artist. Or maybe you aren't very creative. Perhaps you've seen some detail on a Volition ship that you thought should be used elsewhere. Or maybe you have a favorite logo from some other game (like Descent 3) that you would love to have on a wing of FreeSpace ships. Or maybe your squad would like to have their logo on all of their ships. No problem, just borrow the details from another image and cut/paste it into your new texture map. Killjoy explains a few of the issues in his section on How to Do a Logo.

There are plenty of games out that permit easy texture modification. I came across some eyes and a female logo on a Starsiege skin that I absolutely loved and could see them sitting on top of a Terran ship in FreeSpace. The changes were easy and once I got started, I would up completely redesigning this texture for a Terran mining vehicle using the Ursa model:

TMV_Hephaestus.jpg (21152 bytes)

The eyes when placed on top made the "white" vents look like teeth. Along the side, I placed the texture of the woman with a large gun, something I though would be appropriate for a bunch of futuristic miners as a logo. It took a little maneuvering of the logo to make it look right, especially when the image on the other side was covered with a weapons array. Of course, you'll note the name of the mining company "PTMC" as a nod to the original Descent series. A circular hatch I found on another graphic was used to replace the missiles on the bottom (miners don't carry Harbringers anyway). With some tweaks to the remaining features, I soon ended up with a completely new look for the good old Ursa. Some other features I carried over from other Volition textures I extracted to work on later. The Construction tag was just from some .JPEG I found hanging around.

Cutting and pasting is a simple enough feature that I believe anyone can do. Start by selecting part of an image using a box selector in your favorite paint program. That's usually the tool that looks like a box with dotted lines: zsf-boxtool1.jpg (600 bytes) in PhotoShop and zsf-boxtool2.jpg (464 bytes) in PaintShop Pro. Then you can also select (SHIFT+CLICK) or un-select (ALT+CLICK) specific colors using the Magic Wand tool (zsf-wandtool1.jpg (602 bytes) in PhotoShop and zsf-wandtool2.jpg (480 bytes) in PaintShop Pro) which will choose all pixels in the group which have the same color. Using these and other features in your favorite paint program, you can select one detail at a time and then paste them into your FreeSpace ship texture.

Other features you will need to use are Flip, Mirror, Rotate, Resize, and Scale. None of these selections are too difficult to learn, with a little experimentation.

Filling in the Gaps
Once you've changed the colors of parts or all of a ship, then added in a few new details, then you can continue tweaking the image until the images look right in the texture. Before you know it, you have a unique ship modification.

The features you can use to fill in the gaps will depend on your paint program. Most of them have excellent Filter and Plugin programs that you can use to tweak the remaining parts of the texture. In addition, I tend to use Smudge and Blur in PhotoShop and the Color Replacer tool in PaintShop Pro. Experiment a little and you'll discover plenty of ways to adjust and tweak selections in a model to make it look completely different.

Completing the Project

Preparing the Loadout
Once you've changed the colors of parts or all of a ship, then added in a few new details, then you can continue tweaking the image until the images look right in the texture. Before you know it, you have a unique ship modification.

Now you just have the ship looking great in FS-View, you want to make sure that it looks good in the Ship Loadout if it's a player flyable ship. Let's go back to those remaining .ani files.

  • Shield_icon
    This HUD .ani file has 5 frames: one for the ship and one for each shield facing. Our example is an Apollo fighter, shield-f04.ani. If your ship looks vastly different from the reference design, it would be a good idea to extract these images, modify the first frame to make it look right in the HUD, and then recombine the images into an .ani file.
  • shield-f04.jpg (2053 bytes)

  • Ship_icon
    This interface .ani file has 6 frames, all of the same image but with different coloring and blurs to create the "selection effect." For our Apollo fighter, the icon is iconfighter04.ani. The image is very blocky and with very little detail, with green in the background for a transparency. For most texture map modifications, changes to this file would be unnecessary.
  • IconFighter04.jpg (889 bytes)

  • Ship_overhead
    This interface .ani file has 13 frames, which shows the lines where the weapons are located on the ship in the weapons loadout. The .pcx file has the permanent image of the ship where weapons are added. The filenames for the Apollo are LoadFighter04.pcx and LoadFighter04.ani. This would be useful to change for various ships, but not always necessary because the ship image is less important in the weapons screen.
  • LoadFighter04.jpg (9048 bytes)

  • Ship_anim
    This interface .ani file has 135 frames, with the information about the ship in the ship loadout. The first 35 frames render the ship and the text, the next 100 frames show the ship rotating. For our Apollo fighter, this animation is ssfighter04.ani.

    In my opinion this image should be edited with additional information about the ship, such as its name, and its brief description. A two or three frame animation would be good enough, although the "rendering" sound will still appear whenever the ship is selected. A more polished animation would use multiple copies of the ship from various angles in FS-View could be used to duplicate the "rendering" effect without too much difficulty.

    I've deleted all of the ship information from this image (which can also be downloaded in.PCX format), so that you can add in the Ship Name in the top in blue, add in the grey descriptions, add in a picture of the ship to the right, and finally add in another small blue description of the ship at the bottom right corner.

Ship Table Entry
Once you've changed the colors of parts or all of a ship, then added in a few new details, then you can continue tweaking the image until the images look right in the texture. Before you know it, you have a unique ship modification.

You'll need to extract the ships.tbl from the root.vp file. Be sure to decode the file, otherwise you won't be able to edit it. Once the ships.tbl has been decoded, you can edit the file in any text editor -- even MS Notepad.

The best way to start a ship modification is to copy the entry of a similar ship (for example, the Apollo we've based our new model on), paste it as a new entry, and then edit the necessary information.

Be sure to change the ship table entries $Name, $Short Name, $POF file, $Shield_icon, $Ship_icon, $Ship_anim, $Ship_overhead to correspond with the new images you've edited. Other areas that would be good to edit would be the +Type, +Manueverability, +Armor, +Description, +Tech Description, +Length, +Gun Mounts, and +Missile Banks. These are merely description entries, but after you've put in all this hard work you'll want to share your story behind the new ship.

More information about ship editing is contained in a Ship Editing FAQ written by DreAdFaq.

Wrapping Up
This Guide turned out to be a lot shorter than I expected. The real limits on texture design are your paint program, your time, and your efforts. I don't think it would be possible to explain all of the variations and permutations. And I'm certainly not going to try that Herculean task.

All that's left that can be covered is how to best package your modification for submission to the Descent Chronicles FreeSpace MOD Archive. At the minimum Include your model .pof, texture .pcx, and a readme text file.

Please enclose the readme text file (and be sure not to name it readme.txt) which names the ship, describes a little about it, and identifies you as its creator. Unfortunately, I've had situations where the e-mails of the authors, but not the file, has been lost. Other times, someone has tried to claim another person's work as their own...just because they enclosed a readme text file. The file may migrate onto someone's hard drive or may be ripped from our site and posted somewhere else without our site's permission or explanation. You've worked hard on the modification, be sure you get your proper credit in the file itself. It won't guarantee that you credit everywhere, but it will go a long ways toward that end.

Also, I would like to encourage everyone to include a sample ships.tbl entry (not the entire ships.tbl file) for your ship. Even if you're not an expert at ship property modifications, a few minutes changing the information I've listed above in the Ship Table Entry will help your idea for the ship take hold. Not everyone will use your exact game properties, but many designers will respect your ship's name and its background information. It will also help avoid the situation where we have ten ships all named the "GTF Pegasus."

I would also like to encourage people to create a complete ship pack by creating new .ani or .pcx files for the loadout. These files help keep the immersion and suspension of disbelief necessary for a good modification. Also, missing the different textures for the levels of detail will cause inconsistencies within your ship modification. Once you've started on a project like this, it's a good idea to do as much as you can to complete it properly.

That's all I can think of at the moment. Good luck with your ship texture map designs!

Back to Top of Page

To Killjoy's Skin Modification FAQ

  Site
  - Current News
  - News Archive
  - Submit News
  - Poll Archives
  - Articles
  - Staff


  FreeSpace
  - Game Info
  - Image Gallery
  - Tactical
  - Downloads
  - Cheats
  - Weapons Database
  - Multiplayer
  - FRED Help
  - Silent Threat
  - FAQ
  - MODing
  - Missions


  FreeSpace 2
  - Game Info
  - Image Gallery
  - Tactical
  - Downloads
  - Weapons Database
  - Game Preview
  - Cheats
  - FRED2 Help
  - Concept Art
  - MODing
  - Missions


  Hosted
  - Get Hosted
  - Babylon Project
  - Campaign Watch
  - COB2POF
  - Ellis Station
  - FRED Zone
  - GTD Excellence
  - LFTS
  - Segeltuch
  - Tech Freespace
  - Triton Dynamics
  - Source Code Project
  - United Space


  Campaigns
  - Aeos Affair
  - Aftermath
  - BlackWater Ops
  - Behind Enemy Lines
  - Derelict
  - Project Armageddon
  - Twilight
  - The Babel Effect
  - Warzone


  Forums
  - VWatchBB
  - Volition BB
  - FreeSpace
  - SquadWar
  - FRED2


  Community
  - Hyperlinks
  - Wilds Warped Rant
  - Interviews
  - FS1 Webring
  - FS2 Webring
  - FS Frenzy
  - Fan Fiction
  - Fan Art
  - Editorials


  Network
  - Volition Watch
  - Summoner Watch
  - Red Faction Watch
  - Archives


  Staff
  - Brando
  - Dynamo
  - IceFire
  - Orange
  - Remora
  - Stealth


  

FreeSpace Watch is copyrighted 2000 except where Volition or Interplay may apply. Web design by Colin Czerneda and Todd Miller.