X-COM: Terror from the Deep Hacking Guide version 1.0 By: whatever aizen_myouou@zdnetonebox.com ---------------------------------------------------------------------- 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.