hack02.txt - Hacking SFC Scenario Files - by Troy H. Cheek This file downloaded from http://www.cheek.org troy@cheek.org Last updated February 24, 2000 The scenario files are found in the primary StarFleet Command folder under assets/scripts. The filename format is something like xxx_NAME. The filename extension is always scr. NAME is, of course, the name of the scenario. The xxx describes the type of scenario or the race it belongs to as follows: Fed Federation elite campaign mission Gen General campaign mission (any race, can repeat) Gor Gorn elite campaign mission His Historical mission (skirmish mode only) Hyd Hydran elite campaign mission Kli Klingon elite campaign mission Lyr Lyran elite campaign mission Mul Multiplayer skirmish Rom Romulan elite campaign mission Tec Technical mission (at Academy) Tst Test missions that weren't supposed to be distributed Tut Tutorial mission (at Academy) Uni Unique campaign mission (see it only once) These naming conventions are not always followed. There is some sort of internal marker that the game engine looks for which determines what races can play a scenario, when, and how often. I believe that all scr files are scanned and logged in the scripts.lst file. If the naming convention continues as is, we should someday see the following: Ori Orion Pirate elite campaign mission Kzi Kzinti elite campaign mission I admit I might be just giving in to wishful thinking. :-) For hacking the files, I use GEMHEXED on my Atari Falcon030. Since it's unlikely that any of you have a Falcon, any "hex" editor which can load and save a file in "binary" format should work. What you most definitely don't want is a word processor that changes tabs into spaces and saves in its own special format. As a precaution, always make a backup file before you make any changes. If you want your new file to take the place of the old one, save it with the same name as the old one. If you want the new file to exist in addition to the old one, make sure to give it a new, unique game. I know that sounds simple, but I've personally messed it up more than once. Only some of the scenario files can be hacked with the method given here. This is because many scenarios do not have pre-defined ships, but rather generate them on the fly based on the BPV of your fleet, your skirmish customization options, your empire's current enemy race, your current location, and our old friend Mr. Random Numbers. If ships are listed in the scenario file, and if you can find them, then you can change them. Keep in mind that this may completely destroy the play balance, make the scenario unwinnable, or otherwise screw up a perfectly good game. Start up your hex editor and load a scenario file. The ships are usually listed towards the middle to end area. Finding them is the hard part. Some search strings to look for: "F-" Federation (or first letter of any race, including Orions) "PL" Planet "M-" Monster "GenuineIntel" I think these are put in by some compilers, and not "AuthenticAMD" put in by others, but I usually find them just after "AVtString" the ship lists, or at least in the general area. Once you find the list, you have to figure out what it means. The list may contain all, some, or none of the ships found in a scenario. It may contain only bases, listening posts, and planets. Once you find the ship list, use your hex editor to change the ship type from what it is to what you want it to be. Suppose you've found a F-FFG. Change the "FFG" to "CAD+" and save the file. You've gone from a frigate to a heavy drone cruiser in seconds! Note that F-FFG and F-CAD+ do not have exactly the same number of characters. Each entry in the ship list is usually padded, though sometimes it isn't. As long as there's at least one null (x00) character between each ship in the listing, changes should work. The scenarios that come with SFC seem to have every entry padded out to 8 bytes, so no problems there. Custom scenarios don't seem to always follow this. You can also change the mission name, briefing text, communications panel text, and any other text that you want. Just make sure the new text isn't longer than the old, and watch out for the nulls. The play area map is the section of code that contains a lot of "..." characters. You can rearrange where ships and other features will appear in the scenario by moving the letters and numbers around. The final bit of advice is to make sure that the new file is exactly the same length as the old file. If it isn't, you messed up somewhere and I'm pretty sure it won't work. Using these techniques, I was able to take the Repair Rendevous scenario included with the SFC Demo and create Repair Redux and Repair Drone. Not the most original scenarios in the world, but they worked. I know this info is fairly sparse, but if this doesn't give you enough to get started, you really shouldn't be messing with the save game files anyway.