tarsus
Rear Admiral
This is an archive of Klaus Reimer's 2004 analysis of Privateer's data files found here
Privateer - K's cluttered loft
web.archive.org
Privateer - K's cluttered loft
web.archive.org
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
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.
Illustration | Name | Velocity | Lifetime | Range | Armor penetration | Refire delay | Energy use | Abuse Limit | Price |
---|---|---|---|---|---|---|---|---|---|
Laser | 1400 kps | 3.40 s | 4758 m | 2.0 cm | 0.30 s | 4 GJ | 370 | 1000 Cr | |
Mass Driver | 1100 kps | 3.40 s | 3738 m | 2.6 cm | 0.35 s | 5 GJ | 380 | 1500 Cr | |
Meson Blaster | 1300 kps | 3.40 s | 4418 m | 3.2 cm | 0.40 s | 8 GJ | 390 | 2500 Cr | |
Neutron Gun | 960 kps | 3.40 s | 3263 m | 6.2 cm | 0.65 s | 16 GJ | 450 | 5000 Cr | |
Particle Cannon | 1000 kps | 3.40 s | 3398 m | 4.3 cm | 0.50 s | 11 GJ | 400 | 10000 Cr | |
Ionic Pulse Cannon | 1200 kps | 3.40 s | 4078 m | 5.4 cm | 0.60 s | 15 GJ | 430 | 20000 Cr | |
Tachyon Cannon | 1250 kps | 3.40 s | 4248 m | 5.0 cm | 0.40 s | 8 GJ | 470 | 40000 Cr | |
Plasma Gun | 940 kps | 3.40 s | 3195 m | 7.2 cm | 0.72 s | 19 GJ | 500 | 80000 Cr | |
Plasma Gun (Righteous Fire) | 940 kps | 3.40 s | 3195 m | 8.5 cm | 0.65 s | 17 GJ | 500 | 80000 Cr | |
Fusion Cannon (Righteous Fire) | 1350 kps | 3.40 s | 4588 m | 6.6 cm | 0.50 s | 11 GJ | 470 | 100000 Cr | |
N/A | Steltek Gun | 1175 kps | 3.40 s | 3993 m | 10.0 cm | 0.45 s | 19 GJ | 22000 | N/A |
N/A | Steltek Gun (Righteous fire) | 1175 kps | 3.40 s | 3993 m | 6.0 cm | 0.45 s | 19 GJ | 22000 | N/A |
N/A | Boosted Steltek Gun | 1250 kps | 4.00 s | 5000 m | 19.0 cm | 0.37 s | 17 GJ | 22000 | N/A |
N/A | Boosted Steltek Gun (Righteous Fire) | 1250 kps | 4.00 s | 5000 m | 1.0 cm | 0.37 s | 17 GJ | 22000 | N/A |
N/A | Drone Steltek Gun | 1050 kps | 3.40 s | 3568 m | 3.0 cm | 0.75 s | 17 GJ | 22000 | N/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:
Identifier | Weapon |
---|---|
LASRTYPELASER | Laser |
MASSTYPEMASS | Mass Driver |
MESNTYPEMESON | Meson Blaster |
PARTTYPEPARTICLE | Particle Cannon |
IONCTYPEIONIC | Ionic Pulse Cannon |
TCHNTYPETACHYON | Tachyon Cannon |
PLSMTYPEPLASMA | Plasma Gun |
ZAPPTYPEZAPPER | Fusion Cannon |
PLSMTYPEALIEN | Steltek 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.
Illustration | Name | Velocity | Lifetime | Range | Armor penetration | Price | Note |
---|---|---|---|---|---|---|---|
Proton Torpedo | 1200 kps | 3.00 s | 3600 m | 20.0 cm | 15 Cr | Fires straight. | |
Dumbfire (DF) Missile | 1000 kps | 8.00 s | 8000 m | 13.0 cm | 20 Cr | Fires straight. | |
Heat Seeker (HS) Missile | 800 kps | 9.00 s | 7200 m | 16.0 cm | 35 Cr | Locks onto engine of target. Best used from behind target. | |
Image Recognition (DF) Missile | 850 kps | 9.00 s | 7650 m | 17.5 cm | 75 Cr | Locks onto shape of target. If used on Pirate Talons it may attack Militia Talons instead. | |
Friend or Foe (FF) Missile | 900 kps | 8.00 s | 7200 m | 17.5 cm | 100 Cr | Locks 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:
Identifier | Weapon |
---|---|
TORPTYPETORPEDO | Proton Torpedo |
MSSLTYPEDUMBFIRE | Dumbfire (DF) Missile |
MSSLTYPEHEATSEEK | Heat Seeker (HS) Missile |
MSSLTYPEIMAGEREC | Image Recognition (IR) Missile |
MSSLTYPEFRNDFOE | Friend 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).