WESTBANG is a western FPS style game for Linux.
Comics are simple animations with given images made by a script file.
Comics are used for intro and outro animation and for interlevel shots.
There are these reserved comics:
intro.cmx played after the start of the program
gameover.cmx played, when a player loose his last life
goodbye.cmx played after the quit
You can modify these files as you wish, but you have to keep these names,
because they are called directly from the program. Other comics, their
names or number, is random.
Any of the *.cmx file can contain these commands:
delay < ticks >
Specifies the time the computer will wait before he does the next
image < index > < name >
Image loads the specified bitmap and gives it an index number. In the
< name > can be just the name of the bitmap (the *.bmp file) or the path
and the name. The path starts in ../WESTBANG/DATA/COMIX, so all your
bitmaps and dirs have to be in the COMIX directory.
Note: The color 255,0,255 is transparent.
destroy < index >
Removes the image from the memory. Don't forget to destroy images,
or you can glut the memory.
virtual < v_index > < index > < pos_X > < pos_Y > < width > < height >
Virtual is the quad shaped object taken out of the image you can work
with by the commands of the comics. You can define more than one virtual
in one image.
< v_index > is the index given to the new virtual.
< index > is the index of the source bitmap.
< pox_X > < pos_Y > are the coords of the upper left corner of the virtual
in the image.
< width > < height > set the size of the virtual.
anime < v_inde x> < frames > < delay >
Makes the specified virtual the animated one. < Frames > is the number of
the frames and < delay > sets the pause between the two frames (speed of
Animated virtuals are made of bitmaps with all the frames placed in the
row. So the height of the bitmap is the same as the frames height and
width equals to times width of the frame.
anime_type < v_index > < type >
Sets the type of the animation of the specified virtual.
1: from first to last (1->2->3->...)
2: zig zag (1->2->3->2->1->...)
Example: These three commands make a short animated virtual.
virtual 3 1 0 0 10 10 //defines the first frame (size 10x10)
//taken from the image 1 (size 40x10)
anime 3 4 18 //makes 4-frames animation
anime_type 3 1 //sets the type of the animation to normal
setxy < v_index > < x > < y >
Puts the specified virtual on the given coords.
vis_on < v_index >
Shows the specified virtual. New created virtuals are hiden. You have to
use vis_on, if you want to see them on the screen.
vis_off < v_index >
Hides the specified virtual.
move < v_index > < tx > < ty > < sx > < sy > < tempo >
Sets the virtual as "the moving" one. Moving virtual goes automaticaly
from actual coords to target coords < tx >,< ty >. The speed of the motion
can be controled by the length of the single step (< sx >: step along the
x-axis, < sy >: step along the y-axis in pixels), or by the < tempo > - the
delay between the two steps.
resize < v_index> < sw> < sh> < speed_x> < speed_y>
Sets the virtual as "the resizing" one. < Sw> and < sh> are starting
height and witdth. Resizing can go by the very small steps, thats why
you have to set sw=100000 and sh=100000 if you want the starting size
of the virtual to be 100% x 100%.
sound < index> < name>
This is the same as the image command for the bitmaps.
play_sound < index> < volume> < panning>
Plays the sound once.
repeat_sound < index> < volume> < panning>
Repeats the sound, until you stop it by the command:
stop_sound < index>
destroy_sound < index>
Removes the sound from the memory.
Waits for input. The script won't continue, until the user presses any key.
include < file_name>
Plays the < file_name> comics file. You can make the hierarchy in the files by this command. It's usefull for the good control of the long comics to create one "main" cmx file, that calls the single scenes as you can see in the "intro.cmx".
If you want to learn more, how to create the script look in our *.cmx files. Note: Max number of images is 50. Max number of virtuals is 50. Max number of samples is 20.