Archive of privateer blog with interesting gun damage/missile details

tarsus

Rear Admiral

This is an archive of Klaus Reimer's 2004 analysis of Privateer's data files found here​

You can find that the gun info is different from the documentation​

@admins if this is in violation of any policy, feel free to delete.​


Privateer


privateer.jpeg
After finding some old PC hardware and a good old standard Soundblaster 16 I've played one of my favorite games again: Privateer. Here I will store some data I collected from the game, maybe it is useful for others (or for me if I play it again in some years).

By the way: Did you know you can play Privateer under Linux? All you need is the great program DOSBox. Note that you have to disable EMS memory in the configuration to play Privateer. But also note that the game is awfully slow even on a Pentium IV with 1.7 GHz. So I only used DOSBox to make screenshots from the game.

With DOSBox you can also play Privateer on Windows 2000/NT/XP. I have not tried that but I'm pretty sure it's also awfully slow. A better solution is to use Windows 9x/Me. With MyJEMM Privateer will run natively on these Windows versions. Just copy the MyJEMM files to the Privateer folder and click on myjemm.exe. If you want to play Righteous Fire instead you have to specify the parameter -r to the call of myjemm.exe.

MyJEMM has some nice advantages. The main advantage is that you can play Privateer with a USB Joystick because Windows emulates the necessary DOS calls. So I was now able to play Privateer with my Sidewinder Pro USB joystick. But there is one problem: Privateer detects two joysticks. Maybe because my joystick has so many buttons. The game will calibrate both joysticks on startup and I was only able to calibrate the first one. But here is a solution: After calibrating the first joystick, kill the game (you are under Windows, you know what to do) and go to the privateer folder. You will find a file there with the name joya.dat. Just copy it to joyb.dat. Now start Privateer again. This time the game thinks that it already has calibrated the second joystick and skips the calibration. Voila.

Another advantage is that you may use some soundcards which are not DOS compatible. Haven't tested it because I have a good old Soundblaster 16 for the good old ISA bus. Fully DOS compatible.

Here is a backup of MyJEMM version 1.4 in case the above link is dead: myjemm14.zip (16 KB).

Privateer Weapons​


Guns​


This table lists all available guns in Privateer and Righteous Fire with all known data. Some values are different to the values mentioned in the manual. My values are extracted from the game itself (using a hex editor). I think Origin has changed the values after writing the manual to improve the game play. That may be the reason for the differences.

In the column Abuse Limit you can see how much damage the weapon can resist. There is no unit for these values so the table just contains the values used by the game. The higher the value the more damage a gun can resist.


IllustrationNameVelocityLifetimeRangeArmor penetrationRefire delayEnergy useAbuse LimitPrice
laser.png
Laser1400 kps3.40 s4758 m2.0 cm0.30 s4 GJ3701000 Cr
massdriver.png
Mass Driver1100 kps3.40 s3738 m2.6 cm0.35 s5 GJ3801500 Cr
mesonblaster.png
Meson Blaster1300 kps3.40 s4418 m3.2 cm0.40 s8 GJ3902500 Cr
neutrongun.png
Neutron Gun960 kps3.40 s3263 m6.2 cm0.65 s16 GJ4505000 Cr
particlecannon.png
Particle Cannon1000 kps3.40 s3398 m4.3 cm0.50 s11 GJ40010000 Cr
ionicpulsecannon.png
Ionic Pulse Cannon1200 kps3.40 s4078 m5.4 cm0.60 s15 GJ43020000 Cr
tachyoncannon.png
Tachyon Cannon1250 kps3.40 s4248 m5.0 cm0.40 s8 GJ47040000 Cr
plasmagun.png
Plasma Gun940 kps3.40 s3195 m7.2 cm0.72 s19 GJ50080000 Cr
plasmagun.png
Plasma Gun (Righteous Fire)940 kps3.40 s3195 m8.5 cm0.65 s17 GJ50080000 Cr
fusioncannon.png
Fusion Cannon (Righteous Fire)1350 kps3.40 s4588 m6.6 cm0.50 s11 GJ470100000 Cr
N/ASteltek Gun1175 kps3.40 s3993 m10.0 cm0.45 s19 GJ22000N/A
N/ASteltek Gun (Righteous fire)1175 kps3.40 s3993 m6.0 cm0.45 s19 GJ22000N/A
N/ABoosted Steltek Gun1250 kps4.00 s5000 m19.0 cm0.37 s17 GJ22000N/A
N/ABoosted Steltek Gun (Righteous Fire)1250 kps4.00 s5000 m1.0 cm0.37 s17 GJ22000N/A
N/ADrone Steltek Gun1050 kps3.40 s3568 m3.0 cm0.75 s17 GJ22000N/A

How to extract the values from the game​


The above values are extracted from the game itself using a hex editor. If you want to try this yourself (or maybe you want to change the values) you should open OBJECTES.TRE or (for Righteous Fire) PRSO.TRE with a hex editor and search for the weapon identifier:


IdentifierWeapon
LASRTYPELASERLaser
MASSTYPEMASSMass Driver
MESNTYPEMESONMeson Blaster
PARTTYPEPARTICLEParticle Cannon
IONCTYPEIONICIonic Pulse Cannon
TCHNTYPETACHYONTachyon Cannon
PLSMTYPEPLASMAPlasma Gun
ZAPPTYPEZAPPERFusion Cannon
PLSMTYPEALIENSteltek Gun

You will find the Steltek Gun three times. The first one is the unboosted one, the second one is the boosted gun and the last one is the gun the drone uses.

If you have found the weapon entry ignore all 00 values behind the identifier. They are just placeholders. The next values are the values you are looking for. These are the values of the Tachyon cannon with descriptions of the values:
d6 01 00 e2 04 00 66 03 00 00 66 00 00 00 08 00 32 00
^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^
Abuse Velocity Lifetime Refire Energy Damage

Note that you have to swap 16 bit values. So the Abuse Limit is 01d6 which is decimal 370.

You have to divide Refire Rate and Lifetime by 256 to get the real value. Example: Lifetime is 0366 in hex, 870 in decimal and 3.40 if divided by 256.

Damage must be divided by 10 to get the gigajoule value. I'm not sure now if I got it right. Some sources on the internet says the Boosted Steltek Gun has 19.0 cm damage in Privateer and 1.0 cm in Righteous Fire. By just using the first byte I don't get these values. These two weapons has the second byte set to FF instead of 00 so I think this is a negative value. And indeed: If I read it as a negative value and remove the minus sign, I get 19.0 and 1.0. If you have any hints, if you can tell me if this is correct and if you can tell me the reason for this strange data storage, please contact me.

The Range can be calculated by multiplying the Lifetime and Velocity. Note that the unit kps can not mean kilometers per second. I think it means klicks per second and klick means meter. So kps is the same as mps or m/s (meters per second).

Projectiles​


This table lists all available projectiles in Privateer and Righteous Fire with all known data.


IllustrationNameVelocityLifetimeRangeArmor penetrationPriceNote
protontorpedo.png
Proton Torpedo1200 kps3.00 s3600 m20.0 cm15 CrFires straight.
dfmissile.png
Dumbfire (DF) Missile1000 kps8.00 s8000 m13.0 cm20 CrFires straight.
hsmissile.png
Heat Seeker (HS) Missile800 kps9.00 s7200 m16.0 cm35 CrLocks onto engine of target. Best used from behind target.
irmissile.png
Image Recognition (DF) Missile850 kps9.00 s7650 m17.5 cm75 CrLocks onto shape of target. If used on Pirate Talons it may attack Militia Talons instead.
ffmissile.png
Friend or Foe (FF) Missile900 kps8.00 s7200 m17.5 cm100 CrLocks only onto enemies.

How to extract the values from the game​


The above values are extracted from the game itself using a hex editor. If you want to try this yourself (or maybe you want to change the values) you should open OBJECTS.TRE and search for the weapon identifier:


IdentifierWeapon
TORPTYPETORPEDOProton Torpedo
MSSLTYPEDUMBFIREDumbfire (DF) Missile
MSSLTYPEHEATSEEKHeat Seeker (HS) Missile
MSSLTYPEIMAGERECImage Recognition (IR) Missile
MSSLTYPEFRNDFOEFriend or Foe (FF) Missile

If you have found the weapon entry ignore all 00 values behind the identifier. They are just placeholders. The next values are the values you are looking for. These are the values of the FF Missile with descriptions of the values:
84 03 08 00 88 13 af
^^ ^^ ^^ ^^
Velocity Lifetime Damage

Note that you have to swap 16 bit values. So the Velocity is 0384 which is decimal 900.

Lifetime is here directly stored as seconds. So you don't need to divde the value by 256 to get the real value.

The Range can be calculated by multiplying the Lifetime and Velocity. Note that the unit kps can not mean kilometers per second. I think it means klicks per second and klick means meter. So kps is the same as mps or m/s (meters per second).
 
Back
Top