DOCUMENTATION FILE FOR XWEDIT VER 1.0 XWEDIT is a combined MISSION editor and PILOT file editor for LucasArts' X-WING space combat simulator. It is simple, easy to use, and provides help for those starfighter pilots (like me) who are unable to successfully complete some of the X-Wing missions. It also helps those who want more credit for tried-but-failed mis- sions, and a reprieve from losing tour of duty points, ratings, etc. every time their pilot gets killed or captured. XWEDIT is a windowed, menu-driven editor. Rather than forcing the user to keep track of unique data values and byte offsets into the structured records, all you do is make menu selections or enter simple numerical values. XWEDIT supports a mouse device. When XWEDIT starts, it checks your system for a mouse driver. If a driver is found, a mouse cursor will appear in the upper left area inside a menu window. If no mouse cursor is seen, a mouse driver was not found. To use the mouse, simply "point and click" on menu items using the LEFT mouse button. At present, the right button is not supported. Please spend a few minutes reading this file before running XWEDIT. If you garble a mission or pilot file, just exit XWEDIT without saving your file. INSTALLATION Installation is easy. Just copy the XWEDIT.EXE file (and this README.TXT file if desired) to any directory that is included in the system path. Run XWEDIT from the directory containing the mission or pilot files you want to edit. See below for paths to these files. XWEDIT uses 80x25 color text mode (DOS "mode co80" command). Most computers run this automatically so no special setup is necessary. XWEDIT has been tested in both expanded and extended memory environments and no memory conflicts have been found. With some video systems, the hilighted menu bar will flicker a little when the mouse cursor is placed on top of it. This is due to the clashing refresh rates of the hilighted menu bar and the mouse cursor. BACKUP YOUR ORIGINAL PILOT OR MISSION FILE! BEFORE you edit ANY file, be sure to make a BACKUP of it. For example, if you want to edit the file "waistem.xwi", copy it to "waistem.org" or some other name you can remember. XWEDIT saves your original file under a temporary name (TMPxx.$$$). The temp file is NOT erased, just in case... Don't forget to erase the TMPxx.$$$ files from your system when done with your edits. XWEDIT does not save a mission or pilot file until told to do so, so if garble an edit, just exit XWEDIT without saving and start over. I have made every attempt to ensure that XWEDIT is bug-free and can process all current types of mission and pilot data files, but if an XWEDIT error occurs while reading or saving your data file, I hope you have that BACKUP you PREVIOUSLY made! MISSION AND PILOT FILENAMES AND DIRECTORIES The bottom of this file contains a listing of the mission filenames for each proving ground, historical and tour of duty mission. Note that the BRIEFING and MISSION files are different. Briefing files are suffixed as *.BRF, and mission files are suffixed as *.XWI. Editing a mission file does NOT change the briefing associated with it. Do NOT attempt to edit a briefing file! All mission files are stored in \xwing\mission. All pilot files are the same size and are suffixed as *.PLT. All pilot files are contained in \xwing. XWEDIT looks for the *.xwi and *.plt suffixes and if your input filename doesn't have one of these two, you will be prompted for the file type. XWEDIT makes simple checks on the file type, but these checks may not be foolproof. It is best to make sure you use the X-Wing naming format for mission and pilot files. MISSION FILE STRUCTURE Data is organized in X-WING mission files (*.xwi) into VEHICLE RECORDS and OBJECT RECORDS. Each vehicle record references a group of vehicles and specifies the vehicle type (X-Wing, TIE Fighter, etc), the name of this vehicle group (Alpha, Beta, Theta, etc), the number of vehicles in this group, the group's shooting accuracy, how active or aggressive the group is, the radar ID of this group (friendly, enemy, neutral), and numerous other parameters I haven't identified yet. Object records specify inanimate or non-vehicle objects (planets, mines, space probes, etc) found in the mission. XWEDIT performs edits on individual vehicle or object records in a mission file. Note the RECORD NUMBER of the vehicle or object you want to edit (using the XWEDIT summary feature) and then edit that record. RUNNING XWEDIT To run XWEDIT, type "xwedit" followed by the name of the mission or pilot file you want to edit (i.e., "xwedit waistem.xwi" or "xwedit ace.plt" for editing the mission file "waistem.xwi" or a pilot file called "ace.plt"). Just enter "xwedit" for a brief usage statement for the program. If begun with a filename, XWEDIT opens with a logo window. Hit any keyboard key or the LEFT mouse button to clear the logo. As soon as the logo window clears, XWEDIT will read your input file. As previously mentioned, XWEDIT will check the suffix of your filename and if it doesn't match the X-Wing file naming conventions for mission and pilot file types (*.xwi and *.plt), you will be prompted for the file type. If XWEDIT suspects that your file either isn't what you say it is or is somehow corrupted, you will not be allowed to proceed. Better safe than sorry... If you try to edit a valid file and XWEDIT halts with a file read or other file error message, please LET ME KNOW WHAT HAPPENED. It is always possible that the file structures I use for determining file type may have been changed by this or a future version of X-Wing. I'll be glad to analyze the problem and hopefully issue a "fix". Editing a file is painless. Just use the keyboard arrows or mouse to hilight the menu item you want, and press or the LEFT mouse button. Some prompts require you to enter a number value. Enter the number and press to log your change or press to exit the prompt with no change. SPECIAL NOTE TO MOUSE USERS: XWEDIT gives the mouse cursor priority over the menu item selection routines which use the keyboard arrows. Using this technique, the hilighted menu selection bar moves automatically with the movement of your mouse cursor. This avoids having to click twice on the menu item you want - once to hilight a menu item and once again to select the item for execution. The down side of this approach is that when you place the mouse cursor on a menu item and it becomes hilighted, the keyboard arrow keys cannot be used to move the hilighted menu bar. Therefore, to use the keyboard arrow keys and a mouse simultaneously, PLACE THE MOUSE CURSOR AWAY FROM ALL MENU SELECTION ITEMS WHEN USING THE KEYBOARD ARROW KEYS. Most menus and data entry windows can be exited by moving the cursor to the " - QUIT" area and pressing or clicking the LEFT mouse button. To exit the program, just out of the menu that opens when the program is started. When finished with all edits, SAVE your file -- PROVIDED your edits are what you want and PROVIDED you made a BACKUP of the original file! EDITING MISSION FILES With XWEDIT you can view a summary of all vehicles and objects active in the mission, edit several parameters for any vehicle or object, view data from the mission file not directly related to the vehicles and objects, and save the edited file. PLEASE READ: The Mission Editor and Object Editor are still analytical "works in progress". That is, I have not identified ALL parameters related to the vehicle and object data records. If XWEDIT finds a parameter or value that doesn't match anything in my database, you will see an "UNKNOWN TYPE" or "U/I Value or Level" message. Unless you want to experiment with these unkwown values, it is best to avoid changing them right now. If you do change them, note the original values so you can change them back if needed. Editing Mission Vehicle Records When editing a mission file, it is best to view a SUMMARY of the vehicle records first. To edit a vehicle record, note the RECORD NUMBER from the summary, and enter it when prompted after selecting "EDIT a VEHICLE RECORD". This version of XWEDIT allows you to edit the vehicle TYPE, the NUMBER of this type of vehicles, how IMPORTANT this group is to the mission, the SHOOTING ACCURACY, RADAR IDENTIFICATION, and ACTIVITY/AGGRESSIVENESS of this group, and finally you can edit the actual BINARY data in each record. Changing the vehicle TYPE allows you to substitute one type for another. For example, you can change a TIE Fighter into a TIE Bomber. Be careful if exchanging allied for enemy vehicles or vice versa. If you substitute an enemy vehicle for a friendly, you may get attacked! Its fun to substitute different types of enemy vehicles, i.e., a TIE Bomber for a TIE Interceptor and then see how the misson evolves. Changing the NUMBER of vehicles will obviously allow you to fight more or less bad guys. You can make the mission easier by just making fewer bad guys. Note that you must enter the number of bad guys. Altering the IMPORTANCE of a vehicle can be a little dangerous, but it can also help you complete a difficult mission. For example, if the mission requires that three vehicle groups be destroyed, change one of the groups to "NOT Critical to mission success". You can then succeed even if you don't destroy all of this group. Note that if ALL vehicles in the mission are changed to "NOT Critical to mission success" you will automatically complete the mission as soon as you start it. In other words, at least one vehicle must be destroyed, boarded, recovered, etc. in a mission to make things competitive. CAUTION: I have not fully identified all the IMPORTANCE levels, and you will notice that some of the IMPORTANCE labels are duplicated in the menu selection list. There are probably underlying differences between these "duplicate" levels, so use them with caution. For example, levels 3, 7, and 19 change vehicle IMPORTANCE to "Vehicle Must Be RECOVERED". Changing the vehicle ACCURACY alters the shooting accuracy. A low accuracy value means the bad guy may shoot, but will frequently miss you. Changing the RADAR IDENTIFICATION can be a little dangerous. For example, if you make an enemy vehicle into a friendly, but that vehicle is supposed to be destroyed in order to complete the mission requirements, you may NEVER complete the mission! Making a friendly vehicle into an enemy will cause it to fire on you. The "default" ID setting in the ID menu appears to make the vehicle(s) behave as you would expect them to. A TIE Fighter with a "default" ID setting will be an enemy. The AGGRESSIVENESS/ACTIVITY level determines how aggressive the vehicle is with regard to combat and flight patterns. If set to the higher levels (6-10) an enemy fighter will make charges at you while firing. Setting this variable to lower levels will "mellow out" the enemy and give you more chances to "take him out". Setting this level high for large enemy craft such as frigates or corvettes will likely cause you to be killed quickly. These are nasty vehicles when made aggressive. They will turn and fire all guns on you before you have time to react defensively. Note that the level ranges are different between fighter craft and large vehicles. To change this level you must enter a number value. Editing the vehicle RECORD STRUCTURE is VERY DANGEROUS. You can easily DESTROY a mission file by making changes in the record structure. BE CAREFUL!! Remember, if you garble a record, EXIT the program without SAVING! The VEHICLE COMMANDING and COMMAND VALUES are purely analytical readouts at this point and you cannot edit them except via the RECORD STRUCTURE Editor. They are the last four bytes in each vehicle record and my best guess is that they "alter" a vehicle's behavior. For example, when all four bytes are set to hex FF (255), the vehicle responds as expected via the TYPE and Radar ID settings (i.e., a TIE Fighter having an ID of enemy will attack you). Changing these last four bytes to values such as all 0's will cause an allied or neutral vehicle group to ATTACK you, and if you ask them to "report in" via the shift-r keys, they will tell you they are setting up for an attack run -- except it is directed toward you! That's the reason for the "May ATTACK If Armed Fighter Or Large Craft" message in the summary or edit windows. This may be how "pirates" are created out of allied or neutral X-Wings, Y-Wings, or A-Wings. Editing vehicle records can be fun. Personally, I like to change the TYPE, NUMBER, SHOOTING ACCURACY, and ACTIVITY/AGGRESSIVENESS values and then do "target practice". Just pick a favorite mission, and create 10 bad guys that aren't very good shots and aren't very aggressive. Take them out as desired. Editing Mission Object Records I have included an OBJECTS EDITOR as part of the MISSION EDITOR routines. You can edit the individual TYPES and NUMBERS of objects in a mission. Most of the mission objects are harmless -- planets, satellites, probes, buoys, etc. SPACE MINES are the exception -- they are LETHAL objects. They are the primary reason I built the Object Editor -- several missions contain too many mines and I needed to reduce their numbers. Use the Objects Editor using the same techniques used with the Vehicle Editor. View a summary of the mission objects and note the RECORD NUMBER of the object you want to edit. Enter this number when prompted for an edit. When selecting an object TYPE, you must enter the number corre- sponding to the object. For example, enter "49" when selecting the Death Star object. There are number ranges for several types of objects. I have not determined the differences between the various MINE objects (types 18 to 21). The NUMBER of objects can be changed, again by entering a number. Changing the number of MINES is not straightforward. X-Wing appears to multiply the NUMBER of objects by itself when calculat- ing the number of mines. For example, a mine object with a number of 2 will generate 4 mines. An object number of 3 will generate 9 mines. The object number for some inanimate objects such as planets appears to be IGNORED -- X-WING generates only 1 of such objects. EDITING PILOT FILES Many pilot parameters can be changed using the Pilot Editor. You can edit such parameters as: general pilot data including pilot rank, duty status, rating, and tour of duty total score; proving ground scores and levels completed for each vehicle (X-Wing, Y-Wing, and A-Wing); historical combat mission scores and completion flags for each vehicle; tour of duty completion medals and the Kalidor Crescent Awards including upgrades; tour of duty statistics including all mission scores, highest mission number completed records for each tour, making all tour of duty missions available as historical combat missions without completing them first, status changes in all tours (active, inactive, incomplete, etc); all laser and projectile usage summaries; and finally, all kill/capture summaries including totals for individual vehicles. Most of these parameters are straightforward and no explanation is needed. Many selections require you to enter a number -- scores, levels, etc. There are LIMITS to the values you can enter, so be reasonable with your entries. If your entry is rejected, the original data is retained. You will notice in the Individual Vehicle Kills or Captures menu listing (under the TOUR OF DUTY MENU) that there are FOUR MINES and TWO COMM SATS. I have not fully analyzed the differences between these vehicle types and I'm not even sure they are used in this version of X-Wing. The following list contains several things to be aware of when changing pilot file data: 1) Changing the last mission completed in a tour of duty will go into effect at the CHANGE TOURS desk. For example, if you change the last mission completed in tour 2 to mission 10, you must go to the CHANGE TOURS desk and select tour 2 mission 11 to proceed. 2) Setting a tour of duty status to COMPLETED will prevent you from accessing these missions. 3) The TOUR OF DUTY MENU item, "Edit Space Kills", allows you to change an INTERNAL X-Wing total kills accumulator. This item does NOT change the X-Wing pilot log "TOD Space Victories(Captured)" display values. X-Wing appears to sum all INDIVIDUAL vehicle kills and captures for these totals. For this reason, if you enter HUGE numbers of individual vehicle kills, the "TOD Space Victories(Captured)" totals will be VERY WRONG! Reviving A Killed/Captured Pilot PLEASE READ: When your pilot gets killed or captured, immediately exit X-Wing and run XWEDIT on your pilot file. Revive the pilot with XWEDIT to avoid losing scores, point, ranks, etc.! When your pilot gets killed or captured, your pilot file is "marked" to indicate this condition. All your active tours of duty are made "incomplete" and your "total craft lost" count is bumped up one. When you "revive" your pilot, X-Wing clears your total tour of duty score along with your pilot rating (rookie, ace, etc.) and rank. The XWEDIT Pilot Editor has a "REVIVE a Killed/Captured Pilot" menu item. By selecting this option, XWEDIT will check your pilot file for a "killed" or "captured" status. If this condition is found, it will then reinstate your pilot back to an "alive" status with no loss of scores, ratings, rank, or tour of duty activity status. Your record for total space craft lost will be cleared. FINAL COMMENTS XWEDIT was not written to allow one to cheat his/her way through X-Wing. It is intended as a tool to allow your progression through X-Wing when confronted with an impossibly-difficult mission. Please use it with this attitude in mind. The same attitude should be used with regard to editing pilot files. Don't give yourself credit for a mission unless you've tried it. For me, doing any less than this takes the "spirit" (or "force" - sorry for the pun) out of the game. As much time as I spent analyzing data files and debugging source code, it is possible that an "undocumented feature" will show its ugly head. If any bugs appear, or you discover any X-Wing features that I haven't found and used in XWEDIT, or you have any comments or questions concerning this program (and yes, I can take a little criticism too..), please contact me at: CompuServe: 70733,1562 Internet E-Mail Address: sikes@meediv.lanl.gov Phone: (505)-869-3522 The XWEDIT X-Wing Mission & Pilot File Editor System is FREEWARE. I do not ask for any compensation for its use. Feel free to distribute it. The only thing I ask is that you DO NOT MODIFY this readme file or the XWEDIT.EXE program. When distributing, PLEASE ALWAYS INCLUDE A COPY OF THIS README FILE ALONG WITH THE EXECUT- ABLE. Thank you. ********************************************************************** ********************************************************************** * LISTING OF PROVING GROUND, HISTORICAL, AND TOUR OF DUTY MISSIONS * * All comments surrounded by a * * ********************************************************************** ********************************************************************** ******************************************************* * PROVING GROUND MISSIONS * ******************************************************* level1.xwi * Proving Ground Mission File-Level 1 * level2.xwi * Proving Ground Mission File-Level 2 * level3.xwi * Proving Ground Mission File-Level 3 * level4.xwi * Proving Ground Mission File-Level 4 * level5.xwi * Proving Ground Mission File-Level 5 * level6.xwi * Proving Ground Mission File-Level 6 * level7.xwi * Proving Ground Mission File-Level 7 * level8.xwi * Proving Ground Mission File-Level 8 * ******************************************************* * HISTORICAL COMBAT MISSIONS * ******************************************************* ******* X-WING HISTORICAL COMBAT MISSIONS ******** waistem.xwi * X-Wing Historical Mission 1 * max4.xwi * X-Wing Historical Mission 2 * satlit1.xwi * X-Wing Historical Mission 3 * max5.xwi * X-Wing Historical Mission 4 * halley.xwi * X-Wing Historical Mission 5 * keyan.xwi * X-Wing Historical Mission 6 * ******* Y-WING HISTORICAL COMBAT MISSIONS ******** ywastem.xwi * Y-Wing Historical Mission 1 * ywaistem.xwi * Y-Wing Historical Mission 2 * hello.xwi * Y-Wing Historical Mission 3 * max7.xwi * Y-Wing Historical Mission 4 * wyresc2.xwi * Y-Wing Historical Mission 5 * ackbar.xwi * Y-Wing Historical Mission 6 * ******* A-WING HISTORICAL COMBAT MISSIONS ******** awaistem.xwi * A-Wing Historical Mission 1 * waaggr1.xwi * A-Wing Historical Mission 2 * max2.xwi * A-Wing Historical Mission 3 * convoy2.xwi * A-Wing Historical Mission 4 * max15.xwi * A-Wing Historical Mission 5 * warecon1.xwi * A-Wing Historical Mission 6 * ******************************************************* * TOUR OF DUTY MISSIONS * ******************************************************* ******** TOUR OF DUTY 1 MISSIONS *********** defect.xwi * Tour Of Duty 1 Mission 1 * id-recon.xwi * Tour Of Duty 1 Mission 2 * wxrgard1.xwi * Tour Of Duty 1 Mission 3 * wxprot2.xwi * Tour Of Duty 1 Mission 4 * attackxy.xwi * Tour Of Duty 1 Mission 5 * max13.xwi * Tour Of Duty 1 Mission 6 * max10.xwi * Tour Of Duty 1 Mission 7 * attack3.xwi * Tour Of Duty 1 Mission 8 * sullust.xwi * Tour Of Duty 1 Mission 9 * ack-hard.xwi * Tour Of Duty 1 Mission 10 * cygnus.xwi * Tour Of Duty 1 Mission 11 * max20.xwi * Tour Of Duty 1 Mission 12 * ******** TOUR OF DUTY 2 MISSIONS *********** starsndb.xwi * Tour Of Duty 2 Mission 1 * rescue1.xwi * Tour Of Duty 2 Mission 2 * ystrike5.xwi * Tour Of Duty 2 Mission 3 * wycapt2.xwi * Tour Of Duty 2 Mission 4 * max9.xwi * Tour Of Duty 2 Mission 5 * crndrft1.xwi * Tour Of Duty 2 Mission 6 * max18.xwi * Tour Of Duty 2 Mission 7 * max1.xwi * Tour Of Duty 2 Mission 8 * std1.xwi * Tour Of Duty 2 Mission 9 * std2.xwi * Tour Of Duty 2 Mission 10 * leia.xwi * Tour Of Duty 2 Mission 11 * intcep1.xwi * Tour Of Duty 2 Mission 12 * ******** TOUR OF DUTY 3 MISSIONS *********** defend2.xwi * Tour Of Duty 3 Mission 1 * yraid.xwi * Tour Of Duty 3 Mission 2 * max14.xwi * Tour Of Duty 3 Mission 3 * max17.xwi * Tour Of Duty 3 Mission 4 * wyresc3.xwi * Tour Of Duty 3 Mission 5 * larry1.xwi * Tour Of Duty 3 Mission 6 * larry2.xwi * Tour Of Duty 3 Mission 7 * larry3.xwi * Tour Of Duty 3 Mission 8 * assault2.xwi * Tour Of Duty 3 Mission 9 * max19.xwi * Tour Of Duty 3 Mission 10 * defend1.xwi * Tour Of Duty 3 Mission 11 * dstar1.xwi * Tour Of Duty 3 Mission 12 * dstar2.xwi * Tour Of Duty 3 Mission 13 * dstar3.xwi * Tour Of Duty 3 Mission 14 * **************** END OF README *********************