home *** CD-ROM | disk | FTP | other *** search
/ Cheats, Hacks & Hints / Cheats_Hacks_and_Hints.bin / games / xwing / xbrf / xbrfasm.txt < prev   
Text File  |  1993-08-28  |  22KB  |  487 lines

  1. +---------------------------------------------------------------------------+
  2. |                                                                           |
  3. |  X-Wing Briefing Assembler Kit                                            |
  4. |                                                                           |
  5. |                 Written by Tim Scott (tscott@plains.nodak.edu)            |
  6. |                                                                           |
  7. |                                                                8/29/93    |
  8. +---------------------------------------------------------------------------+
  9.  
  10. xbrfasm is freeware.  It can be freely distributed as long as this file
  11. accompanies it and the executable is not modified in any way.
  12.  
  13. Using the X-Wing briefing assembler kit (xbrfasm) it is possible to create
  14. mission BRIEFINGS for the LucasArts game from scratch.  I downloaded the
  15. X-Wing design kit from wuarchive.wustl.edu and saw how limited it
  16. was and how toasted the briefings became after 'editing' them when I
  17. decided to come up with my own development kit.  This is the first part
  18. of a set of tools I plan to create to use for modifying X-Wing.
  19. Future tools will include a disassembler for stock mission briefings and an
  20. assembler/disassembler for the missions themselves.
  21.  
  22. If you have any comments or suggestions for xbrfasm feel to drop a line
  23. to the author at the address given above.
  24.  
  25. ** IN ORDER TO USE THIS PROGRAM YOU **MUST** READ THE INSTRUCTIONS. **
  26.  
  27. In order to create a briefing you must learn the assembler's commands
  28. and variable assignments.  Failure to do so will not only result in
  29. no briefing but most likely in frustration at not understanding what
  30. is going on.
  31.  
  32. Disclaimer: Use this program at your own risk.  I've tried to make it as
  33. safe and non-destructive as possible.  If it screws up any of your data
  34. don't blame me.
  35.  
  36. 'Nuff said.  Onto the program's description.
  37.  
  38. 1. PROGRAM EXECUTION:  In order to create a briefing, you must first have
  39. a briefing listing in the form of a text file.  This file contains all
  40. the commands and parameters according to how you want your mission
  41. briefing set up.  Any old DOS editor should work provided it sticks in
  42. newline characters at the end of each line.  I personally use JOVE 4.14
  43. for DOS which allows me to indent and all that.
  44.  
  45. This text file must be in the form "filename.b" (without the quotation
  46. marks, course.)  I chose the ".b" extension to signify that the file
  47. is a Briefing listing.  When run, the assembler will simply add the
  48. letters "RF" to the name of the file thus creating the name of the
  49. assembled briefing (therefore, "defect.b" generates the assembled
  50. briefing file "defect.brf".)
  51.  
  52. To assemble, simply type:
  53.  
  54.     xbrfasm filename.b
  55.  
  56. at the DOS prompt.
  57.  
  58. This program will not overwrite mission briefings that already exist!
  59. If your briefing text file is named "WAZOO.B" and "WAZOO.BRF" exists
  60. in the directory you are currently in, the assembler will exit without
  61. writing.
  62.  
  63. 2. ASSEMBLER COMMANDS:  The assembler has several commands (each described
  64. in detail below) the guide it's operation.  These commands are:
  65.  
  66.     :dump_data            Display a basic dump of the data read in from
  67.                         the briefing file.
  68.  
  69.     :setup,:esetup        Begin/end setup section of the briefing file.
  70.  
  71.     :object_data,        Begin/end object_data section of the briefing.
  72.         :eobject_data
  73.  
  74.     :briefing_setup,    Begin/end setup section of the briefing.
  75.         :ebriefing_setup
  76.  
  77.     :page_data,            Begin/end page_data section of the briefing.
  78.         :epage_data
  79.  
  80.     :tag_data,            Begin/end tag_data section of the briefing.
  81.         :tag_data
  82.  
  83.     :text_data,            Begin/end text_data section of the briefing.
  84.         :etext_data
  85.  
  86.     :efile                End of briefing file.
  87.  
  88. Note that each command is immediately preceded by a colon ":" and
  89. is to be on a line by itself.
  90.  
  91. Of all the commands, :setup,:esetup should come before the other
  92. data definition commands and :efile must be the final command in
  93. the file.  I suggest using the above order to create a sort of
  94. standard if you ever decide to share you briefing sources with
  95. others.
  96.  
  97. 2.1 :dump_data COMMAND:  The :dump_data command dumps all the information
  98. given in the briefing file after it has been successfully read (ie. the
  99. assembler encounters no problems in the reading of the file.)  This
  100. lets the programmer check to see where his/her data is being placed and
  101. if it is being read correctly.
  102.  
  103. 2.2 :setup COMMAND:  The :setup command allows the programmer to set
  104. an initial variable and a variable that really doesn't belong anywhere
  105. else.  These variables are:
  106.  
  107.     number_of_coordinate_sets
  108.     minutes
  109.  
  110. The :esetup command must be used to end the setup section.
  111.  
  112. 2.2.1 number_of_coordinate_sets VARIABLE:  X-Wing briefings allow 1 to
  113. 2 sets of coordinates for displaying ships in the map grid.  If only 1
  114. set is used, it is numbered "0"; two sets are numbered "0" and "1".
  115.  
  116. This variable accepts one parameter, that being a '1' or '2'.
  117. (See view_coord_set, coords0, and coords1 variable descriptions below).
  118.  
  119. 2.2.2 minutes VARIABLE:  This is the number of minutes allowed in the
  120. actual mission.  The length of the mission might not work if this variable
  121. doesn't match the one in the mission file.  This variable accepts
  122. one parameter, being the length in minutes.
  123.  
  124. 2.3 :object_data COMMAND:  The :object_data command allows the programmer
  125. to begin his/her creation of briefing objects.  These objects include
  126. everything from mines to planets to ships.  The only commands found "under"
  127. the :object_data command are :object and :eobject which are used for
  128. defining each individual object.  The :eobject_data command must be
  129. used to exit the object_data area.
  130.  
  131. 2.3.1 :object COMMAND:  The :object command is used to begin the definition
  132. of an object.  The variables that are allowed to follow it are:
  133.  
  134.     name
  135.     cargo
  136.     coords0
  137.     coords1
  138.     reaction
  139.     appearing
  140.     formation
  141.     type
  142.  
  143. The :eobject command must be used to end the definition of the current
  144. object.  NOTE THAT when creating objects, the first object defined is
  145. referenced as "0", the second as "1", and so on in the briefing.
  146. This information will become important when using variables found
  147. under the :command command.
  148.  
  149. 2.3.1.1 name VARIABLE:  This is the name of the object as used in the
  150. briefing.  It accepts one text parameter up to 16 characters long.
  151. This variable defaults to a string of length 0 (null string).
  152.  
  153. 2.3.1.2 cargo VARIABLE: This is the name of the cargo the object is
  154. carrying (if any).  It accepts one text parameter up to 16 characters
  155. long.  This variable defaults to a null string.
  156.  
  157. 2.3.1.3 coords0 VARIABLE: This is set "0" of the coordinates used in
  158. the briefing.  It accepts 3 integer parameters, each separated by at
  159. least on space, representing the X, Y, and Z coordinates of the
  160. object. (see view_coord_set below for more details on coordinate display.)
  161.  
  162. 2.3.1.4 coords1 VARIABLE: As above, this is set "1" of the coordinates
  163. used in the briefing.  It accepts 3 integer parameters, each separated
  164. by at least on space, representing the X, Y, and Z coordinates of
  165. the object.  If only 1 coordinate set is chosen using the :setup
  166. command then any values places in coords1 will be ignored. (see
  167. view_coord_set below for more details on coordinate display.)
  168.  
  169. 2.3.1.5 reaction VARIABLE: This is the type of reaction the object
  170. has (which determines it's coloring [green or red] on the map grid.)
  171. It accepts one text parameter of "default","foe", or "friend".  This
  172. parameter MUST be in lower case (without the quotation marks.)
  173.  
  174. 2.3.1.6 appearing VARIABLE: This is the number of objects appearing.
  175. It accepts one integer parameter.  This value appears to have no
  176. affect on the mission briefing.
  177.  
  178. 2.3.1.7 formation VARIABLE: This is the formation that the objects
  179. fly in.  It accepts one integer parameter.  This value appears to have
  180. no affect on the mission briefing.
  181.  
  182. 2.3.1.8 type VARIABLE: This is the type (ship, planet, or otherwise) of
  183. object that is displayed.  It accepts one text parameter.  This parameter
  184. may be any one of the following (exactly as