Welcome to Librarium Online!
Join our community of 80,000+ members and take part in the number one resource for Warhammer and Warhammer 40K discussion!
Registering gives you full access to take part in discussions, upload pictures, contact other members and search everything!
Posted this over a few boards out there, and thought I might drop it here too.
CHR download at The Underdogs
Keyboard command list on Sarna.net
DosBox - a DOS emulator for those with too fast computers
My self-executable hack:
Download site 1
Download site 2
And for those with too much time on their hands:If anybody of you read it this far, could you help me on those offsets I'm not sure about their function? THX.Over the entire Internet there is only a single tutorial concerning savegame and mech edition for Crescent Hawks Revenge, and it does give only the briefest hint of into on the actual mech stats, telling people to "go and find it out themselves". Well, it's about time somebody not only did this but told all the folk out there how to do it.
Note: Altough I use the term "mech" here, the mentioned files and methods apply to the vehicles in the game as well. Yep, they are treated as mechs in all respect, including armor and hardpoints (that's critical slots for you, Battletech purists).
This file assumes that you treat the zero-byte just before the byte with the 'mech type signature as initial byte (00h).
Offsets listed apply to the mech 00 in mechtype.dat, which is Locust. To receive offsets for data of subsequent mechs, just add 96h x number of mech in the string. In mechtype.dat the mechs are listed in order determined by their ID numbers, while in savegame.dat it is determined by mechs present in each lance and the save slot that was used. Please remember that they are listed as hexadecimal, not decimal values, and therefore offset 20 means 32nd byte, offset 95 - 150th byte etc.
All Mech names are stored in the file revenge.exe as plain text data, beginning on the offset 03B056. (BTW: List of pilot names begins just after). You can change them, but it would be better to never exceed the length of the original name. If the desired name is shorter then the one replaced, then replace the obsolete letters with spaces.
The format presented here is used in the file savegame.dat with the mechs in your saved games as well as in mechtype.dat, where the game has all its mech data stored. Each data string contains EXACTLY 150 bytes (96 h), no more no less.
If you want to quickly find a Mech in the mechdata.dat, you can easily do it by applying the following data to the search field of your hex editor: 00[Mech ID][Mech speed walking][optionally Mech speed running] -this is practically a signature unique to each type of a Battlemech.
00 - Looks like this byte is Friend-or-Foe identification, where 00 means "enemy" and 01-"friendly" This is only my guess, though. Another guess might be that it is actually indicator of 'Mech functionality status (00-in repair, 01-functional).
01 - Mech ID number - determines name displayed during the game (explained later)
02 - Speed (Walking)
03 - Number of Jump Jets
04-0B - Current structure (as per Max Structure, below)
0C-16 - Current armor (as per Max Armor, below)
17 - Head
18 - Left Arm
19 - Left Torso
1A - Center Torso
1B - Right Torso
1C - Right Arm
1D - Left Leg
1E - Right Leg
1F - Head
20 - Left Arm
21 - Left Torso
22 - Center Torso
23 - Right Torso
24 - Right Arm
25 - Left Leg
26 - Right Leg
27 - Left Torso rear
28 - Center Torso rear
29 - Right Torso rear
2A-37 Data not deciphered! Seems that this part of the string is comprised mostly of zeros and changes along with the weapon outfit (and if it does not change this part of the data string does not change either). I don't know what it really does nor do I have any real clues on it.
Ammo data are recorded on two bytes each. The first byte contains the amount of ammo remaining, whilst the second is always empty.
36-53 Weapon ammo (in rounds), as follows:
38-39 Autocannon/2 ammo
3A-3B Autocannon/5 ammo
3C-3D Autocannon/10 ammo
3E-3F LB 10-X Autocannon ammo
40-41 Gauss Rifle ammo
42-43 Autocannon/20 ammo
44-45 Machine Gun ammo
46-47 LRM-5 ammo
48-49 LRM-10 ammo
4A-4B LRM-15 ammo
4C-4D LRM-20 ammo
4E-4F SRM-2 ammo
50-51 SRM-4 ammo
52-53 SRM-6 ammo
54 - Number of Heat Sinks that are built into the engine. Normally in BT it is mech speed*tonnage/25, rounded down, unless the Mech has less heat sinks then this number. In CHR, however, this value does also never exceed 10.
Note: There is NO place where Mech's total number of Heat Sinks is recorded. It is a sum of the HS built into the engine and those mounted on the hardpoints.
Each byte represents a single hardpoint. In case if some weapon takes up more then one hardpoint, appropriate number of subsequent slots should be left empty. You should also leave one free hardpoint for each of the Mech's Jump Jets.
55 - Head hardpoint
56-5D - Left Arm hardpoints
5E-69 - Left Torso hardpoints
6A-6B - Center Torso hardpoints
6C-77 - Right Torso hardpoints
78-7F - Right Arm hardpoints
80-81 - Left Leg hardpoints
82-83 - Right Leg hardpoints
84 - Mech tonnage
85 - Zero in all known cases.
86-87 - These bytes are "clean" in case of mechs stored in Mechtype.dat as well as those that have not seen combat. They might mean any of the following:
Some of Engine/Gyro/Sensor status
Warrior experience (slim possibility, cause Warrior stats are recorded elsewhere in the file)
Something else? (But what!!!??? Pretty much everything else is covered!!!
88 - Sprite ID - determines the set of graphics used by the game to draw the Mech, in other words this makes Crusader look like Crusader and not a mobile HQ or a Locust. The game often uses same set of graphics for more then one Mech. List of sprite ID's is on the end of document. Please note that altough the ID's of the Mech and Vehicle sprites might be the same, but there seem to be separate lists for them, so nothing like Mech with vehicle graphics or vice versa does really happen.
89-8A - In mechtype.dat these bytes always have a value of 00 04. In savegame.dat their value can vary, but seems to never exceed 00 04. Don't really know, maybe this represents the unit state or something.
8B - Don't know. AFAIK, zero at all times.
These bytes determine various upgrades installed, for example CASE, BAP, Double Heat Sinks etc. Most of them seems to work as if they were on/off switches, with value of 00 meaning not present and 01 - installed.
8C - Most definitely it sets Listen-Kill missiles.
8D - This one sets the Beagle Active Probe.
8E - Triggers Arrow IV TAG
8F - Enables Improved Accuracy
90 - This byte is responsible for Double Heat Sinks.
91 - Trigger for the CASE.
92 - This determines the MechWarrior's name. List of Mechwarrior names is at the end of document.
93 - Experience. As follows:
00 - Green
01 - Regular
02 - Veteran
03 - Elite
94 - This value determines the MechWarriors allegiance. Can assume following values:
02-Fed. Suns Cav. Sword of Light
95 - For me it looks like identification of unit type or its movement mode. Always depends on unit type:
00 - Mech
01 - Hovercraft
02 - Tank
03 - Infantry
04 - APC
05 - Ammo Carrier
06 - Mobile HQ
Hardpoint content list (*'s mean that number of subsequent hardpoints equal to number of *'s must be left empty - or at least it should be...)
00 Empty Slot
01 Small Laser
02 Small Pulse Laser (Not used anywhere in game, but weapon name listing in the revenge.exe indicates its presence here)
03 Medium Laser
04 Medium Pulse Laser
05 Large Laser *
06 Large Pulse Laser *
07 ER Large Laser *
08 PPC **
09 ERPPC **
0B AC/5 ***
0C AC/10 ******
0D LB 10-X*****
0E Gauss Rifle ***
0F AC/20 *********
10 Machine Gun
11 LRM 5
12 LRM 10 **
13 LRM 15 ***
14 LRM 20 ****
15 SRM 2
16 SRM 4
17 SRM 6 *
18 Heat Sink
List of Mech and vechicle ID's (the IS Mechs with + and * after the name are upgraded to Level 2 tech):
0F HERMES II
14 PHOENIX HAWK
1C SHADOW HAWK
27 THUNDER BOLT
37 ROMMEL TANK
3A MOBILE HQ
3C AMMO CARRIER
40 JUMP INFANTRY
44 MAD CAT
4C PHOENIX HAWK+
4D PHOENIX HAWK*
57 SHADOW HAWK+
List of MechWarrior names:
21 Sgt. Krall
00 COMMANDO, FIRESTARTER, SPIDER, STINGER, VALKYRIE, WASP
10 CICADA, JAVELIN, JENNER, LOCUST, OSTSCOUT
20 BLACKJACK, HATCHETMAN, HERMES II, WHITWORTH
30 ARCHER, CRUSADER, GRASSHOPPER, JAGERMECH, ORION, THUNDER BOLT, WARHAMMER
40 DRAGON, OSTOL, OSTROC, QUICKDRAW, RIFLEMAN, URBANMECH
50 CENTURION, ENFORCER, HUNCHBACK, PHOENIX HAWK, TREBUCHET, VINDICATOR
60 DERVISH, GRIFFIN, SCORPION, SHADOW HAWK, WOLVERINE
90 MAD CAT
A0 ASSASSIN, CATAPULT, CLINT, MARAUDER, PANTHER, STALKER, VULCAN
B0 ATLAS, AWESOME, BANSHEE, BATTLEMASTER, CHARGER, CYCLOPS, GOLIATH, VICTOR, ZEUS
50 MOBILE HQ
70 ROMMEL TANK
80 DRILLSON, PEGASUS
90 GALLEON, SKULKER
D0 AMMO CARRIER
D8 INFANTRY, JUMP INFANTRY
List of advanced Inner Sphere Mechs and their equipment:
LRM/SRM - Long Range Missile / Short Range Missile
LPL/MPL/SPL - Large Pulse Laser / Medium Pulse Laser / Small Pulse Laser
ERLL - Extended Range Large Laser
ML/SL/LL - Medium Laser / Small Laser / Large Laser
PPC - Particle Projection Cannon
ERPPC - Extended Range Particle Projection Cannon
MG - Machine Gun
AC - Autocannon
LB - LB-X "Shotgun" Autocannon
Gauss - Gauss Rifle
DHS - Double Heat Sinks
BAP - Beagle Active Probe
() - Cellular Ammunition Storage Equipment
Crescent Hawk's Revenge Advanced Inner Sphere Mechs
20 Tons: Locust* : Undocumented [Guess: 2LRM5, same as 3050 LCT-3D]
Locust+ : Undocumented [Guess: ML 4SL]
Wasp* : 2SL MPL
Wasp+ : MPL SRM2 () [Same as 3050 WSP-3M]
25 Tons: Commando* : 2SL SRM6 BAP
Commando+ : 2ML SRM6 ()
35 Tons: Jenner+ : 4ML SRM4 () [Same as 3050 JR7-K]
45 Tons: Blackjack+ : 2ERLL 2SRM4 ()
Phoenix Hawk* : 2MPL 2ERLL MG BAP ()
Phoenix Hawk+ : 2MPL 2ERLL DHS [Same as 3050 PXH-3K]
55 Tons: Griffin* : SL LPL LRM20 DHS
Griffin+ : SL ERPPC LRM20 () DHS [Same as 3050 GRF-3M]
Shadow Hawk+ : 3ML LB10X LRM20 SRM2 () DHS
60 Tons: Dragon+ : 3ML ERPPC LRM10 () DHS
Rifleman* : 2ML 2LL 2ERPPC DHS [Same as 3050 RFL-5D]
Rifleman+ : 2ML 2LL 2AC10 () DHS
70 Tons: Warhammer* : 2MPL 2ERPPC SRM4 () DHS
Warhammer+ : 2MPL 2ERPPC SRM6 DHS
75 Tons: Marauder+ : 2MPL 2ERPPC Gauss () DHS [Same as 3050 MAD-5S]
85 Tons: Battlemaster+ : 6ML ERPPC BAP SRM6()
The Locust* and Locust+ only appear in the Pacifica Training Ground Simulator that you get access to once you've completed the game.
All number-crunching done by The Fifth Horseman (email@example.com).
Mech list entries 0A-0F by The Fifth Horseman.
Kudos to the author of the original article for list of Mech ID's and stats on advanced Inner Sphere Mechs.