Infinite Space Federation

SAIS Mod FAQ

Gamedata Files (.ini files)

General Notes

Take care when making changes to the .ini files that each entry follows the established pattern for that file. The game will generally not be forgiving of invalid syntax. If you get unexplained problems, check your recent changes to see whether you may have left out an "END" or have otherwise broken the correct format for the file.

Note also that many if not most SAIS entities are referred to in multiple .ini files, and if you change one instance you must generally make the same change in all the other locations. If you cannot get a change to register in the game, consider that you may have neglected to update one of the necessary files.

How do I combine FLAGs?

A flag can be combined with any other flag by simply OR'ing them together. This has to do with the bits of of a number, their binary representation; however each flag in SAIS is an exact power of two, and the effect of a binary 'OR' in this circumstance is conveniently the same as simply adding all the flag values together!

A hard to catch animal that can not be sold to the Klakars would be 2048 OR 2 = 2050.

A hard to catch animal that gives the abilities of Babulon's Gong and the Stellar Probe would be 2048 OR 128 OR 8 = 2184.

If you wish to determine the individual flags given a flag value (e.g. 2050) you can do so by AND'ing each flag with the flag number. If the result is equal to the flag you are testing, then the result is composed of the test flag. Example: 2050 AND 2048 = 2048 (hence this flag value includes flag 2048), but... 2050 AND 1 = 0 (so flag 1 is not involved).

cards

fleets

Can you change the fleet formations?

No, it is hard-coded within the game.

Can you change the number of ships within a fleet?

No. The game will ignore any extra entries in the fleets.ini file. Only the first three listed (the SHP1, SHP2, and SHP3 entries) will work.

What do all the variables in the fleet entries mean

Race is obvious

SHP1-3 are the types of ships that might be encountered

The first number of each FLET line is the amount of SHP1 in the encounter, the second SHP2, third SHP3...

The numbers in the number strings at the bottom correspond to the FLET list above, 0 being the top and 8 being the bottom. The program will randomly choose a number from one to 10, picking a random FLET number from said number string. for example: the muktian FSET has an EASY string of 0001112223, thus you have a 3/10 chance (three 0's out of 10 numbers) to encounter the first FLET, 3/10 to encounter the second, 3/10 to encounter the third and only 1/10 to encounter the 4th.

hulls

How do I make extra hardpoints?

  1. Create a new ship in the graphics folder of your mod or use an existing one, if you simply want to add a new hardpoint to an existing ship.
  2. Open the ship in your favourite graphic editor.
  3. Create a new hull (or use an existing one) in hull.ini and add a weapon slot (in this style: WEAP 32 14 0 20 5). The easiest way to do this is to copy & paste one from a different ship or the same ship if it has already one.
  4. The first two numbers are the x and y coordinates in the ship graphic, based on a 64x64 bitmap (note that the hull files are 128x128, so if you use that to find the coordinates, be sure to cut those numbers in half). Use your graphic editor and move your mouse cursor over the position on the ship where you want to put the new hardpoint. Common graphic editors should show the coordinates somewhere on a toolbar. Enter these coordinates in your new weapon slot.
  5. The third number determines the direction the hardpoint is facing. 0 is straight forward (i.e. up on your ship graphic). Any other number refers to an angle measured in °. It goes clockwise, so a 90 would mean your hardpoint was facing to the right.
  6. The fourth number is the hardpointīs firing arch. Note, however, that the number only determines half of it, i.e. the degrees to which it can swivel in one direction. If you put, letīs say, 30, you would get a total firing arch of 60 degrees (30 to the right and 30 to the left of its original facing.
  7. Iikka Keranen has said the fifth number isn't used.

Once you are done, save your hull.ini, and, if you already have a ship ready to be tested (i.e. ship graphic, ship silhouette and a ship set to using this hull in ship.ini) you can allocate it to one of the existing enemy fleets and then go against it in combat.

Note that in ships.ini each weapon slot you created in hulls.ini must have a corresponding mounted weapon on that ship. If you donīt want to have this hardpoint armed, just enter Empty into the place where you would normally put a weaponīs name. Also note that when you list the weapons in the ships.ini file, the program puts the weapons into the hardpoints in the same order those hardpoints are listed in hulls.ini.

Then, enter the game and once you meet the ship in combat you can can click on it and see whether the new hardpoint is in the right spot. If not, go back to hulls.ini and modify the coordinates again until you are satisfied.

items

How can I set the time required to hunt a lifeform?

The time allocated for the hunting events seems to be directly related to the value of the item, and a random element. To increase the time required, increase the value.

jobs

names

planets

Can you add additional planet types?

No. But you can modify existing ones.

What do the following codes mean?...

VALU
This sets the amount of points you get for discovering a planet of that type.

What do the following BLOCKS of code do?...

ENVIROS
Here is the low-down, straight from the Eel's mouth. (Please note that the original information in the FAQ was not correct!)
"The ENVIROS list doesn't work like the [SAIS Federation FAQ] says, although each line does define which planet types each star can have. You can think of the numbers as being on an 8-sided die, and each number corresponds to a planet type (0-7, from frozen to toxic). The first line is the first star type (white)... It has five 0's, two 1's and one 2. These correspond to the first three planet types, so a white star will have a frozen planet five times out of eight etc. You should avoid repeating any planet type too much, as the game will crash if it runs out of planet names."

In other words, looking at the original ENVIROS block:

00000112
00111223
01122334
12233445
23344556
34455667
45566677
56677777

  • The first line "00000112" equates to a 5/8 chance of a "0" (frozen), a 2/8 (1/4) chance of a "1" (forest), and a 1/8 chance of a "2" (grassland).
  • The second-to-last line "45566677" means a 1/8 chance of a "4" (jungle), a 2/8 (1/4) chance of a "5" (desert), a 3/8 chance of a "6" (volcanic) and a 2/8 (1/4) chance of a "7" (toxic).
  • If you wanted an equal chance of each planet type for a given star, the line would read "01234567" (or in fact any permutation of all eight numbers; they need not be in ascending sequence).

races

Can you add pop-up and message windows for new races?

No. You can only change the text messages and descriptions of the existing races and replace them with your new race.

You could always explain the lack of interaction on the first encounter with any additional races by making their racial description (in the races.ini file) say something like, "A vicious and cunning race of bloodthirsty pirates, the Ewoks are upon you before you have a chance to react!"

I want to have some races only appear in certain difficulty levels. Is that possible?

Yes. Assign them an empty fleet (FLET 0 0 0), preferably in place of the first entry; then make that the only fleet possible at, for example, "Easy" difficulty (with EASY 0000000000).

HOWEVER, this will *NOT* make SAIS skip over that race as a choice for an encounter. It will still assign the same total number of enemy encounters, and that race is still a valid possibility; but if the race in question is supposed to be at a star, you just won't get any encounter dialog. That means the total number of encounters will be *lower*, because at any stars where you were supposed to meet that race, you didn't -- because they had no ships.

For example, if you made *two* enemy races impossible to meet at EASY, you might very well end up getting only one or two total enemy encounters out of the whole game. SAIS will *not* compensate by choosing more encounters with the other races. (Of course, that does make it truly EASY; but maybe too much...)

A better approach might be to make a race's three ships each very different in strength -- then make only the wimpy ships available at EASY, and so on...

ships

How do I change the type of ship launchedf from a carrier?

The type of fighter launched by a carrier of any race is the ship type allocated to slot 1 of its fleet (in the fleet.ini file).

Can you create self-replicating ships?

Yes. Give the ship a fighterbay and list it in the first slot of its race in the fleet.ini file.

Can you launch more than three fighters from a carrier?

No.

What are the FLAG values?

Probable meanings:

1 - Ally
2 - teleport in battle
4 - fold
8 - (trait of ally scout, fighter, etc)
16 - fighterbay
32 - Ripcord
64 - Moon marauder
128 - Cloak in battle
256 - Space hulk

strings

What can I alter in strings.ini?

You can change any of the text in strings.ini. However:

  1. Do NOT change the capitalized entry markers (GARTHAN_WARN1, or BLACKHOLE_DESC, for example), or the game will crash.
  2. Be aware that however you alter the existing text in strings.ini, it must fit into about the same space (or less). If your replacement text is too long, the end will get cut off when the game tries to display it.
  3. Be aware that no matter what you put in the TANRU_WARN entry, the game displays a random series of characters when you encounter them. (Evidently, Digital Eel wanted the Tan Ru to be *incomprehensibly* alien.)

systems

How do I add a new system?

Ship systems must appear in both systems.ini and items.ini. 'Findable' systems must also appear in cards.ini.

Make certain that the item name is identical in each file.

Which sized systems can fit into which ship types?

there are just two rules...

  1. A "fighter" is defined merely as any ship whose listing in hulls.ini specifies a SIZE of less than 32. If the hull listing specifies a SIZE of 32 or greater, it's a capital ship.
  2. "Fighters" can only mount weapons (or any other kind of system, for that matter) with a SIZE entry of "1" in the systems.ini file (NOT the weapons.ini listing, in which the entry refers to the size of the graphic displayed when fired). If a system's SIZE entry is "2," only capital ships can mount it. If a system's SIZE entry is "3," only the Player or the Yellow Kawangi can mount it.

What do the PAR1 and PAR2 parameters do?

These two parameters do different things based upon the type of system you are trying to introduce.

Example:
TYPE = shield
PAR1 = initial size of shield
PAR2 = regeneraction increment.

TYPE = engine
PAR1 = speed in clear space.
PAR2 = speed in nebulae.

TYPE = weapon
PAR2 = number of projectiles resulting from a 'split'.

The best thing to do is to dramatically change some of these parameters, then play the game and see what affect they have on the item. [Tip: If you amend the inventory in ships.ini, so you start with your 'tweaked' item - you will save time as you don't have to find each item first!]

weapons

How do I create a new weapon?

If the new item is a weapon, it *must* appear in 3 files: items.ini (for the item description and value), systems.ini (so the program knows the item can be equipped), weapons.ini (so it knows how the weapon works). Additionally, if you want your weapons or other systems to be "findable" while exploring, they must also be listed in cards.ini.)

Make certain that the item name is identical in each file.

Can a weapon be made to split more than once before covering the distance to the target?

No, it would appear not.

Can an 'imploding' weapon fire projectiles rather than beams?

No, but the 'split' code might be helpful.

Can you increase the firing frequency of the implosion zap (e.g. in the PVC?)

No, it would appear not.

Can you create 'invisible' weapons?

Yes. Simply use an entirely black tga file for it. [N.B. For beam weapons you also have to set size in weapons.ini to 100.]

Can you create self-replicating weapons?

No. The STGE flag will not work if it attempts to call itself.

What do the following codes mean?...

WEAP
This indicates the start of a set of parameters which define a particular weapon. [N.B. Each WEAP instruction must have a corresponding END command.]
NAME
This is the UNIQUE name given to a the set of parameters which define each weapon. It is used when referencing the weapon from within other .ini files.
TYPE
All weapons fall into two categories: 0 = Beam, 1 = Particle.
FLAG
You can combine the following flags, separated by a space, to specify the weapon's apperance.
trans
Makes the weapon's shots transparent. Looks good on energy weapons.
shock1 / shock2
Makes a shock appearance (two varieties) when the object hits something. No gameplay effect.
homing
The weapon tracks the targetted (or closest at launch) enemy, until it's range (fuel) is used up.
strail
Adds a smoke trail to the back of the weapon. Nice on missiles.
split
Splits the weapon into multiple shots. To choose what it splits into, type STGE [insert weapon name here]. To choose how many shots it splits into, open up the entry in the systems.ini for your weapon, and add PAR2 [insert number of shots here]. If no STGE line is provided, it splits into five laser beam 'shots'.
disperse
Disperse enlarges the weapon as it is fired, beginning at a size smaller than the SIZE parameter. Try it yourself, and see. It apparently does nothing to non-STGE weapons.
spin
Makes the .tga of the weapon spin. It has no other gameplay effect.
implode
This one does a lot. If there's no STGE line, it seems to just add a shockwave on the back of the weapon, sort of like strail. If there is a STGE line, then it fires whatever's on the STGE at enemies as it goes by (also has shockwave). If the STGEed weapon is not type 0 (beam), then it turns it into one.
nova
Nova adds the explosion effect to the weapon when it hits (only on type 1+ weapons I dont know about 0).
wiggle
Shakes the weapon image during flight.
noclip
This makes the weapon pass through enemies without damaging them.
SPRI
The associated .TGA file that resides within the .\graphics\weapons subdirectory.
SIZE
SND1 and SND2
Determines which sound effects are used for the weapon. See the FAQ section on Sound for details.
RATE
SPED
DAMG
RANG
END

Graphics Files

My images are all garbled in-game! What gives?

SAIS uses a custom 8-bit palette for all its images. You must use the same palette in any images you create, or else the colours will be all wrong when you run your mod. Exactly how you achieve this (or whether you're even able to achieve this) will depend upon the graphics package you use. If supported, you should be able to extract or duplicate the correct palette from any of the existing SAIS image files.

If you use The GIMP, you can import the SAIS palette as follows:
(instructions based on version 2.2.8)

  • Load a SAIS .PCX file
  • Select Palettes from the Dialogs menu
  • Right-click in the Palettes window and choose Import Palette...
  • Select image, choose the SAIS image that you have opened, and give it a new Palette Name
  • Click the Import button, and you're done!

To convert any image to this palette:

  • Load the image
  • Select Mode from the Image menu
  • If the Indexed... option is greyed out, then choose RGB
  • Now select the Indexed... option to open the palette selection window
  • Click on Use custom palette
  • De-select Remove unused colours from final palette
  • Click the palette icon between those two options, and find and select your SAIS palette
  • Click OK to convert the image to the SAIS palette

Additional note: I have found the GIMP has difficulties with the .TGA files used in the game (at least using the default settings). You can work around this by saving images as .PNG files, and then converting the .PNG to .TGA using another program, such as Irfanview.

For a hybrid fleet with mutiple races, which ship will appear on the starmap?

The ship in slot 1 of each fleet denominates the ship icon shown on the starmap, which is not necessarily the ship you left behind when you retreated from the battle, nor the race set in the corresponding fleet.

Sound Files

Can you add or change new sounds?

Unfortunately, you can only overwrite the original sounds in the main sounds folder.

All sounds must be in 22050 Hz, 8-bit mono format.

I want to edit the original sounds

See this thread for all the details

Troubleshooting Tips

The game might hang or crash if...

  • you add encounters without any ships (FLET 0 0 0) in the fleet.ini file.
  • you create one race that has two identical fleet configurations in the fleet.ini file.
  • You exceed the maximum length for a string:
    • Race names: 15 characters (hangs on "Enemies...")

Help, I still can't find an answer to my question

All is not lost. Why not go to the MOD Surgery forum and post your questions? It could save you a whole heap of time...

Acknowledgements

This FAQ was originally created by Lord Rylex, with contributions of the following SAISF / ISF members:

  • liljohn118th
  • Exaar
  • EternalSpearman
  • TaoLibra
  • Shadowcat

I'm afraid that I extracted significant amounts of information from the original SAIS Federation Mod Surgery forum and forgot to make notes on who had said what. If you notice any information here that you provided, and you have not been credited, please do let us know so that we can add your name. We want to give everyone the credit that they deserve!
    - Shadowcat

This website is hosted for free by Freewebs.com. Get your own Free Website now!