ADDING/MODIFYING SHIPS - BOTF
==============================
THIS FILE WAS CREATED AT RESOLUTION 1024X768.
ANYTHING SMALLER MAY RESULT IN MISALIGNED TEXT.
Contents
---------
Section A - Software, Requirements
Section B - The Files
1 - Shiplist.sst
2 - Shiptech.sst
3 - Shipdesc.sst
Section C - Ship Creation
1 - Major Race Ships
2 - Minor Race
3 - Alien Ships
4 - Image Attributes
Section D - Examples
1 - Example 1
2 - Example 2
Section A
----------
In order to successfully hack Birth of the Federation, you'll need the following programs:
1) Birth of the Federation version 1.02 (original files, no mods)
2) Winzip version 6 or higher (available for free at www.winzip.com) running in "Classic" Mode
3) A hex editor such as Ultraedit (available free for 30 days at www.ultraedit.com)
4) An image editing program such as Adobe Photoshop (for ship creation only)
5) Quick editor such as Wraith's BotFED editor version 1.4 (available for free at http://ssn.etmnet.com/st/)
6) A quick image viewer such as ACDSee32 version 2.0 or higher (available for free at www.acdsee.com)
You'll also need to know how to perform basic Windows operations such as renaming files, copying and pasting files, CTRL-selecting multiple files, etc.
It helps if you understand how ASCII works and how to translate it into HEX.
Section B
----------
There are 4 basic files you'll need to work with in order to add or modify ships. They are all contained in a file located in your BOTF folder (C:\botf for example). The file is named "stbof.res" and it is critical to the program. You should therefore BACK IT UP before going forward.
I suggest creating a subfolder in your BOTF folder. This subfolder will be used for all the various files you'll be opening and closing. Create the folder and call it anything you want, I'll call mine "editor."
Put a copy of the stbof.res file into the subfolder. Rename the file from "stbof.res" to "stbof.zip" and ignore Window's warnings about changing the file extension.
Provided you have installed Winzip, double-clicking the stbof.zip file will launch Winzip. It will open the stbof.zip archive file and display all of the contents of that file. Locate the following 3 files: shiptech.sst, shiplist.sst, shipdesc.sst. Using the CTRL key, select those three files and click "Extract" in the Winzip menu. Make sure the "Selected Files" option is checked, and extract the three files to the C:\Botf\Editor folder.
Provided you have installed UltraEdit or some other Hex editor, you will be able to open and view these three files. I will describe each of them below.
You must also extract the ship image files in order to follow the instructions below. Shift-select all files that are in the form "i_xxxxx.tga" where the x's can be any character. There are 474 of these files. Extract them to the subfolder.
QUICK INSTRUCTIONS:
1) Create C:\Botf\Editor
2) Copy C:\Botf\stbof.res to C:\Botf\Editor\stbof.res
3) Rename C:\Botf\Editorstbof.res to C:\Botf\Editor\stbof.zip
4) Open stbof.zip
5) Extract shiptech.sst, shiplist.sst, shipdes.sst
6) Extract 474 ship image files in the form "i_xxxxx.tga"
Section B1 - Shiplist.sst
-------------------------
Using UltraEdit, open shiplist.sst. If you are familiar with Hex editing, set your Hex editor to read 288 characters per record. If you are unfamiliar with Hex editing, ignore this. Just know that for each Ship listed in the Shiplist file, there are 288 characters describing that ship and its function.
If you are using Ultraedit, the program defaults to displaying 16 characters per line. This means that each ship in the list is represented by 18 lines of code (18x16=288).
The Hex editor will display each character as a two-digit "Hexidecimal" code. This means that in each 16-character line of code, there are 16 groups of two-digit hex codes. The first line of the Shiplist file will be the ship class of the Cardassian Strike Cruiser I and the Hex code will look like this:
53 74 72 69 6B 65 20 43 72 75 69 73 65 72
This is Hexidecimal code for the words "Strike Cruiser" where 53 = "S", 74 = "t", and so on.
To find out the full Hexidecimal code, click VIEW, ASCII TABLE (in UltraEdit only).
There are two columns in the ASCII table that we are interested in. The column labelled "Char" and the column labelled "Hex#" are the ones we care about. The "Char" column displays the English equivalent of the value in the "Hex#" column. If you find the Hex# 53, you'll discover that it equates to a capital S.
Hex values use number/letter combinations to expand the available number pool. Instead of having Hex values increase in the pattern "08, 09, 10, 11, 12," they have the pattern of "08, 09, 0A, 0B, 0C, 0D, 0E, 0F, 10, 11, 12." If you look at the ASCII table, you'll see that this pattern holds for "18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20, 21" and onward up to "98, 99, 9A, 9B, 9C, 9D, 9E, 9F." After "9F" comes "A0...AF," then "B0...BF," all the way until "F0...FF" with "FF" being the last ASCII character. This means that the ASCII character set contains 256 characters in the range "00...FF."
You'll notice that not all Hex#'s have English Character equivalents. That's why some of the characters in the Shiplist file look like Greek or Chinese characters or just plain weird characters. Don't worry about those, since we're not dealing with them.
So, looking at the first line of the Shiplist file, you can see how you could rename the Cardassian Strike Cruiser I from a ship class of "Strike Cruiser" to a ship class of "Heavy Cruiser" or "My Cruiser" or "STRIKE CRUISER." Simply replace the Hex characters with the ones you want by clicking on the first character (53) and typing the new character. To spell "Heavy Cruiser" you'd replace the existing code:
53 74 72 69 6B 65 20 43 72 75 69 73 65 72
S t r i k e C r u i s e r
with new code that looks like this:
48 65 61 76 79 20 43 72 75 69 73 65 72
H e a v y C r u i s e r
(I've put the actual words beneath the Hex code for example, it won't appear this way in the Hex editor).
If you are using UltraEdit, you'll notice that the words are actually spelled out on the right hand side of the screen. This means you can simply re-write the English words without having to memorize the Hex codes. So just click on the "S" in "Strike Cruiser" and type the new name. The Hex codes will be automatically inserted for you (as you will notice).
The first 19 characters (19 groups of two-digit Hex#s) is the description of the ship class. This isn't the name of the ship, it is the TYPE of ship. For example, you wouldn't rewrite the ship class as "Galaxy" because it wouldn't make sense to have a Galaxy Class Galaxy. You could rewrite the ship class from "Command Cruiser" to "Starship" if you like, because then you'd have a Galaxy Class Starship. Appropriate terms, then, would be things like "Cruiser I" or "Battleship" or "Frigate" or "Heavy Cruiser II." Be aware that you only have 19 characters to play with. Characters 1-19 are designated for the ship type. DON'T USE MORE THAN 19 CHARACTERS FOR THE SHIP TYPE!
The character 00 results in a "." character that is used to separate the various sections. Consider this a "blank" but not a "space". So while the first 19 characters are assigned to Ship Type, it is not necessary to use all 19 characters. The leftover ones will remain "." blanks.
It is beginning with character #41 that you can give a name to the ship. For the first ship in the Shiplist, the Cardassian Strike Cruiser, this name is "Keldon". This means it will appear in the game as a "Keldon Class Strike Cruiser". Renaming this to "Stupid" would make the ship appear in the game as a "Stupid Class Strike Cruiser". The characters from 41-61 are designated for the ship name. DON'T USE ANY CHARACTERS EXCEPT 41-61 FOR THE SHIP NAME!
Characters 85 and 86 are designated to describe where the description of the ship is located. These two characters refer to a line of code in the Shipdesc.sst file and I will elaborate when I discuss that file below. For the Cardassian Strike Cruiser, the description begins at codeline 00 00 in the shipdesc.sst file. That is why characters 85 and 86 for the Cardassian Strike Cruiser are both 00.
Characters 89, 90 and 91 describe the image files for this ship. Take a look at the 474 image files in the subfolder. If you have installed a quick image viewer such as ACDSee32, you can double-click on any of the image files and it will open the image viewer (also, if you have Microsoft Intellimouse, you can use the scroll wheel to browse through the images in the ACDSee32 window). Each of these files has the form "i_xxxxx.tga" and they are the ship image files. These image files are NOT the ones used to generate the 3D vessels in ship combat. These are image files that will show up everywhere EXCEPT in combat. Each ship in the game has 5 image files associated with it. These 5 files are in the following forms:
i_xxx120.tga
i_xxx170.tga
i_xxx30.tga
i_xxx60.tga
i_xxxw.tga
If you are viewing the files "By Name," they will appear in this order. Each of these images will appear in different parts of the game and I will discuss how to modify/replace them later on. Suffice it to say that the Shiplist file requires you to specify which set of 5 images goes with which ship in the shiplist. If you go back into the Hex editor and look at characters 89, 90 and 91 for the first ship in the shiplist, you will see that they have the value "ch3". This means that the Cardassian Strike Cruiser uses the following images:
i_ch3120.tga
i_ch3170.tga
i_ch330.tga
i_ch360.tga
i_ch3w.tga
Let's say you want to create a new Cardassian vessel. You would follow the directions in the Ship Creation section below and would generate 5 image files. Okay, so let's say you've done that already. In order for your new images to function properly, you would have to name them using the convention i_xxxxxx.tga. Also, you would have to tell the shiplist file what the names of the new images are. For example, you have created 5 images of a single new Cardassian ship. You name them as follows:
i_ch4120.tga
i_ch4170.tga
i_ch430.tga
i_ch460.tga
i_ch4w.tga
(You will find out the reasons for naming them this way in the Ship Creation section. You'll also find out how to name and add your image files in that section).
Now that you have your new files, the Shiplist.sst file must be modified to accept the new images. For characters 89, 90 and 91, using the value of "ch3" will show the old images. You must change these characters from "ch3" to "ch4". This will tell the program that the images for the Cardassian Strike Cruiser contain the "ch4" string.
Character 103-104 is the ShipID number. This number is used when referencing the Shiptech.sst file. I'll discuss that file later. The Cardassian Strike Cruiser has ShipID 00 00 because it is the first ship in the list.
Character 105 describes the function of the ship. This is for internal purposes of the program and will tell the program files how the ship behaves. Possible values are:
0 = Scout
1 = Fast Attack/Destroyer
2 = Warship/Cruiser
3 = Strike Cruiser
4 = Command Cruiser/Dreadnought
5 = Colony Ship
6 = Outpost
7 = Starbase
8 = Alien (not minor races, but Borg or Chodak, etc)
9 = Troop Transport
Changing this value will change the way the ship behaves as far as the AI is concerned. It will not change the ship stats for the player. It will, however, change the description of the ship in the Colony window.
Characters 108-280, 282-288 control the ships stats (shields, phasers, speed, etc). However, we can use the BotFED editor provided by Wraith to modify these stats much more easily. Provided you have installed this editor, you can modify the ship stats at will. Make sure, however, that if you modify the shiplist.sst file using the Hex editor you must save it before using the BotFED editor. The BotFED editor opens the shiplist.sst file and allows you to change the values for characters 108-280, 282-288 without using a Hex editor. It is only another (faster) way of changing Hex codes but is only set up to modify characters 108-280, 282-288. I generally don't use the BotFED editor until I'm done modifying the various files in the Hex editor, but you can do it whenever you like. I won't tell you how it works, since it is fairly straight forward.
Character 281 is the controlling race code. Changing this code modifies the race that is able to build that particular type of ship. Possible values are:
00 - Cardassian
01 - Federation
02 - Ferengi
03 - Klingon
04 - Romulan
05 - Acamarian
0A - Bajoran
13 - Ktarian
18 - Pakled
1A - Sheliak
1C - Talarian
1D - Tamarian
1E - Trill
20 - Vulcan
21 - Yridian
24 - Aliens (Borg, Crystalline Entity, Chodak, etc)
That is a full record of a ship in the Shiplist.sst file. There are 125 ship records in the shiplist file, including Outposts, Starbases, Transports, Colony Ships, Orbital Batteries, Alien Ships and Minor Race Ships.
20 - Cardassian
25 - Federation
20 - Ferengi
20 - Klingon
20 - Romulan
10 - Minor Races
10 - Other (including Borg, Chodak, Orbital Batteries, etc)
Be aware that the last 10 ships (excluding the Orbital Batteries) are considered to be random alien occurances. The trigger for making a ship record "random" has not yet been found. You might try modifying a random ship record to be, say, a lost Starfleet ship. It would then randomly appear in the game. Not sure what it would do (it may start attacking your colonies for example), but it would be interesting to try it.
EXAMPLE:
Scroll through the Shiplist file until you find the Nebula Strike Cruiser. It is the first Federation ship listed.
Let's take this ship record apart and analyze it.
Ship Type (1-19): 53 74 72 69 6B 65 20 43 72 75 69 73 65 72 (Strike Cruiser)
Ship Name (41-61): 4E 65 62 75 6C 61 (Nebula)
Description Location (85-86): F0 18
Image Files (89-91): 68 6D 32 (hm2)
Ship ID (103-104): 14 00
Ship Function (105): 04
Controlling Race (281): 02
That is the Shiplist file (keep it open as you read the next section).
Section B2 - Shiptech.sst
--------------------------
Open the Shiptech.sst file in UltraEdit (or whatever Hex editor you're using).
You will notice that this file is entirely in Hex code. There is no English to help you. It is CRUICIAL to know what Controlling Race and Ship ID you are working with. For this reason, keep a copy of the Shiplist.sst file open for quick reference.
The Shiptech file is easier to work with. There are only 16 characters per record. Using UltraEdit, the default mode displays 16 characters per line. This means that each ship's record is only one line.
Character 1 is the Controlling Race ID number. The first record has Controlling Race ID 00, the Cardassians. If you scroll through the file, you'll see Controlling Race IDs for the Federation (01) and the others. If you modify this character to change the controlling race, you must also modify the Controlling Race ID in the Shiplist.sst file (character 281) to match. Otherwise the program will crash. I suggest leaving the Controlling Race IDs alone.
Characters 5-6 are the Ship ID number. Do not modify this. It is the same value as character 103-104 in the Shiplist.sst file and is used by the program to match ships between Shiplist.sst and Shiptech.sst. Keep track of this as you make changes, otherwise you may accidentally modify the wrong ship.
Characters 7-8 are the Upgrade ID and they tell the program what Ship ID to upgrade from. This applies only to "Verison II" ships such as Cruiser II, or Heavy Destroyer II. You will notice that the first ship, the Cardassian Strike Cruiser I doesn't upgrade from a previous version, it is the first version of this ship. The value of Hex characters 7-8 are "FF FF". However, if you look at the next record, Cardassian Strike Cruiser II, you will see that it has a different value for characters 7-8. This ship upgrades from Ship ID 00 00. That Ship ID number is the Cardassian Strike Cruiser I. So the Strike Cruiser II upgrades from the Strike Cruiser I. This means that upon discovery of enough technology to build Strike Cruiser II, all Strike Cruiser Is will be automatically upgraded.
To disable this, simply tell the program that the Strike Cruiser II upgrades from no previous vessel. It's Upgrade ID is "FF FF" the same as Strike Cruiser I. You will now be able to build both Strike Cruiser Is and Strike Cruiser IIs and there will not be an automatic upgrade.
You will want to make sure you keep the Upgrade ID for the Outposts and Starbases. They will not upgrade automatically if you put "FF FF" as their Upgrade ID. You will not be able to use Transports to build level two Outposts or Starbases either.
Characters 9-14 are the Tech Level IDs. They are as follows:
09 - Bio tech
10 - Computer tech
11 - Construction tech
12 - Energy tech
13 - Propulsion tech
14 - Weapons tech
The value for these IDs are simple. A value of 01 indicates that you must achieve tech level 01 in that area of science in order to build this ship.
If we look at the first ship in the techlist, the Cardassian Strike Cruiser I, you will see that in order to build it you must have the following tech levels:
Bio - 02
Computer - 03
Construction - 04
Energy - 03
Propulsion - 02
Weapons - 04
For the second ship, the Cardassian Strike Cruiser II, the required levels are a bit higher:
Bio - 06
Computer - 07
Construction - 08
Energy - 07
Propulsion - 06
Weapons - 08
Modify these levels however you like. Be careful not to make a powerful ship too easy to build, otherwise you'll upset the balance of power in the game.
Section B3 - Shipdesc.sst
--------------------------
This file contains the paragraph description of the ship that can be found in the technology screen of the game. It is difficult to read. There is English on the right (if you're using UltraEdit), but it is not neatly arranged.
The number of characters to a record is irrelevent in this file. The ship descriptions can be as long or as short as you wish. However, in order to properly find the Description Location ID, the editor must be set to display 16 characters per line (default for UltraEdit). They are arranged in order and are seperated by the character "00" which appears as a "." and is easily confused with a sentence-ending period. To distinguish one ship description from the next, look for two periods ".." which have the Hex values "2E 00". The first period is the sentence-ending period. The second period is the character "00" and tells the program that the next description is beginning.
You are free to modify the descriptions. Using UltraEdit, you are able to click on the English part and simply type the description you wish to have. Make sure you end your description with the "00" character or else the program will not know to end that ship's description.
Be careful with this file. Because every time you move a "00" character, you change the Description Location ID found at characters 85-86 in the Shiplist.sst file.
For the first ship description, the Cardassian Strike Cruiser, the description BEGINS at character 00 01. We need to specify either the character BEFORE the beginning of the description, or the character AT the beginning of the description. The end of the previous description (although it doesn't exist) is 00 00. So the Description Location ID for the Cardassian Strike Cruiser is either 00 00, or 00 01. If you look at characters 85-86 of the Cardassian Strike Cruiser I in the shiplist.sst file, you will see that their values are 00 00. I suggest sticking to the character BEFORE the beginning of the description as this is most commonly used in this file.
Go back into the shipdesc.sst file. This file has 16 characters per line. The Hex editor separates the lines for ease of use and tells us what block of Hex characters is on what line. So for instance, the Hex editor has looked at the first row of 16 characters and knows that they represent characters 1-16. The first character is 00 01, the second is 00 02 and so on. Remember your ASCIII table? The characters in the first line are character numbers:
00 01, 00 02, 00 03, 00 04, 00 05, 00 06, 00 07, 00 08, 00 09, 00 0A, 00 0B, 00 0C, 00 0D, 00 0E, 00 0F.
The second line of 16 characters are:
0011, 0012, 0013, 0014, 0015, 0016, 0017, 0018, 0019, 001A, 001B, 001C, 001D, 001E, 001F.
Where are the characters 00 00 and 00 10 ? For some reason, they exist BEFORE the first character, but AFTER the last character of the previous line. They don't appear in this file, but they exist. Some ships have Description Location IDs that begin at these hidden values (like the Cardassian Strike Cruiser I with ID 00 00).
The Hex editor calls the first line "0000 0000 h" because it begins with 00 00 (even though we don't see it).
The second line is 0000 0010 h because it begins with 00 10 (even though we don't see it).
The third line is 0000 0020 h.
The fourth is 00000030h.
The fifteenth is 000000e0h
The ninetieth is 000006a0h
So if we need to find character 04e7, we first must find line 0000 04e0 h and then count over to the 7th character on that line. In this case, it happens to be Hex number 61 which is the letter "a" and is the last letter of the word "Cardassia".
In order to tell the shiplist.sst file where the description for the Cardassian Strike Cruiser II begins, we must first look at the shipdesc.sst file. Find the ".." at the end of the description for the Cardassian Strike Cruiser I (the first description in the file). It is tricky because the ".." are split on two lines. Look for the words "heavy torpedoes" about 12 lines from the top of the file. You see the sentence-ending period after "torpedoes" and then the first character of the next line is the description-ending "." with the Hex # "00". This "." or "00" is located on line 0000 00c0 h. It is in the position of character 01. This description-ending period is located at 00c1. According to the shiplist.sst file, the Description Location ID of the Cardassian Strike Cruiser II is C1 00. Get it?
Let's look at the Nebula Class Strike Cruiser. From the shiplist.sst file, we know that the Description Location ID of the Nebula Class is F0 18. Looking in the shipdesc.sst file, we must find line 0000 18 F0 H. The description-ending period is located at postion 00 F0.
Take the Federation Command Cruiser II. The shiplist.sst file tells us that the Description Location ID of this ship is
BB 1E. Looking at the shipdesc.sst file, we must find the line that begins with 0000 1E B0 H. The description-ending period is located 11 characters over. The first character on that line is 1E B1, the second is 1E B2, then 1E B3, 1E B4, 1E B5, 1E B6, 1E B7, 1E B8, 1E B9, 1E BA, 1E BB (the 11th character). The line is 1E, the position is BB, therefore this description begins at 1E BB. The Description Location ID in shiplist.sst is BB 1E. Do you see the pattern? Simply invert the the value.
The Romulan Warbird II has Description Location ID of 71 65 according to characters 85-86 of its record in the shiplist.sst. Invert the ID and we have 65 71. We are looking for the line in the shipdesc.sst file that begins with 00006570h. Specifically, we are looking for character 71. This is the first character in the line. As you see, character 1 on line 00006570h is indeed the "00" description-ending period.
Scroll carefully in the shipdesc.sst file to the fourth ship (Ranol Class Colony Ship II). The "00" or "." character directly before the beginning of this description occurs 7 characters over on line 0350. It occurs at 0000 0357 h. The Description Location ID is 57 03. Now look at the shiplist.sst file. Characters 85-86 of the Ranol Class Colony Ship II are indeed 57 03.
This can get confusing when you start changing the descriptions. Just remember that each line in shipdesc.sst is 16 characters and that Hex #s include letters, as in 1A, 4D, BB, 0C etc.
Section C - Ship Creation
-------------------------
You can replace any ship in the game with a new image. This doesn't apply to combat. In combat a generic 3D ship will be used by the program (usually the Ambassador Class) to represent your new ship.
You must find or design a picture of a ship. I use screen captures from the StarShip Creator (www.starshipcreatorcd.com) to get my images. I paste my screen capture into Adobe Photoshop. You can find ship images online at fan sites such as Pedro's Shiporama (www.shiporama.org).
How ever you get a ship image, once you have it there are several things you must do to it. For this you will need an image editing program such as Photoshop. You must generate 5 files for each ship. 4 of the files are the same image at different dimensions. The fifth image is a green "wireframe" image that appears in the technology screen. The image of the form i_xxx60.tga is also slightly different. This image will be made transparent by the BOTF program. You need to paint pink
(R:255 G:0 B:255) around the ship. Anything not exactly this color will appear in the program. The image of the form i_xxx30.tga must have a 1-pixel pink (R:255 G:0 B:255) border around the edge. ALL FILES MUST BE SAVED AS TGA IMAGE AT 16BITS/PIXEL. If you do not save each file at 16bits/pixel, the program will crash whenever you try to view this ship.
When saving the image, you must follow the filenaming convention. This convention is different for major-race ships, minor-race ships and alien ships.
Section C1 - Major Race Ships
-----------------------------
All major-race ship files begin with "i_xxx" where the first two x's are one of the following codes:
Cardassians: ch, cl, cm, co, cs, ct, cu
Federation: hc, hh, hk, hl, hm, ho, hs, ht, hu
Ferengi: fc, fh, fl, fm, fo, fs, fu
Klingons: kh, kl, km, ko, ks, kt, ku
Romulans: rc, rh, rl, rm, ro, rs, ru
You are able to create your own codes (I created the hk Federation code). But I suggest using the existing ones.
For each of the two-letter codes, there are several ships. To represent these different ships, the third "x" is a number. The following are "xxx" values for major race ships that came with BOTF:
Cardassians: ch1, ch2, ch3, cl1, cl2, cm1, co, cs, ct, cu
Federation: hc, hh1, hh2, hh3, hh4, hl1, hl2, hm1, hm2, ho, hs, ht, hu
Ferengi: fc, fh1, fl1, fl2, fl3, fm1, fm2, fo, fs, fu
Klingons: kh1, kl1, kl2, km1, km2, km3, ko, ks, kt, ku
Romulans: rc, rh1, rh2, rl1, rl2, rm1, rm2, ro, rs, ru
The Cardassian Strike Cruiser I and Strike Cruiser II both use the "xxx" value of ch3. If you plan on replacing the Strike Cruiser II with a new ship, your ship must not use ch3 as its "xxx" value or else Strike Cruiser I and Strike Cruiser II will have the same image file. Instead, create your image files using "xxx" values such as ch4, cl3, or cm2, etc. You are essentially creating a new ship. Don't forget to update the shiplist.sst file with your new "xxx" value for hex characters 89-91.
Section C2 - Minor Race Ships
-----------------------------
Minor Race ships also use 5 images per ship and each image has the same properties as the Major Race ships. The only difference is the filename format. Minor Races use a "i_mxx" format for their ships. The "xx" value is a two-digit number representing the race.
The following are minor-race ship values:
Acamarian: m01
Bajoran: m05
Ktarian: m06
Pakled: m08
Sheliak: m09
Talarian: m10
Tamarian: m11
Trill: m12
Vulcan: m13
Yridian: m14
Section C3 - Alien Ships
------------------------
Alien ships also use 5 images per ship and each image has the same properties as the Major Race ships. The only difference is the filename format. Aliens use a "i_txx" format for their ships. The "xx" value is a two-digit number representing the race.
The following are alien ship values:
Borg: t01
Gaseous Lifeform: t02
Chodak Dreadnought: t08
Crystal Enitity: t03
Echo Papa 607 Combat Drone: t04
Edo Guardian: t05
Gomtuu Sentient Starship: t06
Husnock Vessel: t09
Tarellian Vessel: t07
Section C4 - Image Attributes
-----------------------------
The 5 images you create for any ship must have the following attributes:
IMAGE #1
Filename: i_xxx170.tga, i_mxx170.tga, i_txx170.tga
Width: 170 pixels
Height: 142 pixels
Color Depth: 16bits/pixel
IMAGE #2
Filename: i_xxx120.tga, i_mxx120.tga, i_txx120.tga
Width: 120 pixels
Height: 100 pixels
Color Depth: 16bits/pixel
IMAGE #3
Filename: i_xxx60.tga, i_mxx60.tga, i_txx60.tga
Width: 60 pixels
Height: 50 pixels
Color Depth: 16bits/pixel
Special: All pink except for ship itself (RGB = 255, 0, 255)
IMAGE #4
Filename: i_xxx30.tga, i_mxx30.tga, i_txx30.tga
Width: 30 pixels
Height: 30 pixels
Color Depth: 16bits/pixel
Special: 1-pixel pink border (RGB = 255, 0, 255)
IMAGE #5
Filename: i_xxxw.tga, i_mxxw.tga, i_txxw.tga
Width: 120 pixels
Height: 100 pixels
Color Depth: 16bits/pixel
Special: Using Photoshop "Render" filter, use lime green (RGB = 0, 230, 33) and adjust properties to achieve a "wireframe" appearance.
Section D - Examples
---------------------
I have modified the files to allow for more Federation ships. If you disable the auto-upgrade in the shiptech.sst file, you can change the version II ships to new ships (you don't HAVE to disable auto-upgrade. You could, for example, have the version I ship be auto-upgraded to a new type of ship that you design).
These are the ship assignments in Tiberius Ship Pack 1 (TSP1):
ShipType....Original Class....TSP1 Class
Science I.........Oberth Class..........Oberth Class
Science II........Oberth Class..........Prometheus Class
Destroyer I.......Miranda Class.........Constitution Class
Destroyer II......Miranda Class.........Miranda Class
H. Destroyer I....Constellation Class...Constellation Class
H. Destroyer II...Constellation Class...Intrepid Class
St. Cruiser I.....Nebula Class..........Nebula Class
St. Cruiser II....Nebula Class..........Akira Class
Light Cruiser I...Ambassador Class......Excelsior Class
Light Cruiser II..Ambassador Class......Ambassador Class
Heavy Cruiser I...Galaxy-X class........Sabre Class
Heavy Cruiser II..Galaxy-X class........Norway Class
Com. Cruiser I....Galaxy Class..........Galaxy Class
Com. Cruiser II...Galaxy Class..........Steamrunner Class
Dreadnought I.....Sovereign Class.......Sovereign Class
Dreadnought II....Sovereign Class.......Sovereign II Class
Heavy Escort......Defiant Class.........Defiant Class
You can see how I have replaced some ships and left others. Below are the various Hex edits necessary to make the changes from Oberth Class level II to Prometheus Class and Galaxy-X Class level I to Sabre Class. Notice that the Sabre class is not a heavy cruiser, I have changed it to a light cruiser.
I have left out the ship stats, since I tweak those frequently using BotFED editor. The numbers in parenthesis are the Hex character numbers.
Section D1 - Example 1
----------------------
Oberth Class Science Vessel II replaced with Prometheus Class Tactical Escort
OBERTH CLASS SCIENCE VESSEL II
Shiplist.sst:
Ship Type (1-19): 53 63 69 65 6E 63 65 20 56 65 73 73 65 6C 20 49 49 (Science Vessel II)
Ship Name (41-61): 4F 62 65 72 74 68 (Oberth)
Description Location (85-86): 9B 2C
Image Files (89-91): 68 75 (hu)
Ship ID (103-104): 24
Ship Function (105): 00
Controlling Race (281): 01
Shiptech.sst:
Controlling Race (1): 01
Ship ID (5-6): 24
Upgrade ID (7-8): 23
Bio (9): 05
Computer (10): 05
Construction (11): 05
Energy (12): 05
Propulsion (13): 04
Weapons (14): 03
PROMETHEUS CLASS TACTICAL ESCORT
Shiplist.sst:
Ship Type (1-19): 54 61 63 74 69 63 61 6C 20 45 73 63 6F 72 74 (Tactical Escort)
Ship Name (41-61): 50 72 6F 6D 65 74 68 65 75 73 (Prometheus)
Description Location (85-86): 9B 2C
Image Files (89-91): 68 75 32 (hu2)
Ship ID (103-104): 24
Ship Function (105): 01
Controlling Race (281): 01
Shiptech.sst:
Controlling Race (1): 01
Ship ID (5-6): 24
Upgrade ID (7-8): FF FF
Bio (9): 0A
Computer (10): 09
Construction (11): 0A
Energy (12): 0A
Propulsion (13): 0A
Weapons (14): 0A
Section D2 - Example 2
----------------------
Galaxy-X Class Heavy Cruiser I replaced with Sabre Class Light Cruiser
GALAXY-X CLASS HEAVY CRUISER I
Shiplist.sst:
Ship Type (1-19): 48 65 61 76 79 20 43 82 85 69 73 65 72 (Heavy Cruiser)
Ship Name (41-61): 47 61 6C 61 78 79 2D 58 (Galaxy-X)
Description Location (85-86): 87 32
Image Files (89-91): 68 68 32 (hh2)
Ship ID (103-104): 29
Ship Function (105): 02
Controlling Race (281): 01
Shiptech.sst:
Controlling Race (1): 01
Ship ID (5-6): 29
Upgrade ID (7-8): FF FF
Bio (9): 05
Computer (10): 06
Construction (11): 07
Energy (12): 07
Propulsion (13): 06
Weapons (14): 07
SABRE CLASS LIGHT CRUISER
Shiplist.sst:
Ship Type (1-19): 4C 69 67 68 74 20 43 72 75 69 73 65 72 (Light Cruiser)
Ship Name (41-61): 53 61 62 72 65 (Sabre)
Description Location (85-86): 87 32
Image Files (89-91): 68 68 32 (hh2)
Ship ID (103-104): 29
Ship Function (105): 02
Controlling Race (281): 01
Shiptech.sst:
Controlling Race (1): 01
Ship ID (5-6): 29
Upgrade ID (7-8): FF FF
Bio (9): 05
Computer (10): 06
Construction (11): 07
Energy (12): 07
Propulsion (13): 06
Weapons (14): 07
|
Main Index |