home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cheats, Hacks & Hints
/
Cheats_Hacks_and_Hints.bin
/
games
/
xwing
/
xbrf
/
xbrfasm.txt
< prev
Wrap
Text File
|
1993-08-28
|
22KB
|
487 lines
+---------------------------------------------------------------------------+
| |
| X-Wing Briefing Assembler Kit |
| |
| Written by Tim Scott (tscott@plains.nodak.edu) |
| |
| 8/29/93 |
+---------------------------------------------------------------------------+
xbrfasm is freeware. It can be freely distributed as long as this file
accompanies it and the executable is not modified in any way.
Using the X-Wing briefing assembler kit (xbrfasm) it is possible to create
mission BRIEFINGS for the LucasArts game from scratch. I downloaded the
X-Wing design kit from wuarchive.wustl.edu and saw how limited it
was and how toasted the briefings became after 'editing' them when I
decided to come up with my own development kit. This is the first part
of a set of tools I plan to create to use for modifying X-Wing.
Future tools will include a disassembler for stock mission briefings and an
assembler/disassembler for the missions themselves.
If you have any comments or suggestions for xbrfasm feel to drop a line
to the author at the address given above.
** IN ORDER TO USE THIS PROGRAM YOU **MUST** READ THE INSTRUCTIONS. **
In order to create a briefing you must learn the assembler's commands
and variable assignments. Failure to do so will not only result in
no briefing but most likely in frustration at not understanding what
is going on.
Disclaimer: Use this program at your own risk. I've tried to make it as
safe and non-destructive as possible. If it screws up any of your data
don't blame me.
'Nuff said. Onto the program's description.
1. PROGRAM EXECUTION: In order to create a briefing, you must first have
a briefing listing in the form of a text file. This file contains all
the commands and parameters according to how you want your mission
briefing set up. Any old DOS editor should work provided it sticks in
newline characters at the end of each line. I personally use JOVE 4.14
for DOS which allows me to indent and all that.
This text file must be in the form "filename.b" (without the quotation
marks, course.) I chose the ".b" extension to signify that the file
is a Briefing listing. When run, the assembler will simply add the
letters "RF" to the name of the file thus creating the name of the
assembled briefing (therefore, "defect.b" generates the assembled
briefing file "defect.brf".)
To assemble, simply type:
xbrfasm filename.b
at the DOS prompt.
This program will not overwrite mission briefings that already exist!
If your briefing text file is named "WAZOO.B" and "WAZOO.BRF" exists
in the directory you are currently in, the assembler will exit without
writing.
2. ASSEMBLER COMMANDS: The assembler has several commands (each described
in detail below) the guide it's operation. These commands are:
:dump_data Display a basic dump of the data read in from
the briefing file.
:setup,:esetup Begin/end setup section of the briefing file.
:object_data, Begin/end object_data section of the briefing.
:eobject_data
:briefing_setup, Begin/end setup section of the briefing.
:ebriefing_setup
:page_data, Begin/end page_data section of the briefing.
:epage_data
:tag_data, Begin/end tag_data section of the briefing.
:tag_data
:text_data, Begin/end text_data section of the briefing.
:etext_data
:efile End of briefing file.
Note that each command is immediately preceded by a colon ":" and
is to be on a line by itself.
Of all the commands, :setup,:esetup should come before the other
data definition commands and :efile must be the final command in
the file. I suggest using the above order to create a sort of
standard if you ever decide to share you briefing sources with
others.
2.1 :dump_data COMMAND: The :dump_data command dumps all the information
given in the briefing file after it has been successfully read (ie. the
assembler encounters no problems in the reading of the file.) This
lets the programmer check to see where his/her data is being placed and
if it is being read correctly.
2.2 :setup COMMAND: The :setup command allows the programmer to set
an initial variable and a variable that really doesn't belong anywhere
else. These variables are:
number_of_coordinate_sets
minutes
The :esetup command must be used to end the setup section.
2.2.1 number_of_coordinate_sets VARIABLE: X-Wing briefings allow 1 to
2 sets of coordinates for displaying ships in the map grid. If only 1
set is used, it is numbered "0"; two sets are numbered "0" and "1".
This variable accepts one parameter, that being a '1' or '2'.
(See view_coord_set, coords0, and coords1 variable descriptions below).
2.2.2 minutes VARIABLE: This is the number of minutes allowed in the
actual mission. The length of the mission might not work if this variable
doesn't match the one in the mission file. This variable accepts
one parameter, being the length in minutes.
2.3 :object_data COMMAND: The :object_data command allows the programmer
to begin his/her creation of briefing objects. These objects include
everything from mines to planets to ships. The only commands found "under"
the :object_data command are :object and :eobject which are used for
defining each individual object. The :eobject_data command must be
used to exit the object_data area.
2.3.1 :object COMMAND: The :object command is used to begin the definition
of an object. The variables that are allowed to follow it are:
name
cargo
coords0
coords1
reaction
appearing
formation
type
The :eobject command must be used to end the definition of the current
object. NOTE THAT when creating objects, the first object defined is
referenced as "0", the second as "1", and so on in the briefing.
This information will become important when using variables found
under the :command command.
2.3.1.1 name VARIABLE: This is the name of the object as used in the
briefing. It accepts one text parameter up to 16 characters long.
This variable defaults to a string of length 0 (null string).
2.3.1.2 cargo VARIABLE: This is the name of the cargo the object is
carrying (if any). It accepts one text parameter up to 16 characters
long. This variable defaults to a null string.
2.3.1.3 coords0 VARIABLE: This is set "0" of the coordinates used in
the briefing. It accepts 3 integer parameters, each separated by at
least on space, representing the X, Y, and Z coordinates of the
object. (see view_coord_set below for more details on coordinate display.)
2.3.1.4 coords1 VARIABLE: As above, this is set "1" of the coordinates
used in the briefing. It accepts 3 integer parameters, each separated
by at least on space, representing the X, Y, and Z coordinates of
the object. If only 1 coordinate set is chosen using the :setup
command then any values places in coords1 will be ignored. (see
view_coord_set below for more details on coordinate display.)
2.3.1.5 reaction VARIABLE: This is the type of reaction the object
has (which determines it's coloring [green or red] on the map grid.)
It accepts one text parameter of "default","foe", or "friend". This
parameter MUST be in lower case (without the quotation marks.)
2.3.1.6 appearing VARIABLE: This is the number of objects appearing.
It accepts one integer parameter. This value appears to have no
affect on the mission briefing.
2.3.1.7 formation VARIABLE: This is the formation that the objects
fly in. It accepts one integer parameter. This value appears to have
no affect on the mission briefing.
2.3.1.8 type VARIABLE: This is the type (ship, planet, or otherwise) of
object that is displayed. It accepts one text parameter. This parameter
may be any one of the following (exactly as