X-COM: Terror from the Deep
Hacking Guide version 1.0
By: whatever
[email protected]
----------------------------------------------------------------------
Table of Content
1. Introduction
2. Money
3. Soldiers
4. Items and Facilities
5. Weapons
6. Credits
7. Copyright Statement
----------------------------------------------------------------------
1. Introduction
----------------------------------------------------------------------
This guide is written to help you hack into X-COM: Terror from the
Deep. Basically, this is CHEATING, so don't read further unless you
want to spoil the fun.
If you really want to, you'll need the 4 things below to proceed:
1. X-COM: Terror from the Deep game
2. The save game you want to tamper
3. Hex Editor
4. Knowledge of Hexadecimal
(Optional) Scientific Calculator
The game provides 10 slots of save games you can use. Each of the slot
is saved in a separate directory named "Game_" appended with the slot
number. In Example: You saved your game in the third slot, your save
game is inside "Game_3" directory.
Below are some basic conversions from decimal to hexadecimal:
--------------------------------------
Decimal Hexadecimal
--------------------------------------
1 01
2 02
3 03
4 04
5 05
6 06
7 07
8 08
9 09
10 0A
11 0B
12 0C
13 0D
14 0E
15 0F
16 10
100 64
255 FF
65,535 FF FF
99,999,999 FF E0 F5 05
--------------------------------------
NOTE: Don't forget to back up the file you want to edit.
----------------------------------------------------------------------
2. Money
----------------------------------------------------------------------
Open the file "lilglob.dat" with your Hex Editor. Change the first 4
bytes value to your needs. The recommended value is FF E0 F5 05. This
will give you 99,999,999, more than enough to finish the game. You can
go up to 2 billions, but I'm not responsible if you ruin your save
game.
----------------------------------------------------------------------
3. Soldiers
----------------------------------------------------------------------
The soldiers data are saved in the file "soldier.dat". Browsing
through this file is somehow easy, since the soldier name is saved
there as well. The stats for each soldier are located above the name.
The total number of soldiers you may have is variable but there is a
limit. Thus, it's impossible to list all the offset here. I will use
the first soldier as reference for the next soldiers.
This is the stats table for the first soldier:
------------------------------------------------------------
Stats Offset Size Max Value
------------------------------------------------------------
Time Unit 001A 1 Byte FF
Health 001B 1 Byte FF
Stamina 001C 1 Byte FF
Throwing Accuracy 001D 1 Byte FF
Firing Accuracy 0021 1 Byte FF
Strength 0022 1 Byte 64
Bravery 0040 1 Byte 01
MC Skill 0041 1 Byte FF
MC Strength 0043 1 Byte FF
Reaction 0045 1 Byte FF
------------------------------------------------------------
NOTE: If you give Strength above 64, the soldier won't be able to
throw anything.
Bravery uses the formula below to calculate:
110 - Bravery
Hex Value = -------------
10
I.e.: If your soldier has Bravery 70 points, the hex value is:
110 - 70
-------- = 04
10
To calculate the stat offset for the second soldier, just add 46 to
the offset of the first soldier. For the third soldier add (46 x 2)
to the offset of the first soldier(The calculation is done in
Hexadecimal, you might need a scientific calculator to do so).
Example:
The Strength offset for the second soldier will be:
002E + 46 = 0074
The Stamina offset for the 11th soldier will be:
002C + (46 x A) = 2E8
= 02E8
----------------------------------------------------------------------
4. Items
----------------------------------------------------------------------
Items data can be found inside the file "base.dat" in your save game
directory. The offset for each item is fixed, just key in the amount
of item you want. Just like the soldiers data, I'll use the first base
as reference for the next bases.
-----------------------------------------------------
Item Name Offset Size
-----------------------------------------------------
Ajax Launcher 0010 2 Bytes
D.U.P. Head Launcher 0012 2 Bytes
Craft Gas Cannon 0014 2 Bytes
P.W.T. Cannon 0016 2 Bytes
Gauss Cannon 0018 2 Bytes
Sonic Oscillator 001A 2 Bytes
Ajax Torpedoes 001C 2 Bytes
D.U.P. Head Torpedoes 001E 2 Bytes
Gas Rounds(x50) 0020 2 Bytes
P.W.T. Ammo 0022 2 Bytes
Coelacanth/ G. Cannon 0024 2 Bytes
Coelacanth/ Aquajet 0026 2 Bytes
Coelacanth/ Gauss 0028 2 Bytes
Displacer/ Sonic 002A 2 Bytes
Displacer/ P.W.T. 002C 2 Bytes
Dart Gun 002E 2 Bytes
Dart Clip 0030 2 Bytes
Jet Harpoon 0032 2 Bytes
Harpoon Clip 0034 2 Bytes
Gas Cannon 0036 2 Bytes
GC-AP Bolts 0038 2 Bytes
GC-HE Bolts 003A 2 Bytes
GC-Phosphorous Bolts 003C 2 Bytes
Hidro-Jet Cannon 003E 2 Bytes
HJ-AP Ammo 0040 2 Bytes
HJ-HE Ammo 0042 2 Bytes
HJ-P Ammo 0044 2 Bytes
Torpedo Launcher 0046 2 Bytes
Small Torpedo 0048 2 Bytes
Large Torpedo 004A 2 Bytes
Phosphorous Torpedo 004C 2 Bytes
Gauss Pistol 004E 2 Bytes
Gauss Rifle 0050 2 Bytes
Heavy Gauss 0052 2 Bytes
Magna Blast Grenade 0054 2 Bytes
Dye Grenade 0056 2 Bytes
Particle Disturbance Grenade 0058 2 Bytes
Magna-Pack Explosive 005A 2 Bytes
Particle Disturbance Sensor 005C 2 Bytes
Medi-Kit 005E 2 Bytes
MC Disruptor 0060 2 Bytes
Thermal Tazer 0062 2 Bytes
Chemical-Flare 0064 2 Bytes
Vibro Blade 0066 2 Bytes
Thermic Lance 0068 2 Bytes
Heavy Thermic Lance 006A 2 Bytes
Sonic Cannon 0072 2 Bytes
Cannon Power Clip 0074 2 Bytes
Sonic Blasta Rifle 0076 2 Bytes
Blasta Power Clip 0078 2 Bytes
Sonic Pistol 007A 2 Bytes
Pistol Power Clip 007C 2 Bytes
Disruptor Pulse Cannon 007E 2 Bytes
Disruptor Ammo 0080 2 Bytes
Thermal Shok Launcher 0082 2 Bytes
Thermal Shok Bomb 0084 2 Bytes
Sonic Pulser 0086 2 Bytes
Zrbite 0088 2 Bytes
MC Reader 008A 2 Bytes
Gauss Pistol Clip 008C 2 Bytes
Gauss Rifle Clip 008E 2 Bytes
Heavy Gauss Clip 0090 2 Bytes
Aquatoid Corpse 0092 2 Bytes
Gillman Corpse 0094 2 Bytes
Lobsterman Corpse 0096 2 Bytes
Tasoth Corpse 0098 2 Bytes
Calcinite Corpse 009A 2 Bytes
Deep One Corpse 009C 2 Bytes
Bio-Drone Corpse 009E 2 Bytes
Tentaculat Corpse 00A0 2 Bytes
Triscene Corpse 00A2 2 Bytes
Hallucinoid Corpse 00A4 2 Bytes
Xarquid Corpse 00A6 2 Bytes
Ion-Beam Accelerators 00B0 2 Bytes
Magnetic Navigation 00B2 2 Bytes
Alien Sub Construction 00B4 2 Bytes
Alien Cryogenics 00B6 2 Bytes
Alien Cloning 00B8 2 Bytes
Alien Learning Arrays 00BA 2 Bytes
Alien Implanter 00BC 2 Bytes
Examination Room 00BE 2 Bytes
Aqua Plastics 00C0 2 Bytes
Alien Re-animation Zone 00C2 2 Bytes
Plastic Aqua-Armour 00C4 2 Bytes
Ion Armour 00C6 2 Bytes
Mag. Ion Armour 00C8 2 Bytes
Technician 0122 1 Byte
Scientist 0123 1 Byte
-----------------------------------------------------
The table above is only for first base. To get the next base offsets
just add 128 to the previous base offsets. The calculation is still
in hexadecimal.
Example:
To calculate the Engineer offset for base number 2:
005E + 128 = 186
= 0186
To calculate Ion Armour offset for base number 4:
00C6 + (128 x 3) = 43E
= 043E
Another easy trick is to change the item amount is the first base and
just transfer them to other base. But this method will consume some
time to complete. But it is easier than actually changing the item
amount in the particular base.
Below is the hex code for all base facilities.
------------------------------
Hex Facility Name
------------------------------
00 Air Lock
01 Living Quarters
02 Laboratory
03 Workshop
04 Standard Sonar
05 Wide Array Sonar
06 Torpedo Defense
07 General Stores
08 Alien Containment
09 Gauss Defense
0A Sonic Defense
0B PWT Defense
0C Bombardment Shield
0D MC Generator
0F Transmission Resolver
10 Subpen(Top Left)
11 Subpen(Top Right)
12 Subpen(Bottom Left)
13 Subpen(Bottom Right)
------------------------------
All facilities use 1 block of space except Subpen, which takes 4. This
is how the Subpen placement looks like:
/---------\
| 10 | 11 |
| | |
|---------|
| 12 | 13 |
| | |
\---------/
The base layout will look like this:
/-----------------------------------------\
| 00DA | 00DB | 00DC | 00DD | 00DE | 00DF |
| | | | | | |
|-----------------------------------------|
| 00E0 | 00E1 | 00E2 | 00E3 | 00E4 | 00E5 |
| | | | | | |
|-----------------------------------------|
| 00E6 | 00E7 | 00E8 | 00E9 | 00EA | 00EB |
| | | | | | |
|-----------------------------------------|
| 00EC | 00ED | 00EE | 00EF | 00F0 | 00F1 |
| | | | | | |
|-----------------------------------------|
| 00F2 | 00F3 | 00F4 | 00F5 | 00F6 | 00F7 |
| | | | | | |
|-----------------------------------------|
| 00F8 | 00F9 | 00FA | 00FB | 00FC | 00FD |
| | | | | | |
\-----------------------------------------/
The default value is FF (nothing is built on the block), change it to
whatever value you desire.
The next layout determines how many days left to finish the facility.
Each byte corresponds to a block. If nothing is built on, the value is
FF. To finish the facility change the value to 00.
/-----------------------------------------\
| 00FE | 00FF | 0100 | 0101 | 0102 | 0103 |
| | | | | | |
|-----------------------------------------|
| 0104 | 0105 | 0106 | 0107 | 0108 | 0109 |
| | | | | | |
|-----------------------------------------|
| 010A | 010B | 010C | 010D | 010E | 010F |
| | | | | | |
|-----------------------------------------|
| 0110 | 0111 | 0112 | 0113 | 0114 | 0115 |
| | | | | | |
|-----------------------------------------|
| 0116 | 0117 | 0118 | 0119 | 011A | 011B |
| | | | | | |
|-----------------------------------------|
| 011C | 011D | 011E | 011F | 0120 | 0121 |
| | | | | | |
\-----------------------------------------/
NOTE: To get the offset of the next base layout, just use the same
calculation in item section, above.
----------------------------------------------------------------------
5. Weapons
----------------------------------------------------------------------
WARNING: This section completely tamper with the game setting. This
section is not recommended at all. The changes will affect
the whole game, not only a particular save game. Any mistake
might screw up the whole game, leaving you no choice but to
re-install the game.
The weapons data can be found in directory "\Geodata", with file named
"Obdata.dat".
I separate them into 2 parts: human & alien technology. Be very
careful when editing alien technology.
Recommended byte values:
Accuracy(in percentage) 64
Time Unit Consumption Rate(in percentage) 01
Power FF
Rounds FF
Human Technology:
1. Dart Gun
Accuracy:
Auto Shot 0020 1 Byte
Snap Shot 0021 1 Byte
Aimed Shot 0022 1 Byte
Time Unit Consumption Rate:
Auto Shot 0023 1 Byte
Snap Shot 0024 1 Byte
Aimed Shot 0025 1 Byte
2. Dart Clip
Power 004C 1 Byte
Rounds 005C 1 Byte
3. Jet Harpoon
Accuracy:
Auto Shot 008C 1 Byte
Snap Shot 008D 1 Byte
Aimed Shot 008E 1 Byte
Time Unit Consumption Rate:
Auto Shot 008F 1 Byte
Snap Shot 0090 1 Byte
Aimed Shot 0091 1 Byte
4. Harpoon Clip
Power 00B8 1 Byte
Rounds 00C8 1 Byte
5. Gas Cannon
Accuracy:
Auto Shot 00F8 1 Byte
Snap Shot 00F9 1 Byte
Aimed Shot 00FA 1 Byte
Time Unit Consumption Rate:
Auto Shot 00FB 1 Byte
Snap Shot 00FC 1 Byte
Aimed Shot 00FD 1 Byte
6. GC-AP Bolts
Power 0124 1 Byte
Rounds 0134 1 Byte
7. GC-HE Bolts
Power 015A 1 Byte
Rounds 016A 1 Byte
8. GC-Phosphorous Ammo
Power 0190 1 Byte
Rounds 01A0 1 Byte
9. Hydro-Jet Cannon
Accuracy:
Auto Shot 01D0 1 Byte
Snap Shot 01D1 1 Byte
Aimed Shot 01D2 1 Byte
Time Unit Consumption Rate:
Auto Shot 01D3 1 Byte
Snap Shot 01D4 1 Byte
Aimed Shot 01D5 1 Byte
10. HJ-AP Ammo
Power 01FC 1 Byte
Rounds 020C 1 Byte
11. HJ-HE Ammo
Power 0232 1 Byte
Rounds 0242 1 Byte
12. HJ-P Ammo
Power 0268 1 Byte
Rounds 0278 1 Byte
13. Torpedo Launcher
Accuracy:
Auto Shot 02A8 1 Byte
Snap Shot 02A9 1 Byte
Aimed Shot 02AA 1 Byte
Time Unit Consumption Rate:
Auto Shot 02AB 1 Byte
Snap Shot 02AC 1 Byte
Aimed Shot 02AD 1 Byte
14. Small Torpedo
Power 02D4 1 Byte
Rounds 02E4 1 Byte
15. Large Torpedo
Power 030A 1 Byte
Rounds 031A 1 Byte
16. Phosphorous Torpedo
Power 0340 1 Byte
Rounds 0350 1 Byte
17. Gauss Pistol
Accuracy:
Auto Shot 0380 1 Byte
Snap Shot 0381 1 Byte
Aimed Shot 0382 1 Byte
Time Unit Consumption Rate:
Auto Shot 0383 1 Byte
Snap Shot 0384 1 Byte
Aimed Shot 0385 1 Byte
18. Gauss Pistol Clip
Power 0A00 1 Byte
Rounds 0A10 1 Byte
19. Gauss Rifle
Accuracy:
Auto Shot 03B6 1 Byte
Snap Shot 03B7 1 Byte
Aimed Shot 03B8 1 Byte
Time Unit Consumption Rate:
Auto Shot 03B9 1 Byte
Snap Shot 03BA 1 Byte
Aimed Shot 03BB 1 Byte
20. Gauss Rifle Clip
Power 0A36 1 Byte
Rounds 0A46 1 Byte
21. Heavy Gauss
Accuracy:
Auto Shot 03EC 1 Byte
Snap Shot 03ED 1 Byte
Aimed Shot 03EE 1 Byte
Time Unit Consumption Rate:
Auto Shot 03EF 1 Byte
Snap Shot 03F0 1 Byte
Aimed Shot 03F1 1 Byte
22. Heavy Gauss Clip
Power 0A6C 1 Byte
Rounds 0A7C 1 Byte
23. Magna Blast Grenade
Power 0418 1 Byte
24. Dye Grenade
Power 044E 1 Byte
25. Particle Disturbance Grenade
Power 0484 1 Byte
26. Magna-Pack Explosive
Power 04BA 1 Byte
27. Thermal Tazer
Power 05A2 1 Byte
Time Unit Consumption Rate:
Stun 05A5 1 Byte
28. Medi-Kit
Time Unit Consumption:
Use 0536 1 Byte
Alien Technology:
1. Sonic Pistol
Accuracy:
Auto Shot 0824 1 Byte
Snap Shot 0825 1 Byte
Aimed Shot 0826 1 Byte
Time Unit Consumption Rate:
Auto Shot 0827 1 Byte
Snap Shot 0828 1 Byte
Aimed Shot 0829 1 Byte
2. Pistol Power Clip
Power 0850 1 Byte
Rounds 0860 1 Byte
3. Sonic Blasta Rifle
Accuracy:
Auto Shot 07B8 1 Byte
Snap Shot 07B9 1 Byte
Aimed Shot 07BA 1 Byte
Time Unit Consumption Rate:
Auto Shot 07BB 1 Byte
Snap Shot 07BC 1 Byte
Aimed Shot 07BD 1 Byte
4. Blasta Power Clip
Power 07E4 1 Byte
Rounds 07F4 1 Byte
5. Sonic Cannon
Accuracy:
Auto Shot 074C 1 Byte
Snap Shot 074D 1 Byte
Aimed Shot 074E 1 Byte
Time Unit Consumption Rate:
Auto Shot 074F 1 Byte
Snap Shot 0750 1 Byte
Aimed Shot 0751 1 Byte
6. Cannon Power Clip
Power 0778 1 Byte
Rounds 0788 1 Byte
7. Disrupter Pulse Cannon
Accuracy:
Auto Shot 0890 1 Byte
Snap Shot 0891 1 Byte
Aimed Shot 0892 1 Byte
Time Unit Consumption Rate:
Auto Shot 0893 1 Byte
Snap Shot 0894 1 Byte
Aimed Shot 0895 1 Byte
8. Disrupter Ammo
Power 08BC 1 Byte
Rounds 08CC 1 Byte
9. Thermal Shok Launcher
Accuracy:
Auto Shot 08FC 1 Byte
Snap Shot 08FD 1 Byte
Aimed Shot 08FE 1 Byte
Time Unit Consumption Rate:
Auto Shot 08FF 1 Byte
Snap Shot 0900 1 Byte
Aimed Shot 0901 1 Byte
10. Thermal Shok Bomb
Power 0928 1 Byte
Rounds 0938 1 Byte
11. Sonic Pulser
Power 095E 1 Byte
12. MC Reader
Time Unit Consumption Rate:
Use 09DD 1 Byte
13. Vibro Blade
Power 060E 1 Byte
14. Thermic Lance
Power 0644 1 Byte
15. Heavy Thermic Lance
Power 067A 1 Byte
I have found some anomalies when altering weapon data. If you had
changed the soldier firing accuracy to 255 and the weapon accuracy to
255 as well, it'll result a negative accuracy. So, if you change the
soldier firing accuracy to 255, don't set the weapon accuracy for more
than 64 (100% Accuracy).
Shooting mode for weapon can be added or removed. To add a shooting
mode, just change the Accuracy and Time Unit Consumption value at the
corresponding offset. To remove a shooting mode, just change both
values to 00.
----------------------------------------------------------------------
6. Credit
----------------------------------------------------------------------
Special thanks to:
-MicroProse, for making such a great tactical game series.
-Benjamin Peterson, for writing Advance HeX Editor.
----------------------------------------------------------------------
7. Copyright Statement
----------------------------------------------------------------------
This document is copyright of Agus Kurniawan, 2001. This document is
intended to be posted only on GameFAQs and may not be posted on other
site. X-COM Colector Series is a trademark of MicroProse Entertainment
1999. Advance HeX Editor is copyright of Benjamin Peterson, 1998.