UFO/XCOM saved game editors SOLDIER.EXE documentation Program requirements: * 286 computer running DOS 3.0 or later (talk about crazy ... UFO needs a 386, so this should be redundant... :) ) * Memory - not sure how much, so call it 640K :) ;) (actually depends on how many soldiers there are in the file.) Note that, within this document, all statements about "UFO" also apply to XCOM. This program has been tested with the UFO saved game; it should work with XCOM games too. This program is FREEWARE. NO warranties are made as to its suitability to any particular task, or to any limitations thereof. You may freely copy, distribute, etc. this program. You may NOT decompile, reverse engineer, etc. the code of this program. Should you have any suggestions, send them to me and I'll try to incorporate them into the next version. The source code is not likely to be released, but I might be persuaded... :) Having got that out of the way... This program is intended to be used as an editor of the SOLDIER.DAT portion of the UFO saved game. It should be fairly straightforward to use. If you need any help, F1 will bring up a (rather terse) help screen. Upon loading the program, you will be prompted to enter the saved game you wish to edit. If there is no saved game in that directory, you will be told as much. You should run this program whilst in the UFO directory, but the SOLDIER.EXE file does not have to be in that directory - anywhere in the DOS path is fine. When typing in your choice, remember that typing "1" to "9" corresponds to that same saved game; typing "0" corresponds to saved game "10". To exit the program, press ESC at the point where you are choosing a field to edit. You will be asked if you wish to save the changes. This should be enough information on how to use the editor - if not, let me know. My Internet addresses, and their pros/cons, are: sjlam1@mfs01.cc.monash.edu.au (less space for incoming mail; read more often) lamble@yoyo.cc.monash.edu.au (more likely to get through to me; I only usually use this account for FTP'ing, though. In other words, expect a response from the mfs account.) For those of you who just want to maximise statistics and get out of the *** program, load the editor as usual, and hit F10. Version 2.1 of the base editor incorporates mouse support. I do not believe, however, that the number of fields in the soldier data structure warrants the addition of mouse support. I also received a request to make the program a TSR. If you think *you* can modify a Turbo Pascal program so that it won't crash the computer whenever it's called as a TSR, go right ahead. Speaking for myself, though, I'm not even going to try. :) :) :) Maybe, someday, I'll port the source code to C - then again, maybe not. A word of warning: As of January 1 1995, AARNet (Australian Academic Research Network) will be changing (read: increasing) its charges. Instead of charging a FLAT CONNECTION RATE, there will be a PER MEGABYTE CHARGE. "So what?" you might ask. Well, AARNet is the route Monash University uses to link to the InterNet. It is still unclear as to how this will affect the students' access to the InterNet, but FTP access is almost certainly "out"; mail *might* be cut; etc. As a result, you can *try* the InterNet addresses during '95, but you might get a bounced message. My course will *definitely* finish by the end of 1999, and, possibly (if I choose not to do honours) in 1998. Therefore, even if the mail addresses hold through 1995, they will *not* work during 2000 or the 21st century. (Yes, I do hold to the idea that 2001 is the first year of the 21st century...:). To summarise this paragraph: The mail addresses might not work after this (1994) year. If they do, they might not during 1999. They definitely will not during and after 2000. Revision History ~~~~~~~~~~~~~~~~ Version 1.0 ~~~~~~~~~~~ Initial release - so many bugs, it was released as public domain :). It did work, but not completely :(. Version 1.1 ~~~~~~~~~~~ Released as freeware. (ie, you *could* decompile the first version legally, but not this version or any later version.) Note that the record structure of SOLDIER.DAT *is* available on request. The first release would leave SOLDIER.DAT as-is, and save the new file as SOLDIER.NEW. This version now renames SOLDIER.DAT to SOLDIER.BAK, and SOLDIER.NEW to SOLDIER.DAT (in that order... :)). Note that, due to these changes, DOS 3.0 or higher is now required. (Then again, if you're playing UFO, you're probably using a DOS version later than 3.0 anyway...) One semi-unidentified field has been clarified, as has Bravery. The first release would allow you to edit only those records found in the initial grouping. Any unused records, *plus those after them*, would be ignored. This problem has been fixed. Version 1.11 ~~~~~~~~~~~~ Minor modifications - the stats are now limited to a (total) value of 200, rather than 255. This should fix the problem of "wrap around". In addition, you can now increase Psi Skill to 200, rather than the value of Psi Strength. These changes *do* carry over to the F10 key. This modification also fixed the problem of low energy - ie, you would have a maximum energy of 255, but usually only about 17 or so available for use. Don't ask me why this worked - it just did. Version 1.12 ~~~~~~~~~~~~ Minor cosmetic changes. Interface changed - in this version, you press ESC to finish, not ENTER. This was done for two reasons: to make the interface of this editor similar to the base editor; and to ensure that the program did not finish after entering a value if ENTER was pressed twice (or held down for too long). Can now specify the saved game to edit on the command line. Version 1.20 ~~~~~~~~~~~~ Added ability to resurrect dead soldiers. Known 1.20 problems: ~~~~~~~~~~~~~~~~~~~~ This is *really* starting to cheese me off. There are *still* ten unknown fields. The one labelled "????" in the program is entirely unknown, not necessarily related to the base as was stated earlier. After going through some five different versions, and after three or so months, you would at think at least *one* of these would have been identified by now! C'mon, folks - if you know what *any* of these fields represent, let me know!