These hints are taken from “The Infinity“.
The “Crash Bug”
The code that handles the fragmentation of model when destroyed, can only handle models with less than 1500 polygons and vertices combined. If the model exeeds these limits, the game will crash back to desktop. For instance, Voyager – which was a test model for the 3DFX version of I-War – has 2187 vertices and 1899 polygons, and thus causes the crash when destroyed. However the cras doesn’t occur with antimatter explosion effect, or without any effects alltogether. So there is workarounds. Not perfect ones though – the fixes might not work allways when the ship is rammed, so try to avoid it. Of course you can try to make the problematic ship undestructable when some one comes too close it. Anyways – here are the trics. |
Fix 1Adding the following line to the *.shp file, or after CREATE_SHIP in script, makes the ship go in a boom á la antimatter when destroyed. Don’t be near then. |
DO_WHEN LASTSHIP, AT_DISMANTLE, AF_ANTIMATTER_EXP |
Fix 2The other – more discrete – alternative is to make a conditional call, and use DESTROY command without explosion effect. This fix will give an effectless destruction, or – with a small trick – the normall explosion effect. Add this to mission script after the ship creation. |
CALL_ONCE_WHEN noboom, DAMAGE_GT LASTSHIP, 99 |
I guess you could use CALL_WHEN command, but CALL_ONCE_WHEN is safer. Here is the called function at the end of mission script: |
noboom: DESTROY LASTSHIP, OFF |
At this point you can create a destroyable ship, and destroy it for the explosion effect. Here is an example. |
CREATE_SHIP Silly, WhiteMd, “Duck”, SFIGHTER, ALLIANCE, 0,0,0,0,0,0 #INCLUDE fighter.shp DESTROY LASTSHIP, ON |
In every case, remember: |
RETURN |
at the end of the function. |
LASER Beam
Like the picture above? Want a LASER? Well, you can have it! Or at least if you are running I-War in Glide (3dfx mode) – this trick doesn’t seem to work in software graphics mode. If you are ruuning in Glide, all you need is the following two lines. Just insert them to a *.shp file or after the CREATE_SHIP command in a mission script. Here is a example for a green LASER: |
LIGHT LASTSHIP, 0, 0, 44, .4, 2, 100, 2, 0 LIGHT LASTSHIP, 0, 0, 100000000000, .4, 259, 100, 2, 10 |
And here for a purple one: |
LIGHT LASTSHIP, 0, 0, 44, .8, 13, 2, 4, 100 LIGHT LASTSHIP, 0, 0, 100000, .8, 13, 2, 4, 100 |
“Cool, but what can I do with it?” How I should know! It’s just a very stretched light. |
Also, unfortunately, you can’t see your own lights from the cockpit, only from an external view. So view above isn’t possible. |
Player Ships
A ship is defined as a player ship by command line: |
PLAYER LASTSHIP |
This itself isn’t anything new – it is fully explained in ‘Mission Script Programming Reference Guide’. The thing is the definition can be given to multiple ships in a mission. The last ship defined as player ship will actually be piloted by the player, and the other ones will just be drifting unpiloted. Now, if you are making a custom mission with Voyager you should note that both Voyager and Dreadnought are defined as player ships in their *.shp files (Voyager.shp and pcorvette.shp). |
Scaling Models
To change the size of ship or other object you can scale them ot desired size. The command: |
SCALE “the ship”,”the wanted size compared to to defeault size of the model in percentual figure” |
The command comes right after the declaration of the model. Here is an examble of Whitestar model scaled three times bigger (that is 300%). |
REGLOAD WhiteMd,”\psg\resource\B5\White Star v3.6 low.lwo”,LWO2BRM SCALE WhiteMd,300 |
Sounds
The commands for playing sounds and attaching engine sounds to ships are told in the ‘Mission Script Programming Reference Guide’, but the appropriate declaration syntax had been forgotten. Here is an example. |
REGLOAD Shadow,”\psg\resource\B5\shadow.wav”,WAV2SND |
The “WAV2SND” is the essential part. If you want to try out, you can try this sound file. It’s a sound of a shadow ship from TV-show ‘Babylon 5’. In this case you need to add |
ATTACH_SND LASTSHIP,Shadow |
in *.shp -file or after CREATE_SHIP -command |
The Wireframe Model in the WEP-station
This is what Rich Aidley – one of the few programmers of ‘Independence War’ – said about the matter on the Infogrames message board:
” Which model to use is hardcoaded. However, the model itself can be changed. Have a look a the one for the corvette … it’s quite different from the ‘real’ corvette model. To make it easier to read in wireframe parts of the roof are missing and all the triangles have been replaced with quads. “psg\resource\shapes\CorvAsm_WEP.lwo” “ So to have a mission in which you fly a different ship than Dreadnought, and want to the WEP-station to peresent this, all you can do is replace this model with the model of you new ship renamed to ‘CorvAsm_WEP.lwo’. I recommend making a back up of the old model, if you don’t want play alway with the new one. |