Stunt Island Object Editor Tutorials

Contents of this page:

Tutorial by Doug Armknecht

Object import tips by Runar Eggertsson

Object import tips by Dean Newbury

Subobject tips by Adrian Stephens


Stunt Island Object Editor Tutorial

By Doug Armknecht
January 2000
dha5446@ksu.edu


Modes

     There are several viewing modes within the editor.  You can usually
access any mode from any other mode by clicking on the correct button. 
PT/LN mode is for creation of points, lines, and polygons.  This is where
you'll spend most of your time.  CONTRL mode is what you see when the
program begins.  You can load and save objects there, and exit the
program. Finally, FILLED mode is where you can view your object as it
takes shape, and color lines and polygons. 


Point Creation

     If you really are having trouble getting started, try this:  Go to
PT/LN mode, click on CUBE, enter 10000, 10000, and 10000.  This creates
four points around the center point.  To rotate the object, hold down the
right mouse button and move the mouse around.  To zoom in or out, hold
down both buttons and move the mouse forward or backwards. 

     The simplest method of new point creation is MIDPT.  To use it, click
on the MIDPT button, click on one point, and then on another point.  A new
point is created between the two.  The MIDPT button stays depressed, so
you can keep creating more and mo re points.  If you're just getting
started, play around with MIDPT awhile. 

     You can create all the points you need just using CUBE and MIDPT. 
Unfortunately, your object may get very cluttered with points that were
only used to generate other points (these cannot be deleted).  A better
way is to use Vectors.  A vector is a quantity with an associated
direction.  In the object editor, a vector is represented by a green line
extending from the center point out to a point you specify. 

     To set a vector to a specific point, click on SET-V, then on a point. 
Notice the green line out to that point.  Now click the button DBLE-V. 
This doubles the vector's length, but keeps its direction.  A new point is
created at the place, and the vector is now set to this new point. 
HALF-V does the same thing, only the vector is halved instead of doubled. 
NEG-V creates a new point at the same distance as the present vector, but
in the opposite direction from the center point. 

     ADD-V is different from the previous commands in that it involves two
points.  Imagine moving the origin of the green line from the center point
to a point you specify, then creating a new point at the end of this new
vector.  It's hard to explain, but shouldn't be too hard to figure out. 
First SET-V to the point you want.  Then click on ADD-V, then on the point
you want the vector added to.  A new point will be created, but the vector
will stay where it had previously been.  This allows you to add the vector
to many points quickly.  SUB-V works the same, except the vector is
subtracted from (instead of added to) the point you specify. 

     Once you have vectors figured out, precise placement of points
becomes much easier.  I find it helpful to create lines of closely spaced
points along all three of the axes.  Then, by adding a vector from the
X-axis to a point on the Z-Axis and then adding a vector from the Y-axis
to the previously created point, I can place a point just about anywhere
in the cube's 3-D space. 


Polygons

     To give your object shape, you'll need to create polygons.  Although
the object is in 3-D, most of it will be made up of flat polygons.  To
create a polygon, click on POLY, then connect the dots in order, going
clockwise around the shape you are defining.  Also, make sure the polygon
you're creating is flat.  That is, all the points making up the polygon
must be in the same plane.  All points in a triangle are in the same
plane, but be careful when using more points.  If you can't visualize a
flat piece of paper touching all the points you're going to create the
polygon from, you may have a problem. 

     Just because the components of the object have to be flat doesn't
mean that objects have to look unrealistic or boring.  You can create
surprisingly realistic surfaces just from a number of triangles.  And with
gourad shading (explained below), the appearance of curves can be easily
created. 

     Polygons appear in the PT/LN mode with blue lines around the edges. 
This gives a good preview of how the polygon will look.  Once you have
several polygons created, go into FILLED mode to get a better
visualization. All newly created polygons are white.  To change the color
of a polygon, first scan through the palette at the bottom of the screen. 
Use the << and >> buttons to cycle through all the colors.  Once you've
found the one you want, select it by clicking on it, and then click on all
the polygons that you want to set to that color.  Continue selecting and
clicking for the rest of the polys.

     So far, the polygons you've been coloring have been flat shaded. 
This means that the polygons will appear the color you set them at no
matter what the lighting conditions.  Most of Stunt Island's non-aircraft
objects are done this way.  However, there are different shading styles
that can help your object look more realistic. 

     Gourad shading is what most of Stunt Island's aircraft bodies use. 
In order for it to be effective, make sure your object has two or more
adjacent polygons that you want to appear approximately the same color.
Next, you need to select a color for the objects.  Unlike flat shading,
gourad shading uses more than one color from the palette.  When you select
a color for gourad shading, your are actually selecting that color plus
the next 31 from the palette (a total of four columns).  Therefore, only
color sets which contain 32 consecutively lighter colors may be used for
regular gourad shading.

     To use gourad shading, first color the polygons.  Make sure to use
the darkest (leftmost) color in a set of 32 colors (there are only four of
these sets).  Once you have all the adjacent polygons colored, click on
STYLE, then select GOURAD.  Click on all the desired polygons again.  You
should notice some multicolored shading appearing on the polygons.

     As you probably noticed, there are only four choices for "colors"
when using regular gourad shading.  Fortunately, the editor has another
option to extend this to 15 different color combinations.  GOURAD16 style
shading, also under STYLE, uses only the 15 shades after the selected
color (instead of 31).  This allows you to make lighter shades of gray, or
use the red or blue color schemes for gourad shaded objects. 

     Yet another style of shading is marked only as SHADED.  For an
example of this, take the Pitts Special out for a spin in Stunt Island and
look at the wings.  Although a wing changes color as you turn the plane,
the entire wing is a uniform color of red at any point in time.  SHADED
polygons also use 32 colors, and work the same in that respect as GOURAD
shaded polys.  SHADED16 is similar, but only 16 colors are used for the
effect. 


Other Commands

     You can make good objects just using the above techniques, but there
are a number of other commands that you may want to experiment with. First
up is LINE.  Simply enough, go to PT/LN mode, click on LINE, and select
the two points you want to connec t with a line.  To color lines, go to
FILLED mode, click on THICKL, select a color, and click on the line to be
colored.  Note:  Lines are often bad about making your object UNSORTable. 
See below for more information on this.  If you're drawing lines that
touch, I've found that it's better to draw and color them together instead
of drawing some, coloring some, drawing some more, etc.

     SETGND is used for setting the ground level to be used in Stunt
Island.  Click on the button, then select a ground level point.  STRETCH
and SCALE can help you change the size of your object in the program.
STRETCHing a cube changes the size of that cube and all its associated
points.  For major changes, experiment with SCALE.  Larger numbers produce
smaller objects.  DISC is used for making two-sided discs, and SPHERE is
used for making.. well, spheres!  I have not experimented much with either
of these, but both are prone to UNSORT problems.

     If you're interested in creating a door on a house or writing on a
sign, you may want to use DETAIL mode.  This should be used for any lines
or polygons you create directly on top of another polygon.  To use it, go
into FILLED mode.  Click on DETAIL, then on the polygon you want to do
some detailing work on.  This takes you back to PT/LN mode where you can
create new points and then add polys or lines on top of the polygon you
are detailing.  When finished, or when you want to detail another polygon,
 go back to FILLED mode and unselect DETAIL. 


Subobjects

     Note:  Our knowledge of subobjects is very limited at this time.  I
only put this section in in hopes that more people will experiment with
this and maybe find some more out about it. 

     Subobjects are used to attach props and landing gear to existing
objects.  The first step is to create a moveable object (such as a
propellor).  If you want, you can start by using the prop that comes with
the Spitfire.  Next, attach the subobject somewhere on your object.  Go
to PT/LN mode and click on SUBOBJ.  Then select a point to attach the
subobject to.  The program prompts you for a prop to use.  Select your
object, or the prop named "sfrprp".  Next is a set of parameters for the
subobject.  For simple rotation use "Rotate Y-Axis 10" (or use X- or
Z-axis). 

     Once the subobject has been set up, you can view it by going to
filled mode.  Unfortunately, there's a good chance that your object will
now be unsortable (see the section below).  I have not found any way
around this yet, short of placing the subobject well away from any
polygons.  If everything is sorted correctly, the subobject will appear as
a white sphere.  Click on SHOWSUB to animate it.  To change its
parameters, turn SHOWSUB off, click EDIT, and click on the sphere. 

     If, by some miracle, you do get subobjects to coexist with your
object, you may want to experiment with advanced issues such as making a
prop turn into a different object when it reaches a certain speed.  To do
this, load up the Spitfire prop and go into FILLED mode.  Click on EDIT,
then on one of the spheres.  This shows its parameters, and you should be
able to emulate those in your own object. 

     Once again, no one seems to know much yet about subobjects.  If you
make a discovery, please let us know.


Unsortable Object Problems

     From time to time, you may notice that the addition of a polygon,
line, sphere, disc, or subobject makes most of your objects disappear when
you go into FILLED mode.  Congratulations, you've just made your object
unsortable. Here's what Adrian says about unsortables: 

"It is possible for a shape to be unsortable. This means that the editor
cannot work out a strategy for drawing the polygons and spheres in the
correct order from any angle. Clicking on Unsort will display all the
parts of the object it did not include in order to be able to sort it. 
Clicking on Unsort again will re-display the sorted portion of the shape."

     To make your object sortable again, click on UNSORT and delete the
polys (or whatever) you just created.  Now, you ask, how do you add polys
or spheres without making your object unsortable?  I really don't know,
and I hope you can figure it out.  There's only one thing I know of to
try:  Go back to the CONTRL screen and click on TRYHARD.  Then go back to
PT/LN and try to add the elements to your object.  Beyond that, I can
offer no further help.  I have no idea how to create subobjects anywhere
near my objects;  They always become unsortable.  If you figure out any
way around this or any other problem, please let us all know.  Thanks! 


Using your object in Stunt Island

     Thanks to Runar for writing this section a couple years back.  One
more note:  Once you get the object(s) into Stunt Island, it (they) will
be in the props under the category name you specify.  DO NOT place your
object in Slot 1 and try to fly it.  This will cause your computer to
lock up.  If you want to fly your object, place a plane with similar
flight characteristics in Slot 1.  Make it invisible.  Then set your prop
in Slot 8, attach it to prop 1, and make it visible with a shadow.  It's
not perfect, but it should work. 

     Tutorial written by Doug Armknecht.

Object Import Tips by Runar Eggertsson

If you want to be able to edit an object later, you must save
it to disk using the SaveAs button.


37. Press Contrl.

38. Press SaveAs. 

39. Enter a name to save this object under. 

40. Press Ok.


If you change the object later you can use the Save
button to save it under the name you used in SaveAs.

When you want to load an object into the editor, use
the Load button and choose the object you want to load.

To save the object for use in Stunt Island you use the
BSave button:


41. Press Bsave.


Now you must make a .RES and .EQU file for the object
with the MAKERES.EXE program:


42. Press the Exit button to leave the editor.

43. Use a text editor to edit the file MYOBJS.RDF
    which should be in the same directory as the editor.
   

The MYOBJS.RDF file looks like this in your editor:

--------------------------------------------------------------------------------

	settemp	d:\temp

	new	res\myplanes,126
#names	text	My Objects

	text	Object 1
	text	Object 2

	setdir	objects\

object1	object	object1.bin
object2	object	object2.bin

--------------------------------------------------------------------------------

Now you must edit this file. As an example, we will assume you
have saved the object in this tutorial in SaveAs as TEST and 
used BSave, which writes out a TEST.BIN file.

If your .BIN file would be named TEST.BIN you would edit this
file to look like this:

--------------------------------------------------------------------------------

	settemp	c:\temp      <----- Changed d: to c:, change \temp to a
				    directory you want temporary files
				    used only by the program, to be saved in.

	new	TEST,126     <- res\ is the dir. you want the .RES and .EQU
				files saved in. I use the current dir. so I've
				removed it. Test is where you name the .RES and
				.EQU files. I have named it TEST here. I'm not
				clear yet about what the number is for, so leave
				it alone. 

#names	text	My Objects  <-- Leave #names and text alone, My Objects is the  
				name of the group holding the object you made,
				and will appear in Set Design in Stunt Island
				when you Press Add to add a new object.
				
	text	House 1    <--  Leave text alone. House 1 is the name you choose
				to call this object in Stunt Island. In our
				example I've named it House 1. If you would make
				a few houses you could add them to this file as
				House 2, House 3 and so on, remember that the
				text word must always be in front of the names.

	setdir	objects\   <--	In this line you say where the .BIN file(s)
				are. If they are in the current directory you
				don't need it and can delete the line. In this
				example I have a directory named objects that
				has my .BIN files in it.

object1	object	   test.bin <-- object1 is for the first object. If you have
				more than one object, you can name the next
				object2 and so on, or whatever you like, It's   
				just for the MAKERES program. Leave the object
				word alone. Test.bin is what I named the .BIN
				file in our example, but here's where you write
				the name of the .BIN file. If you have more than
				one, add more lines with the names of your other
				.BIN files, but begin every line with object2,
				object3 or something and the object word.

--------------------------------------------------------------------------------

When you have finished editing the file, save it. 
We will assume you saved it as MYOBJS.RDF, but you can
change MYOBJS to whatever you like and you don't have 
to use .RDF as the file extension, use whatever you 
like or just skip it and save it as MYOBJS. 

We assume you saved the file as MYOBJS.RDF


44. Write: makeres myobjs.rdf  <--- If the file has an extension you MUST
				    include it here.	

If all goes well you should see the message "No Errors" on the screen when
the program is finished. If an error comes up you must find what caused it.
Often the line number the MAKERES program found an error is displayd, so you
can know where the error is in the file.

If you got the message "No Errors", you can continue.

Now you should have a TEST.RES and TEST.EQU file. Now, all you have to do to
use it in Stunt Island is to copy both files to the \RES directory of the
directory you have the Stunt Island game. Normally it's C:\STUNTISL, so you
would save the two files to C:\STUNTISL\RES directory.

Now you can start Stunt Island and use the objects you made.

Good Luck!
  
  

Object Import Tips by Dean Newbury

Here are the steps needed for converting SITOOLS props into SI.

1. Make a directory called TEMP in DOS. Any name will work, but I'll use
TEMP here.

2. In the editor, load the object(s) you wish to convert and BSAVE them.
This will create a file in the SITOOLS directory called (objectname).BIN
for each object.

3. To make the process easier, transfer all of your .BIN files and the
MAKERES.EXE program to your TEMP directory.

4. Now use the sample file below as an example and make your own
text file. Be sure to make it look exactly the same, especially spacing.
You can name your text file anything you want.

5. At the command line in DOS type MAKERES (yourfilename.you)

6. If you see NO ERRORS on the next line after your command line then it
worked correctly.

7. You will now have 2 new files in your TEMP directory. (filename).RES
and (filename).EQU. Move these to the STUNTISL\RES directory. I have
only been able to have one custom file in that directory at a time.

8. Now enter SI and go to SET DESIGN. You should see your objects in the
PROPS list. Choose your new props like you would any of the SI props.
The only thing you CANNOT do is put them into the PROP ONE slot. This
will crash SI everytime.

---------------------------------------------------------------------------

Here is the sample text file.

        settemp c:\temp\temp.tmp
        new     (your filename),126      
#names  text    Sifa Objects (Substitute your title here)

        text    Sifa Stone Logo (These are the names of your objects)
        text    U.S.S. Voyager
        text    Enterprise Shuttle
        text    Star Destroyer

TestOb1 object  sifa.bin     (These are the .BIN files you made)
TestOb2 object  startrk2.bin
TestOb3 object  shuttle.bin
TestOb4 object  st-cruse.bin


Textfile by Dean Newbury.

Special thanks to Matt Shoemaker for giving me this same help!

Subobject Tips by Adrian Stephens

From the SIFA IRC chat in 1997

(Adrian) I'm looking at the subobject parameters in the editor
right now, I'll give an explanation...
(Adrian) OK - Object of course is the filename of the
subobject you previously created.
(Adrian) Rotate is the axis about which the object rotates,
and the number after it is the 'animation parameter'.
(Adrian) For instance, the number 12 means the current angle
of the landing gear.
(Adrian) There is also a parameter that specifies the angle of
the propellor, and one for the speed of rotation of the
propellor.   With these we could say 'Rotate the propellor
according to this parameter, until it's going too fast, and
then switch to this flickery thing that looks like a
propellor going fast instead'
(Adrian) In the editor you use 'Cond' in the subobject dialog
box to say that if a certain condition is met, switch to
the 'Else' subobject.
(Adrian) Having checked, I can now tell you that parameter
'10' is the propellor angle and parameter '9' is the
propellor speed.
(Adrian) You specify these 'parameters' in the subobject
dialog box.
(Adrian) First you create a seperate object for the gear or
prop.  Then you load the main object (the plane in this
case) and somehow attach the subobjects.  It'll take me a
while to remember how to do it
(Adrian) Actually I re-learned how to put subobjects on - you
just go to Point/Line mode click on SubObj and select the
point you want to attach the subobject to.  You then get
the fileselector to specify the file containing the object
you want to attach.  I suppose everyone already knew
that...