scene.org File Archive

File download

<root>­/­demos­/­groups­/­faktory/demosys_2004_01_21.zip

File size:
1 670 199 bytes (1.59M)
File date:
2019-07-29 01:43:14
Download count:
all-time: 229

Screenshot (by pouët.net)

Screenshot

Preview

  • demosys_release_2004_01_21/ dir
  • demosys_release_2004_01_21/bin/ dir
  • demosys_release_2004_01_21/bin/bass.dll 96.05K
  • demosys_release_2004_01_21/bin/docs/ dir
  • demosys_release_2004_01_21/bin/docs/changes.txt 12.53K
  • demosys_release_2004_01_21/bin/docs/effects.txt 8.51K
  • demosys_release_2004_01_21/bin/docs/fx_main.html 217B
  • demosys_release_2004_01_21/bin/docs/newfx.txt 3.93K
  • demosys_release_2004_01_21/bin/docs/newfx_camera.txt 2.22K
  • demosys_release_2004_01_21/bin/docs/newfx_keybank.txt 2.81K
  • demosys_release_2004_01_21/bin/docs/tutorial.txt 4.93K
  • demosys_release_2004_01_21/bin/engine.exe 79.00K
  • demosys_release_2004_01_21/bin/examples/ dir
  • demosys_release_2004_01_21/bin/examples/aviwriter.bat 17B
  • demosys_release_2004_01_21/bin/examples/clear1.bat 20B
  • demosys_release_2004_01_21/bin/examples/clear2.bat 20B
  • demosys_release_2004_01_21/bin/examples/data/ dir
  • demosys_release_2004_01_21/bin/examples/data/avi.txt 1.15K
  • demosys_release_2004_01_21/bin/examples/data/clear1.txt 291B
  • demosys_release_2004_01_21/bin/examples/data/clear2.txt 811B
  • demosys_release_2004_01_21/bin/examples/data/flash1.txt 951B
  • demosys_release_2004_01_21/bin/examples/data/flash2.txt 1.77K
  • demosys_release_2004_01_21/bin/examples/data/fogflash1.txt 1.50K
  • demosys_release_2004_01_21/bin/examples/data/gif1.txt 601B
  • demosys_release_2004_01_21/bin/examples/data/gif2.txt 2.88K
  • demosys_release_2004_01_21/bin/examples/data/gridfx1.txt 2.44K
  • demosys_release_2004_01_21/bin/examples/data/keybanks.txt 1.04K
  • demosys_release_2004_01_21/bin/examples/data/mayaplay1.txt 1.13K
  • demosys_release_2004_01_21/bin/examples/data/mayaplay2.txt 1.00K
  • demosys_release_2004_01_21/bin/examples/data/md2play1.txt 666B
  • demosys_release_2004_01_21/bin/examples/data/md2play2.txt 1.87K
  • demosys_release_2004_01_21/bin/examples/data/misc/ dir
  • demosys_release_2004_01_21/bin/examples/data/music/ dir
  • demosys_release_2004_01_21/bin/examples/data/music/arsa.mod 47.21K
  • demosys_release_2004_01_21/bin/examples/data/music/cfx17.wav 62.55K
  • demosys_release_2004_01_21/bin/examples/data/music/grannyji.it 6.10K
  • demosys_release_2004_01_21/bin/examples/data/music/intro.xm 56.72K
  • demosys_release_2004_01_21/bin/examples/data/music/metb18.wav 47.36K
  • demosys_release_2004_01_21/bin/examples/data/music/miscsnd017.wav 4.33K
  • demosys_release_2004_01_21/bin/examples/data/music/miscsnd020.wav 6.33K
  • demosys_release_2004_01_21/bin/examples/data/musicplay.txt 2.65K
  • demosys_release_2004_01_21/bin/examples/data/musicplay1.txt 486B
  • demosys_release_2004_01_21/bin/examples/data/musicplay2.txt 549B
  • demosys_release_2004_01_21/bin/examples/data/musicplay3.txt 683B
  • demosys_release_2004_01_21/bin/examples/data/particlebox1.txt 805B
  • demosys_release_2004_01_21/bin/examples/data/particlebox2.txt 1.21K
  • demosys_release_2004_01_21/bin/examples/data/particlebox3.txt 1.22K
  • demosys_release_2004_01_21/bin/examples/data/particlebox4.txt 811B
  • demosys_release_2004_01_21/bin/examples/data/particlebox5.txt 1.47K
  • demosys_release_2004_01_21/bin/examples/data/picture1.txt 386B
  • demosys_release_2004_01_21/bin/examples/data/picture2.txt 488B
  • demosys_release_2004_01_21/bin/examples/data/picture3.txt 828B
  • demosys_release_2004_01_21/bin/examples/data/picture4.txt 1.21K
  • demosys_release_2004_01_21/bin/examples/data/plasma.txt 370B
  • demosys_release_2004_01_21/bin/examples/data/positioning.txt 1.12K
  • demosys_release_2004_01_21/bin/examples/data/scenes/ dir
  • demosys_release_2004_01_21/bin/examples/data/scenes/tree.zen 693.98K
  • demosys_release_2004_01_21/bin/examples/data/scenes/tris.md2 411.90K
  • demosys_release_2004_01_21/bin/examples/data/screengrab.txt 1.35K
  • demosys_release_2004_01_21/bin/examples/data/snow.txt 1.24K
  • demosys_release_2004_01_21/bin/examples/data/snow_particlestuff.txt 898B
  • demosys_release_2004_01_21/bin/examples/data/snow_using_includes.txt 431B
  • demosys_release_2004_01_21/bin/examples/data/sync1.txt 664B
  • demosys_release_2004_01_21/bin/examples/data/texturenoise1.txt 485B
  • demosys_release_2004_01_21/bin/examples/data/texturenoise2.txt 1.01K
  • demosys_release_2004_01_21/bin/examples/data/texturenoise3.txt 979B
  • demosys_release_2004_01_21/bin/examples/data/textures/ dir
  • demosys_release_2004_01_21/bin/examples/data/textures/animcow.gif 617B
  • demosys_release_2004_01_21/bin/examples/data/textures/bg1.tga 1.17M
  • demosys_release_2004_01_21/bin/examples/data/textures/dirt.jpg 7.62K
  • demosys_release_2004_01_21/bin/examples/data/textures/drfreak.tga 192.04K
  • demosys_release_2004_01_21/bin/examples/data/textures/explode.gif 11.53K
  • demosys_release_2004_01_21/bin/examples/data/textures/faktory_logo_alpha.png 114.51K
  • demosys_release_2004_01_21/bin/examples/data/textures/part2.tga 3.04K
  • demosys_release_2004_01_21/bin/examples/data/textures/partblue.tga 3.04K
  • demosys_release_2004_01_21/bin/examples/data/textures/particleblue.tga 3.04K
  • demosys_release_2004_01_21/bin/examples/data/textures/particleorange.tga 3.04K
  • demosys_release_2004_01_21/bin/examples/data/textures/plasma.gif 93.63K
  • demosys_release_2004_01_21/bin/examples/data/textures/scissors.gif 558B
  • demosys_release_2004_01_21/bin/examples/data/textures/snow.tga 3.04K
  • demosys_release_2004_01_21/bin/examples/data/textures/snow2.tga 3.04K
  • demosys_release_2004_01_21/bin/examples/data/video1.txt 453B
  • demosys_release_2004_01_21/bin/examples/data/video2.txt 2.30K
  • demosys_release_2004_01_21/bin/examples/data/videos/ dir
  • demosys_release_2004_01_21/bin/examples/data/videos/mehe.avi 268.00K
  • demosys_release_2004_01_21/bin/examples/data/videos/video1.avi 104.45K
  • demosys_release_2004_01_21/bin/examples/data/wavebox1.txt 1.06K
  • demosys_release_2004_01_21/bin/examples/data/wavebox2.txt 25.77K
  • demosys_release_2004_01_21/bin/examples/data/webcam.txt 799B
  • demosys_release_2004_01_21/bin/examples/data/wtf.txt 485B
  • demosys_release_2004_01_21/bin/examples/flash1.bat 20B
  • demosys_release_2004_01_21/bin/examples/flash2.bat 20B
  • demosys_release_2004_01_21/bin/examples/fogflash1.bat 23B
  • demosys_release_2004_01_21/bin/examples/gif1.bat 18B
  • demosys_release_2004_01_21/bin/examples/gif2.bat 18B
  • demosys_release_2004_01_21/bin/examples/gridfx1.bat 21B
  • demosys_release_2004_01_21/bin/examples/keybanks.bat 22B
  • demosys_release_2004_01_21/bin/examples/mayaplay1.bat 23B
  • demosys_release_2004_01_21/bin/examples/mayaplay2.bat 23B
  • demosys_release_2004_01_21/bin/examples/md2play1.bat 22B
  • demosys_release_2004_01_21/bin/examples/md2play2.bat 22B
  • demosys_release_2004_01_21/bin/examples/musicplay1.bat 24B
  • demosys_release_2004_01_21/bin/examples/musicplay2.bat 24B
  • demosys_release_2004_01_21/bin/examples/musicplay3.bat 24B
  • demosys_release_2004_01_21/bin/examples/particlebox1.bat 26B
  • demosys_release_2004_01_21/bin/examples/particlebox2.bat 26B
  • demosys_release_2004_01_21/bin/examples/particlebox3.bat 26B
  • demosys_release_2004_01_21/bin/examples/particlebox4.bat 26B
  • demosys_release_2004_01_21/bin/examples/particlebox5.bat 26B
  • demosys_release_2004_01_21/bin/examples/picture1.bat 22B
  • demosys_release_2004_01_21/bin/examples/picture2.bat 22B
  • demosys_release_2004_01_21/bin/examples/picture3.bat 22B
  • demosys_release_2004_01_21/bin/examples/picture4.bat 22B
  • demosys_release_2004_01_21/bin/examples/plasma.bat 20B
  • demosys_release_2004_01_21/bin/examples/positioning.bat 25B
  • demosys_release_2004_01_21/bin/examples/screengrab.bat 24B
  • demosys_release_2004_01_21/bin/examples/snow.bat 18B
  • demosys_release_2004_01_21/bin/examples/snow_using_include.bat 33B
  • demosys_release_2004_01_21/bin/examples/sync1.bat 19B
  • demosys_release_2004_01_21/bin/examples/texturenoise1.bat 27B
  • demosys_release_2004_01_21/bin/examples/texturenoise2.bat 27B
  • demosys_release_2004_01_21/bin/examples/texturenoise3.bat 27B
  • demosys_release_2004_01_21/bin/examples/video1.bat 20B
  • demosys_release_2004_01_21/bin/examples/video2.bat 20B
  • demosys_release_2004_01_21/bin/examples/wavebox1.bat 22B
  • demosys_release_2004_01_21/bin/examples/wavebox2.bat 22B
  • demosys_release_2004_01_21/bin/examples/webcam.bat 20B
  • demosys_release_2004_01_21/bin/examples/wtf.bat 17B
  • demosys_release_2004_01_21/bin/fx/ dir
  • demosys_release_2004_01_21/bin/fx/fx_main.dll 68.00K
  • demosys_release_2004_01_21/bin/fx/fx_mayaplay.dll 116.00K
  • demosys_release_2004_01_21/bin/fx/fx_rawhed.dll 112.00K
  • demosys_release_2004_01_21/bin/fx/fx_webcam.dll 32.00K
  • demosys_release_2004_01_21/bin/fx/fx_wtf.dll 36.00K
  • demosys_release_2004_01_21/src/ dir

file_id.diz

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

faktory demo script tutorial

1) Basics

	you must use the following directory structure

	/demo
	/demo/data/
	/demo/data/music/
	/demo/data/textures/
	/demo/data/scenes/

	in /demo goes your .exe
	in /demo/data goes script.txt

	demo.exe takes 1 parameter and that is the name of the script file.
	By default it will try to run /data/script.txt, but you can overwrite
	that with a parameter.

		demo data/script2.txt

2) Creating the demo

	in the script do:

		<demo>
			<load</load>
			<run></run>
		</demo>

	now you have a demo :)

	btw - you can use a shorthand for xml also like this:
	of course it is only for xml tags that don't have children, but
	parameters are fine.

		<demo>
			<load/>
			<run/>
		</demo>

	IT won't do anything, because you have to add effects in and tell
	it what to do!
	But first lets change some parameters.

		<demo name="ubercooldemo" width="640" height="480" bpp="32" fullscreen="0">
			<load></load>
			<run></run>
		</demo>

	The text is quite flexible so you can arrange it nicely:

		<demo 	name="ubercooldemo"
			width="640"
			height="480"
			bpp="32"
			fullscreen="0">
			<load/>
			<run>/>
		</demo>

	if you wanted too..

	Then to 

3) Adding Effects

	You should check effects.txt for the list of effects.
	New effects are added all the time.   Effects can very
	simple or very complicated.  They could have lots of
	scriptable parameters..or none.  

	<add type="effect_type" name="give_it_a_name"></add>

	Once the effect is added you can set any of its parameters.

	<add type="musicplay" name="track1"></add>
	<track1 filename="cooltune.mp3"></track1>

4) Default effects

	There are default effects that you don't have to create.
	One is "draworder".

	<draworder effect="clear1" effect="bobs"></draworder>

	More later...

5) Events

	The demo will be quite boring without effects I think :)
	Events can be triggered by:

		time
		keypress

	time:

		<event time="0.4">
			<flash1><go></go></flash1>
		</event>

	This is in seconds from when the <run></run> is started.

	keypress:

		<event key="q">
			<flash1><go></go></flash1>
		</event>

	When you run the demo and press "q" it will trigger those
	commands.

	So to generate events you can type them into the text file,
	but this can take a long time - especially for syncing music
	instruments like claps to flashes.  So how about a way to
	generate events easily?

	The demo will now create a keylog.txt file when you run it,
	with a list of the keys you press and what time you did it at.
	Simply copy this .txt file into the script and run the demo 
	again and the events will trigger :) Then you can edit the
	script to remove and incorrect events or to tweak them.

--------------------------------------------------------------------
faktory demo code tutorial


class fWindow
 |
 class fWindowGL
  |
  class fDemo
   |
   class skroo (name of demo)

class cEffect
 |
 class cYourEffectName

The demo is organised by running effects which are read in from a
script file in an XML-like format.  

LOADING:

1) The script is parsed by the XML code.  It just stores a hierarhy
   of tags, parameters and values.   <TAG parameter=value>

2) The demo code starts to parse the XML hierarchy.
   When it finds <demo> it will call the demo's doXML() funtion which
   only understands specific tags.

3) The demo will ADD new effects that the script tells it to add.
   It will "new" many different types of classes, but because all
   the classes are derives from cEffect it only needs to keep 
   cEffect pointers.

4) The demo will call the effects doXML() function when it finds a
   tag which has the same name as the effect name.  This is how
   effects get their parameters passed to them.

5) When <event> tags are found the demo will add them to a list of
   events.  Events can either be triggered by time or by keypress.
   The events keep a pointer to the XML kTag structure, so that
   when the event is fire, the appropriate doXML() functions are 
   called.

6) The <load> tag is hit to the demo will call all the effects load()
   function.

7) The <run> tag is hit, so the demo will enter the main loop.

EACH FRAME:

1) The events are checked to see if a new one needs to be preformed.
   When one is, it will call the effects doXML() function and pass
   in the changed parameters to it.

2) The drawlist of effects is gone through and each effects update()
   and draW() function is called.  The drawlist can be changed with
   the <draworder> tag.

3) Screen is flipped.

For your effects you should not load data with FOPEN ...
Rather use cMemoryStream or cFileStream.  These work almost
exactally like fopen, but will allow us to change the location
of the data(eg, RAM/.RAR) etc..

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


Here is a short tutorial on how camera works:

basically, you must first CREATE the camera like this:

<camera mode="create" name="bob" pos="0,0,-150"></camera>

this will create a camera called bob, and will give it a position.  the cameras 
rotation will be set to 0,0,0 by default.  the cameras 'viewport' will be set 
to fullscreen, the viewport is the area of the screen the camera will show in, 
so 0,0,0.5,0.5 will mean it will only draw to a quater of the screen and will 
appear in the top left corner.  So you can also create a camera like: 

<camera mode="create" name="bob" pos="0,0,-150" rot="0,0,0" 
viewport="0,0,1,1"></camera>

once the camera is made you want to tell an effect to use it.  If you have a 
skybox effect:

<add type="skybox" name="sky"></add>
<skybox file_top="top.jpg" file_left="left.jpg" file_right="right.jpg" 
file_bottom="bot.jpg" file_front="front.jpg" file_back="back.jpg" 
camera="bob"></skybox>

and you can change the camera at any time: <skybox camera="bob2"></skybox>

but this will just give you a static camera..useful for somethings, but if you 
want the camera to move you need to add keyframes.  keyframes are snapshots of 
camera settings at certain times, the camera will blend between these 
keyframes.  to specify keyframes:

<camera name="bob" mode="keyframe">
<key t="0.0" pos="0,0,2"></key>
<key t="200.0" pos="0,0,-2"></key>
<key t="400.0" pos="0,0,2"></key>
<key t="600.0" pos="0,0,-2"></key>
</camera>

t is TIME
pos is position (XYZ)
rot is rotation (XYZ)

this will make the camera go forward and then back, then forward then back.  
it'll happen over 600 'frames'.  The further apart the keyframes, the longer 
it'll take to blend.  at the end, it won't loop though, i need to add this 
feature.  You can also animate the cameras rotation:

<camera name="bob" mode="keyframe">
<key t="0.0" pos="0,0,2" rot="0,0,0"></key>
<key t="200.0" pos="0,0,-2" rot="0,0,180"></key>
<key t="400.0" pos="0,0,2" rot="0,0,0></key>
<key t="600.0" pos="0,0,-2" rot="0,0,90"></key>
</camera>

this animation the camera will rotate around Z (like turning your head).
try it out, i have some EXAMPLES of this camera script being used:
http://www.rawhed.com/tmp/crazy_v3.rar


there are .txt log files for text, warning and errors...if something dies
check the log files..but it still might not help you ;)

////////////////////////////////////////////////////////////////////////////////
>videoplayer, mayaplayer - setframe
you can now set your frame in the videoplayer and the mayaplayer.
there are 2 parameters, 'frame' and 'play',
frame will set the frame number and play is an on/off(0/1) value
which will set the animation to play or stop.

so to pause at a frame:
<mplay play="0"></mplay>

or to pause at a specific frame:
<mplay frame="401" play="0"></mplay>

and of course to start the playback again set play="1"

<key mode="set" control="keybank+" val="q"/>

<keybank num="0" key="1"></keybank>
<keybank num="1" key="2"></keybank>
<keybank num="2" key="3"></keybank>
<event key="q" bank="0"></event>

////////////////////////////////////////////////////////////////////////////////
>multi keymapping, support weird keys : " ;'. "  etc..

i haven't fixed 'weird keys', but i found out why its not working
so i can fix it soon.

keybanks:

the demoengine has 10 keybanks( so thats 0..9, not 1..10 ) .  you can add events to any of these banks.
the demoengine also keeps track of which is the current selected keybank.

<keybank set="0"></keybank>
will set the current bank to 0
<keybank inc="1"></keybank>
will increase the current bank by 1
<keybank inc="3"></keybank>
will increate the current bank by 3
<keybank dec="2"></keybank>
will decrease the current bank by 2

whenever the current bank is less than zero, it will stop at 0, if it
goes higher than 9, it will stop at 9.  the default keybank is 0.

also there is a change to the way events are specified:

<event key="Q" bank="0">
	<clear color="0xffff0000"></clear>
</event>

easy... if you don't put the bank parameter it will default to -1,
-1 means it will work GLOBALLY, it doesn't matter what bank the current keybank
is set to.

so..here is an example of how to use it completely:


	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<event key="1" bank="-1">
		<keybank inc="1"></keybank>
	</event>
	<event key="2" bank="-1">
		<keybank dec="1"></keybank>
	</event>
	<event key="3" bank="-1">
		<keybank set="3"></keybank>
	</event>


	<event key="Q" bank="0">
	<clear color="0xffff0000"></clear>
	</event>
	<event key="W" bank="1">
	<clear color="0xff00ff00"></clear>
	</event>
	<event key="E" bank="-1">
	<clear color="0xff0000ff"></clear>
	</event>

	<draworder effect="clear"></draworder>

so keys 1,2,3 will change the current keybank
keys Q,W,E are events, but Q,W only work when you are on curtain current keybank
E will work no matter what your current keybank selected is.

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	|>emo$ystem (Build: 02:25:43 Jan 21 2004)
//	by rawhed/faktory^moOjUiCE^pht (c) 2002-2004
//
////////////////////////////////////////////////////////////////////////////
//
//	wednesday 21-01-2004 (Build: 02:25:43 Jan 21 2004)
//
//	+ NEW FEATURES:
//
//		+	engine can now load .PNG!!
//			even 32bit ones with alpha channel
//			
//		+	upgraded to using BASS2.0 from 1.8a
//
//		+	sizing and positioning has been added to ALL
//			effects, so now you have have your effects
//			drawing to only regions of the screen instead
//			of the whole screen always
//
//		+	noisetexture effect
//			writes noise to a texture :)
//
//		+	added positioning example
//		+	added particlebox5 example
//		+	added texturenoise examples
//		
//		+	fixed bug in gif player, crashed on exit
//
////////////////////////////////////////////////////////////////////////////
//
//	monday 05-01-2004 (Build: 00:11:29 Jan  5 2004)
//
//	+	RANT
//
//		+	again another long gap in the updates :(
//		+	the engine was used for our demo for assembly03: 
//			'feed your machine', after that there wasn't much 
//			time/energy for updates.
//		+	rava continues to use it for VJing in moscow, latvia and
//			other places in europe.
//
//	+	API
//
//		+	improved plugin API..better design, more flexible
//		+	DRAMATICALLY reducted size of the main exe and ALL dlls
//			this was done through not using libc.lib but rather
//			using MSVCRT.DLL, MSVCPRT.DLL and also due to the 
//			better API design and use of pure virtual functions
//
//	+ NEW FEATURES:
//
//		+	improved keyboard input
//			now all the special characters like !"£$@{}#' should work,
//			as well as holding down SHIFT and having CAPSLOCK on.
//
//		+	buttons
//			added clickable interactive buttons! this idea came
//			from Reverie/Faktory^moOjUiCE.  a demo called 'buttontest' is has
//			been added to the demo section to show it.  Its now possible
//			to create simple mouse-driven apps with demosys!
//
//			the buttons support actions for being clicked, going over,
//			and leaving the buttons.
//
//		+	screengrabber
//			create the effect, bind it to a key and u got a screengrabber =)
//			writes to 32bit .bmp
//
//		+	'wtf' effect
//			by uttumuttu/Faktory
//			a rather old effect now, but still cool!
//
//	+ BUG FIXES, MINOR CHANGES, ODDS & SODS
//		+	documentation updated, corrected and consolidated
//		+	new samples: 'snow_using_include', 'keybanks', 'screengrab'
//			'wtf'
//		+	elimatinated the <create/> tag..it was useless
//		+	all sorts of small optimisations and bugfixes to main engine
//			including a crash bug where if texture wasn't found it would
//			create a new texture but it called the function with the
//			wrong params(i can't understand why the compiler didn't complain)
//		+	XML parser optimised and bug fixed
//			now supports _ and numbers in tag names
//		+	can now add a keylog="0" to the demo param and it won't log the keys
//
////////////////////////////////////////////////////////////////////////////
//
//	friday 11-07-2003
//
//	+	improved xml parser(handles spaces better, faster)
//		can now do <hello/> instead of <hello></hello>
//	+	improved camera parameters, including looping ability
//		pingpong with easein+out.
//	+	added animated gif support :) including transparent gifs
//	+	using a newer version of BASS
//	+	added an AVI writer effect!
//	+	added new examples for the new fx
//
////////////////////////////////////////////////////////////////////////////
//
//	wednesday 04-06-2003
//
//	been AGES since updated this..ARGH ;p lots has happened though
//	here is a summary of what i can remember
//
//	+	added .md2 player effect
//	+	lockflash effect added (flashes your num/caps/scroll lock)
//	+	wavebox effected added
//	+	fogflash effect added
//	+	picture effect tiles now, useful for rotozoom
//	+	added 'camera' element, keyframing
//	+	added 'texture' element, textures can be reused etc..
//	+	now effects hold data about their variables which can
//		be retrieved.
//	+	more examples!
//	+	added gridmap effect
//	+	added skybox effect
//	+	improved vis for musicplay effect
//
////////////////////////////////////////////////////////////////////////////
//
//	wednesday 16-10-2002
//
//	+	added a doc about creating plugins
//	+	name="blah" actually changes the window title now(yay)
//	+	gave the exe an icon :)
//	+	added new effect skybox
//	+	started new "gridmap"
//	+	started a webcam plugin
//	+	added new effects to videoplayer and made it faster and
//		more compatible.
//	+	added examples for videoplay, skycube, particlebox, clear,
//		flash and others
//
//////////////////////////////////////////////////////////////////////////////
//
//	friday 04-10-2002
//
//	+	added videoplayer effect
//	+	put keylogging back in
//	+	added more examples
//
////////////////////////////////////////////////////////////////////////////
//
//	sunday 08-09-2002
//
//	+	removed all effects from main code, making things more modula.
//		It now uses DLL plugins via the new command <loadplugin>!
//		This allows coders to add effects more easily.  Had to 
//		change the directory structure and split libraries, but its
//		much better now.
//
//	+	Made more script examples to help people learn
//
//	+	Made some code example for easily writing new plugins
//
//	+	It used to be that if you didn't specify a texture for an
//		effect it would use white.  Now it uses the last textureset.
//		This allows a texture from effect1 to be used for effect2.
//		You can make some nice effects using this.
//
//
//
////////////////////////////////////////////////////////////////////////////
//
//	monday 26-08-2002
//
//	+	added vhs into the demo tag...setting this to 1 will let you FF 
//		and REW the demo
//
//	+	effect dogtail, has parameters: num and filename
//
//	+	added quicksort back in, so loading is faster
//
//	+	ALL effects now have these values:
//		
//			<fx speed="1.0" active="1"></fx>
//
//		speed will make it go faster/slower ;) and active will just turn 
//		the effect on or off, even if its in the draworder list.
//
//	+	fixed some small bugs
//
//	+	ALL effects now have tweakable opengl values.  But the effect
//		itself can override the ones you set.  Here is how it looks:
//
//		<myeffect>
//			<gl restore="0">
//				<render active="0" flat="1" wire="0" envmap="0" linewidth="1"
//						 color="1,1,1,1"></render>
//				<depth active="0" test="1" write="1"></ztest>
//				<cull active="0" cull="1" mode="0"></cull>
//				<alpha active="0" blend="0" blendsrc="1" blenddst="1"
//						mask="0" maskvalue="0.5"></alpha>
//				<proj active="0" fov="45" near="0.1" far="400"></proj>
//				<fog active="0" fog="0" mode="1" density="0.5"
//						zstart="0.0" zend="1.0" color="0xffff0000"></fog>
//			</gl>
//		</myeffect>
//
//	+	commenting is in there, use <! and --> for comments..however
//		there might be a bug..
//
//	+	<include file="script5.txt"></include> can be used to include
//		extra script files, so you can seperate them if you want.
//
////////////////////////////////////////////////////////////////////////////
//
//	saturday 04-08-2002
//
//	+	made demo LICK_THE_EVERYTHING using demo engine
//
////////////////////////////////////////////////////////////////////////////
//
//	thursday 25-07-2002
//
//	+	added new version of UT's LTREE effect.  Leaves fall off of
//		the tree - very nice :)
//
//	+	when scripting music filenames you no loader need to specify the path
//
//	+	better error handling..much less likely to crash if u don't have the
//		data files.
//
//	+	XML parser tried to report bugs in the script
//
//	+	optimised.  sync is much more accurate.
//
//	+	added sample="1" or "0" to musicplay effect (.wav files only)
//		this will mean you can play the .wav file again and again and it
//		will generate new channels to play it on.
//		So if you bind a musicplay effect to a key that has sample="1"
//		when you press the key before the sample has finished playing it
//		will play it again...up to 16 channels per musisplay effect.
//
//	+	added active="1" or "0" to fontcool text.  So you can specify all
//		your lines of text but switch which are visible
//
//	+	particlebox has new parameters:
//
//			spawndim="10,10,10"	dimension particles can spawn in
//			dirmin="-1,0,0"	particle XYZ movement direction minrange
//			dirmax="1,0,1"	particle XYZ movement direction maxrange
//			lifespan="100"	average particle lifespan
//
////////////////////////////////////////////////////////////////////////////
//
//	wednesday 18-07-2002
//
//
//	+	echo,flange,rotate,flangespeed added to musicplay effect
//
//
//	+	loopframe parameter added to 3dscene.  This is the frame at which 
//		the animation will reset back to zero.  If you don't want the
//		animation to loop you should use 10000 or something super high :)
//
////////////////////////////////////////////////////////////////////////////
//
//	sunday 14-07-2002
//
//
//	+	can pass parameter of the script you want to load
//		eg:
//			demo script2.txt
//
//	+	new effect: fontcool
//
//		fontcool
//			parameters:
//				basefont="arial"	(most windows TTF's)
//				extrude="0.1"		(Z amount to extrude, 0 = flat)
//				italics="0"	
//				quality="0.1"	(0 best,slowest -> 1 worst,fastest)
//			commands:
//				<text
//					num="0"			(which text line this is)
//					string="hello"
//					tra="0,0,0"		(translation)
//					rot="0,0,0"		(rotation)
//					sca="1,1,1"		(scale)
//					trav="0,0,0"	(translation increment)
//					rotv="0,0,0"	(rotation increment)
//					scav="0,0,0"	(scale increment)
//					color="0xffffffff">
//
//	+	new effect: particlebox
//
//		particlebox
//			paramaters:
//				texture="blah.tga"
//				number="500"		(number of particleS)
//				speed="1"		
//				dim="50,50,50"	(dimensions of box)
//				tra="0,0,0"		(translation)
//				rot="0,0,0"		(rotation)
//				sca="1,1,1"		(scale)
//				trainc="0,0,0"	(ammount to increase translation by each frame)
//				rotinc="0,0,0"	(ammount to increase rotation by each frame)
//				scainc="0,0,0"	(cmmount to increase scale by each frame)
//				pdir="0,0,0"	(direction particles move in)
//				prot="0,0,0"	(rotation of particles)
//			command:
//				random			(randomise particles)
//				origin			(bring all the origin)
//
//	+	3dscene effect: added camera parameter to swap current camera
//
//	+	picture effect changed the translatin, rotation, scale
//		to use this smaller format:
//			tra="0,0,0"
//			rot="0,0,0" (degrees)
//			sca="1,1,1"
//
//	+	started work on new effect dogtail
//	+	bugs fixed
//
////////////////////////////////////////////////////////////////////////////
//
//	monday 08-07-2002
//
//
//	+	musicplay now also supports these:
//			filename="*.mtm,*.mo3,*.mp3,*.mp2,*.ogg,*.wav"
//	+	added trailval="1.0" to clear effect
//		this will not clear the screen but just darken it.
//		very useful for blurry additive effects and motion trails
//
////////////////////////////////////////////////////////////////////////////
//
//	friday 05-07-2002
//
//	+	new effects from UT:
//
//		starspace
//			parameters:
//			commands:
//		teddy
//			parameters:
//			commands:
//		ltree
//			parameters:
//			commands:
//
//	+	attack, sustain, decay added to flash(teels idea)
//	+	additive,subtracted, negative flash modes 
//
//	+	picture effect R<->B bug fixed.
//	+	picture effect supports arbitary sized .tga now
//		but they must be bigger then 8 and must an even number
//		so 640x480 will work..it will divide the images up into 
//		segments of 256x256 or smaller.
//
//	+	engine speed has improved so the synchronisation will be more accurate
//
//	+	new effect: 3dscene
//
//		3dscene (no camera control..YET)
//		paramaters:
//			file="blah.zen"
//			speed="0.4"
//			timeoffset="0.0"
//			frame="0.0"
//			visible="1"
//		commands:
//			go
//
//		still very basic..needs camera control added.
//
////////////////////////////////////////////////////////////////////////////



//
//	+	ramble
//	+	tutorial
//	+	todo list
//	+	change log
//
////////////////////////////////////////////////////////////////////////////
//
//	+	TODO LONGTERM
//		+	GUI
//
//	+	TODO SHORTTERM
//
//		+	get mayaplay fx working properly again
//		+	consolidate documentation
//		+	flash(.SWF) player
//			still lacking some features, so it will get improved over
//			time.  Most notibly it lacks filled polygons, audio and 
//			bitmaps.
//
wanted:

+ viewports for effects and ability to scroll/zoom in them(picture effect zoom+scroll!)

+ how can i hold anim still and jump to some specific frame?

+ how can i define/control ground/sky

+ dif skybox movement
+ how can i change angle of camera for 3D anim?
+ how can i zoom it?
+ different camera movement for this one would be very handy as well.

+ another thing we should get a hold of is smoke. for the factory..

+ how about +/- things in the draworder? would it be possible with current
  structure and interpretation of the script?

<camera mode="create" name="cam1" viewport="" fov="" znear="" zfar="" position="0,0,0" rotation="0,0,0" viewport=""></camera>

new stuff:

////////////////////////////////////////////////////////////////////////////////////////////

update fx: GRIDMAP:

this effect has some new presets.  presets 0->14.  some new funky distortions.

to use this effect:

<add type="gridmap" name="gm"></add>
<gm preset="13"></gm>

<draworder effect="clear" effect="something" effect="gm"></draworder>

<event key="q"
	<gm preset="5"></gm>
</event>
<event key="w"
	<gm preset="9"></gm>
</event>

////////////////////////////////////////////////////////////////////////////////////////////

new fx: LOCKFLASH:

flashes the Num & Caps & Scroll lock lights!!!!!

this is how to create it and let keys Q,W,E toggle the lights:

<add type="lockflash" name="lf"></add>

<draworder effect="clear" effect="lf"></draworder>

<event key="q">
	<lf num></lf>
</event>

<event key="w">
	<lf caps></lf>
</event>

<event key="e">
	<lf scroll></lf>
</event>


////////////////////////////////////////////////////////////////////////////////////////////

new fx: WAVEBOX:

sort of weird 3d wave effect, but can look totally different and weird by choosing right
parameters and using some strange textures and blending

here is how to create it:

<add type="Wavebox" name="wave"></add>
<wave texture="partblue.tga" preset="11"></wave>

<draworder effect="clear" effect="wave"></draworder>

<event key="Q">
	<wave texture="partblue.tga"></wave>
</event>
<event key="w">
	<wave preset="8"></wave>
</event>


the effect comes with 11 "presets" of wave shape. toggle these with preset="2" parameter

////////////////////////////////////////////////////////////////////////////////////////////

new engine: NEW TEXTURE HANDLING:

this allows you to load textures and then swap textures in effects.
wavebox is the only effect so far to use the engine NEW texture handler so far, but I'll change
the others to use it soooon.  

here is how to use it:

to load some textures into engine:

	<texture mode="load" filename="part2.tga"></texture>
	<texture mode="load" filename="partblue.tga"></texture>
	<texture mode="load" filename="phantasy.tga"></texture>

then you can use these textures in wavebox effect:

<add type="Wavebox name="wave"></add>
<wave texture="partblue.tga"></wave>

<event key="q">
	<wave texture="phantasy.tga"></wave>
</event>

<event key="w">
	<wave texture="part2.tga"></wave
</event>

////////////////////////////////////////////////////////////////////////////////////////////

new fx: FOGFLASH:

this is similar to the old 'flash' effect, but it uses the opengl FOG engine, this means in 3d
scenes the flash will start from the back and come to the front.  Pretty neat.

	<add type="fogflash" name="ff"></add>
	<ff speed="0.01" attack="2.0" sustain="0.0" decay="5.0" srccolor="0,0,0" dstcolor="0.9,0.8,0.5" srczstart="100" srczend="200" dstzstart="0" dstzend="100">
	<gl restore="0">
	</gl>
	</ff>

	<draworder effect="clear" effect="fogflash" effect="something"></draworder>

you NEED the <gl restore="0"> part because otherwise the FOG state won't be passed to the next effect.
there is one preset so far, which can be set with:

<ff preset="0"></ff>

////////////////////////////////////////////////////////////////////////////////////////////


------------------------------------------------------------------------------
program
	demo.exe scriptname.txt			(defaults to script.txt)

------------------------------------------------------------------------------
script
	demo
		parameters:
			name="q3view"
			width="640"
			height="480"
			bpp="32"
			fullscreen="0"
			vhs="1"				means you can click an FF/REW the demo
		commands:
			create
			load
			run
------------------------------------------------------------------------------
	load
		parameters:
			effect="effectname"

	This is the effect to play while loading is occuring.
	This effect will be loaded first..so best if its small :)

------------------------------------------------------------------------------
	event
		paramaters:
			time="0.0"
			key="a"
			trigger="a"
		commands:
		example:

			<event key="j">
				<flash1><go></go></flash1>
				<logo scax="4" scay="4"></logo>
				<fish1 timeoffset="40"></fish1>
				<logo rotz="180"></logo>
			</event>

			<event time="2.6" trigger="j">
			</event>

			<event time="50">
				<flash2><go></go></flash2>
				<fish1 timeoffset="-80"></fish1>
				<logo rotz="0"></logo>
			</event>

------------------------------------------------------------------------------
	draworder
		paramaters:
			effect="blah1"
			effect="blah2"
			effect="blah3"
		commands:
		example:

			<draworder effect="clear1" effect="ball" effect="bobs"></draworder>

------------------------------------------------------------------------------
	ALL EFFECTS have these:

	xxx
		parameters:
			active="1"				draw+update on/off, even if effect in draworder list
			speed="1.0"				multiplier for speed

	they also all have a GL section:

		<gl restore="1">			this means that after the effect is run it will return
									the original gl values.  this should be used most of time
			<render	active="1"
					flat="0"		use smooth/flat shading
					wire="0"		wireframe
					envmap="0"		environment mapping on/off
					linewidth="1"
					color="1,1,1,1">
			</render>
			<depth	active="1"
					test="0"		test zbuffer...turn this off to draw always
					write="0">		write to zbuffer
			</depth>
			<cull	active="1"
					cull="1"		cull backfacing polgons..or not
					mode="0">		0=back, 1=front
			</cull>
			<alpha	active="1"
					blend="0"		turn blending on/off(1/0)
					blendsrc="1"	there are 10 blend modes, see below for list
					blenddst="1"
					mask="0"		use the texture alpha channel to cutout
					maskvalue="0.5">	0.0->1.0  if alpha channel pixel >= maskvalue then cutout
			</alpha>
			<proj	active="1"
					fov="45"		field of view in degrees
					near="0.1"		near clip plane
					far="400">		far clip plane
			</proj>
			<fog	active="1"
					on="1"
					mode="1"
					density="1.0"
					zstart="0.0"
					zend="50.0"
					color="0xffffffff">
			</fog>
		</gl>

		blend table
		0 GL_ZERO
		1 GL_ONE
		2 GL_SRC_COLOR
		3 GL_ONE_MINUS_SRC_COLOR
		4 GL_SRC_ALPHA
		5 GL_ONE_MINUS_SRC_ALPHA
		6 GL_DST_ALPHA
		7 GL_ONE_MINUS_DST_ALPHA
		8 GL_DST_COLOR
		9 GL_ONE_MINUS_DST_COLOR

------------------------------------------------------------------------------
	clear
		paramaters:
			color="0xff112233"
			trailval="0.0" (0.0->1.0)
		commands:
		example:

			<add type="clear" name="clear1"></add>
			<clear1 color="0xffffffff" trailval="1.0"></clear1>

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

	musicplay
		paramaters:
			filename="*.it,*.xm,*.mod,*.s3m,*.mtm,*.mo3,*.mp3,*.mp2,*.ogg,*.wav"
			volume="1.0"
			flange="0"
			echo="0"
			rotate="1"
			flangespeed="0.0005"
			sample="1"				(only for .wav files, can play multiple times like for sfx)
		commands:
			play
			stop
		example:

			<add type="musicplay" name="track flange="1" echo="0"></add>
			<track filename="data/music/potion.mp3"></track>

------------------------------------------------------------------------------
	flash
		paramaters:
			color="0xff112233"
			attack="1.0"
			sustain="1.0"
			decay="1.0"
			mode="0" (0=additive 1=subtractive 2=negative)
		commands:
			go
		example:

			<add type="flash" name="flash1"></add>
			<flash1 color="0xffffffff" mode="1" attack="0.2" decay="0.2" sustain="1.0"></flash1>

			<event time="5">
				<flash1><go></go></flash1>
			<event>

------------------------------------------------------------------------------
	picture (must be >8x8 and even width and height,24/32bpp)
		paramaters:
			filename="*.tga"
			tra="0,0,0"
			rot="0,0,0" (degrees)
			sca="0,0,0"
		commands:
		example:

------------------------------------------------------------------------------
	starspace
		parameters:
		commands:
		example:

		<add type="starspace" name="space1"></add>

------------------------------------------------------------------------------
	teddy
		parameters:
		commands:
		example:

		<add type="teddy" name="teddy1"></add>

------------------------------------------------------------------------------
	ltree
		parameters:
		commands:
		example:

		<add type="ltree" name="tree1"></add>

------------------------------------------------------------------------------
	3dscene
		paramaters:
			filename="blah.zen"
			speed="0.4"
			timeoffset="0.0"
			frame="0.0"
			loopframe="90.0"
			visible="1"
			camera="camera01"
		commands:
			go
		example:
		
			<add type="3dscene" name="ball"></add>
			<ball filename="headlook.zen"></ball>

------------------------------------------------------------------------------
	fontcool
		parameters:
			basefont="arial"	(most windows TTF's)
			extrude="0.1"		(Z amount to extrude, 0 = flat)
			italics="0"
			quality="0.1"		(0 best,slowest -> 1 worst,fastest)
			numtexts="1"		(number of lines of text)
			texture="blah.tga"
		commands:
			<text
				num="0"			(which text line this is)
				active="1"		(draw or not)
				string="hello"
				tra="0,0,0"		(translation)
				rot="0,0,0"		(rotation)
				sca="1,1,1"		(scale)
				trav="0,0,0"	(translation increment)
				rotv="0,0,0"	(rotation increment)
				scav="0,0,0"	(scale increment)
				color="0xffffffff">
		example:

			<add type="fontcool" name="font"></add>
			<font basefont="impact" extrude="0.1" italics="0" quality="0.0" pos="41,42,34" texture="rust_collage.tga" numTexts="2">
				<text num="0" active="1" tra="-0.5,-0.5,-1" trav="-0.001,0,0" scav="0.01,0.01,0" string="H3110">
				</text>
				<text num="1" active="0" tra="0,1,-2" string="1234567890">
				</text>
			</font>

------------------------------------------------------------------------------
	particlebox
		parameters:
			texture="blah.tga"
			number="500"		(number of particleS)
			speed="1"		
			dim="50,50,50"	(dimensions of wrap box)
			spawndim="10,10,10"	(dimension particles can spawn in)
			dirmin="-1,0,0"	(particle XYZ movement direction minrange)
			dirmax="1,0,1"	(particle XYZ movement direction maxrange)
			lifespan="100"	(average particle lifespan, if you don't want a life span, don't write one)
			tra="0,0,0"		(translation)
			rot="0,0,0"		(rotation)
			sca="1,1,1"		(scale)
			trainc="0,0,0"	(ammount to increase translation by each frame)
			rotinc="0,0,0"	(ammount to increase rotation by each frame)
			scainc="0,0,0"	(cmmount to increase scale by each frame)
			pdir="0,0,0"	(direction particles move in)
			prot="0,0,0"	(rotation of particles)
			color="0xff00ff00"
			src="1"			(blend)
			dst="1"			(blend)
		command:
			random			(randomise particles)
			origin			(bring all the origin)
		example:

			<add type="particlebox" name="bobs"></add>
			<bobs	texture="particleblue.tga" 
					number="500"
					dim="150,150,150"
					scainc="0.01,0,0.00"
					pdir="0.01,0.02,0.1"
					prot="0.001,0.002,0.003">
			</bobs>

------------------------------------------------------------------------------
	dogtail
		parameters:
			num="4"
			filename="texture.tga"

		example:
			<add type="dogtail" name="dog"></add>
			<dog filename="rust_collage.tga"></dog>

------------------------------------------------------------------------------
	videoplay
		parameters:
			filename="vid.avi"

		example:
			<add type="videoplay" name="vid1"></add>
			<vid1 filename="video1.avi"></vid1>

------------------------------------------------------------------------------
	skybox
		parameters:
			camera="1"
			file_front="1.tga"
			file_back="2.tga"
			file_top="3.tga"
			file_bot="4.tga"
			file_left="5.tga"
			file_right="6.tga"
		example:

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

<demo name="particlebox5" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"/>
	<loadplugin file="../fx/fx_rawhed.dll"/>

	<add type="clear" name="clear"/>
	<clear color="0xff000000"/>

	<add type="picture" name="pic1"/>
	<pic1 area_pos="0.0,0.0" area_size="1.0,1.0" filename="faktory_logo_alpha.png">
	<gl restore="1">
		<alpha	active="1"
			blend="1"
			blendsrc="4"
			blenddst="5"
			mask="1"
			maskvalue="0.8"/>
	</gl>
	</pic1>

	<add type="particlebox" name="part"></add>
	<part		area_size="1.0,1.0" area_pos="0.0,0.0"
			texture="particleblue.tga"
			number="100"
			speed="3"
			dim="500,500,500"
			spawndim="1,1,100"
			dirmin="0,0,0"
			dirmax="0,0,0"
			tra="0,0,0"
			rot="0,0,0"
			sca="1,10,10"
			trainc="0,0,0"
			rotinc="0.0,0,0.0"
			scainc="0,0.0,0"
			pdir="0.1,0,0.0"
			prot="0.0,0.006,0.01"
			color="0xffffffff"
			src="1"
			dst="1"/>

	<add type="particlebox" name="part2"></add>
	<part2		area_size="1.0,1.0" area_pos="0.0,0.0"
			texture="particleorange.tga"
			number="100"
			speed="3"
			dim="500,500,500"
			spawndim="1,1,100"
			dirmin="0,0,0"
			dirmax="0,0,0"
			tra="0,0,0"
			rot="0,0,0"
			sca="10,1,10"
			trainc="0,0,0"
			rotinc="0.0,0,0.0"
			scainc="0,0.0,0"
			pdir="0.1,0,0.0"
			prot="0.0,0.006,-0.01"
			color="0xffffffff"
			src="1"
			dst="1"/>

	<draworder effect="clear" effect="part" effect="part2" effect="pic1"/>

	<load/>
	<run/>

</demo>
<demo name="example1" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_ut.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>
	<loadplugin file="../fx/fx_example.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="splash" name="water"></add>
	<water speed="0.1" num="1"></water>

	<add type="dogtail" name="dog"></add>
	<dog speed="0.29" num="3" filename="asm1.tga">
	<gl restore="0">
		<render	active="1"
			flat="0"
			wire="0"
			envmap="1"
			linewidth="1"
			color="10.3,10.3,10.3,10.3"></render>
		<depth	active="0"
			test="1"
			write="1">
		</depth>
		<cull	active="1"
			cull="1"
			mode="0">
			</cull>
		<alpha	active="0"
			blend="1"
			blendsrc="1"
			blenddst="2"
			mask="0"
			maskvalue="0.5">
		</alpha>
		<proj	active="1"
			fov="35"
			near="0.2"
			far="600">
		</proj>
		<fog	active="0"
			on="1"
			mode="0"
			density="0.0"
			zstart="10.0"
			zend="110.0"
			color="0xff000000">
		</fog>
		</gl>
	</dog>

	<add type="cubeeffect" name="cube"></add>

	<add type="wtf" name="wtf"></add>
	<add type="rigid" name="rigid"></add>

	<add type="particlebox" name="part"></add>
	<part		number="100"
			speed="1"
			dim="50,50,50"
			spawndim="30,30,30"
			dirmin="0,0,0"
			dirmax="0,0,0"
			tra="0,0,0"
			rot="45,45,45"
			sca="1,1,3"
			trainc="0,0,0"
			rotinc="0.3,0.1,0.2"
			scainc="0,0.0,0"
			pdir="0,0,0.0"
			prot="0,0.0,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part>

	<add type="tunnelfx" name="tunnel"></add>

	<add type="videoplay" name="vid"></add>
	<vid filename="stupido.avi"></vid>

	<add type="horizrasters" name="hr1"></add>
	<hr1 num="64" grad="0" rangestart="0" rangeend="64" speed="1" 
		color1="0xffffffff" color2="0x0000000">
	<gl restore="0">
		<render	active="1"
			flat="0"
			wire="0"
			envmap="1"
			linewidth="1"
			color="10.3,10.3,10.3,10.3"></render>
		<depth	active="0"
			test="0"
			write="0">
		</depth>
		<cull	active="0"
			cull="0"
			mode="0">
			</cull>
		<alpha	active="0"
			blend="1"
			blendsrc="0"
			blenddst="3"
			mask="0"
			maskvalue="0.5">
		</alpha>
		<proj	active="0"
			fov="35"
			near="0.2"
			far="600">
		</proj>
		<fog	active="0"
			on="1"
			mode="0"
			density="0.0"
			zstart="10.0"
			zend="110.0"
			color="0xff000000">
		</fog>
	</gl>
	</hr1>

	<draworder effect="clear" effect="vid" effect="hr1"></draworder>

<event key="q">
<water><splash></splash></water>
</event>

	<load></load>

	<run></run>

</demo>
<demo name="fogflash1" width="640" height="480" bpp="32" fullscreen="0" showfps="0" showconfig="1">

	<loadplugin file="..\fx\fx_main.dll"></loadplugin>
	<loadplugin file="..\fx\fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<texture mode="load" filename="part2.tga"></texture>
	<texture mode="load" filename="partblue.tga"></texture>

	<add type="Wavebox" name="wave"></add>
	<wave texture="partblue.tga" preset="11"></wave>

	<add type="fogflash" name="ff"></add>
	<ff speed="0.01" attack="3.0" sustain="0.0" decay="4.0" srccolor="0,0,0" dstcolor="0.9,0.4,0.2" srczstart="100" srczend="200" dstzstart="-100" dstzend="0">
	<gl restore="0">
	</gl>
	</ff>

	<add type="lockflash" name="lf"></add>

	<draworder effect="clear" effect="ff" effect="wave" effect="lf"></draworder>

	<event key="Q">
	<wave texture="partblue.tga"></wave>
	<lf num></lf>
	<ff><go></go></ff>
	</event>
	<event key="W">
	<wave texture="part2.tga"></wave>
	<ff><go></go></ff>
	<lf scroll></lf>
	</event>
	<event key="E">
	<wave texture="part2.tga"></wave>
	<ff><go></go></ff>
	<lf caps></lf>
	</event>

	<event time="0" trigger="Q"></event>
	<event time="1" trigger="W"></event>
	<event time="2" trigger="E"></event>
	<event time="3" trigger="Q"></event>
	<event time="4" trigger="W"></event>
	<event time="5" trigger="E"></event>
	<event time="6" trigger="Q"></event>
	<event time="7" trigger="W"></event>

	<load></load>

	<run></run>

</demo>
<demo name="snow using includes" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<include file="snow_particlestuff.txt"/>

	<draworder effect="clear" effect="part" effect="part2"></draworder>
	<load></load>
	<run></run>

</demo>
<demo name="flash1" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_mayaplay.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xffa64c0c"></clear>
	<clear color="0xff000000"></clear>

	<add type="mayaplay" name="bong"></add>
	<bong filename="tree.zen" speed="1">
	<gl restore="1">
		<render	active="1"
			flat="0"
			wire="0"
			envmap="0"
			linewidth="1"
			color="1,1,1,1"></render>
		<depth	active="1"
			test="1"
			write="1">
		</depth>
		<cull	active="1"
			cull="0"
			mode="0">
		</cull>
		<alpha	active="0"
			blend="0"
			blendsrc="1"
			blenddst="2"
			mask="0"
			maskvalue="0.5">
		</alpha>
		<proj	active="1"
			fov="95"
			near="0.02"
			far="800">
		</proj>
		<fog	active="0"
			on="1"
			mode="0"
			density="0.0"
			zstart="-100.0"
			zend="120.0"
			color="0xffa64c0c">
		</fog>
	</gl>
	</bong>
	
	<draworder effect="clear" effect="bong"></draworder>

	<load></load>

	<bong camera="cameraShape1" frame="0" play="1" loopmin="0" loopmax="400"></bong>

	<run></run>

</demo>
<demo name="video2" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="musicplay" name="snd1"></add>
	<snd1 filename="cfx17.wav" sample="1"></snd1>
	<add type="musicplay" name="snd2"></add>
	<snd2 filename="metb18.wav" sample="1"></snd2>

	<draworder effect="clear" effect="snd1" effect="snd2"></draworder>

	<load></load>

	<event key="1">
		<snd1><play></play></snd1>
	</event>

	<event key="2">
		<snd2><play></play></snd2>
	</event>

	<run></run>

</demo>
<demo name="flash2" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="flash" name="flash1"></add>
	<flash1 color="0xffff0000"
		attack="0.05"
		sustain="0.1"
		decay="0.1"
		mode="0">
	</flash1>

	<add type="flash" name="flash2"></add>
	<flash2 color="0xffff00ff"
		attack="0.1"
		sustain="0.1"
		decay="0.1"
		mode="2">
	</flash2>
	
	<draworder effect="clear" effect="flash1" effect="flash2"></draworder>

	<event time="0"><flash1><go></go></flash1></event>
	<event time="1"><flash1><go></go></flash1></event>
	<event time="2"><flash1><go></go></flash1></event>
	<event time="3"><flash1><go></go></flash1></event>
	<event time="4"><flash1><go></go></flash1></event>
	<event time="5"><flash1><go></go></flash1></event>
	<event time="6"><flash1><go></go></flash1></event>
	<event time="7"><flash1><go></go></flash1></event>
	<event time="8"><flash1><go></go></flash1></event>
	<event time="9"><flash1><go></go></flash1></event>
	<event time="10"><flash1><go></go></flash1></event>

	<event time="0.5"><flash2><go></go></flash2></event>
	<event time="1.5"><flash2><go></go></flash2></event>
	<event time="2.5"><flash2><go></go></flash2></event>
	<event time="3.5"><flash2><go></go></flash2></event>
	<event time="4.5"><flash2><go></go></flash2></event>
	<event time="5.5"><flash2><go></go></flash2></event>
	<event time="6.5"><flash2><go></go></flash2></event>
	<event time="7.5"><flash2><go></go></flash2></event>
	<event time="8.5"><flash2><go></go></flash2></event>
	<event time="9.5"><flash2><go></go></flash2></event>
	<event time="10.5"><flash2><go></go></flash2></event>

	<load></load>
	<run></run>

</demo>
<demo name="flash1" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"/>
	<loadplugin file="../fx/fx_mayaplay.dll"/>
	<loadplugin file="../fx/fx_rawhed.dll"/>

	<add type="clear" name="clear"/>
	<clear color="0xff000000"/>

	<add type="picture" name="pic1"/>
	<pic1 filename="faktory_logo_alpha.png">
	<gl restore="1">
		<alpha	active="1"
			blend="1"
			blendsrc="4"
			blenddst="5"
			mask="0"
			maskvalue="0.5">
		</alpha>
	</gl>
	</pic1>

	<add type="mayaplay" name="3dtree"/>
	<3dtree filename="tree.zen" speed="1"/>

	<add type="texturenoise" name="noise"/>
	<noise width="256" height="256" tiling="4,4" mono="1" tintcolor="0.8,0.8,0.8" smooth="0" speed="1"/>
	<noise width="16" height="16" tiling="1,1" mono="1" tintcolor="0.8,0.8,0.8" smooth="1" speed="0"/>
	
	<draworder effect="clear" effect="3dtree" effect="noise" effect="pic1"/>

	<load/>

	<3dtree camera="cameraShape1" frame="0" play="1" loopmin="0" loopmax="400"/>

	<run/>

</demo>
<demo name="flash1" width="640" height="480" bpp="32" fullscreen="0" showfps="0" showconfig="1">

	<loadplugin file="..\fx\fx_main.dll"></loadplugin>
	<loadplugin file="..\fx\fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<camera mode="create" name="man" pos="1.0,0,0.5" rot="60,0,90"></camera>

	<add type="picture" name="pic"></add>
	<pic filename="drfreak.tga"></pic>

	<add type="md2play" name="md2"></add>
	<md2 filename="scenes\tris.md2" speed="0.1"></md2>
	<md2 camera="man"></md2>


	<draworder effect="clear" effect="md2"></draworder>

	<load></load>
	<run></run>

</demo>
<demo name="picture2" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="picture" name="pic1"></add>
	<pic1 filename="bg1.tga"
		rot="0,0,40"
		sca="1,1,1">
	<gl restore="1">
		<render	active="1" wire="0"></render>
	</gl>
	</pic1>
	
	<draworder effect="clear" effect="pic1"></draworder>

	<load></load>
	<run></run>

</demo>
<demo name="wavebox1" width="640" height="480" bpp="32" fullscreen="0" showfps="0" showconfig="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0x11111111" trailval="1.0"></clear>

	<add type="wavebox" name="wave"></add>
	<wave texture="partblue.tga" preset="10" speed="5">
	<gl restore="1">
		<render	active="1"
			flat="0"
			wire="0"
			envmap="0"
			linewidth="1"
			color="1,1,1,1"></render>
		<depth	active="1"
			test="1"
			write="1">
		</depth>
		<cull	active="1"
			cull="0"
			mode="0">
		</cull>
		<alpha	active="1"
			blend="1"
			blendsrc="1"
			blenddst="1"
			mask="0"
			maskvalue="0.5">
		</alpha>
		<proj	active="0"
			fov="46"
			near="0.02"
			far="800">
		</proj>
		<fog	active="0"
			on="1"
			mode="0"
			density="0.0"
			zstart="-50.0"
			zend="120.0"
			color="0xff0c4ca6">
		</fog>
	</gl>
	</wave>

	<draworder effect="clear" effect="wave"></draworder>

	<event time="7.1" trigger="0">
	</event>
	<event time="11.5" trigger="9">
	</event>
	<event time="17.8" trigger="B">
	</event>
	<event time="17.8" trigger="">
	</event>
	<event time="18.0" trigger="N">
	</event>
	<event time="18.0" trigger="‘">
	</event>
	<event time="18.2" trigger="M">
	</event>
	<event time="18.4" trigger="B">
	</event>
	<event time="18.4" trigger="">
	</event>
	<event time="18.6" trigger="N">
	</event>
	<event time="18.6" trigger="‘">
	</event>
	<event time="18.8" trigger="M">
	</event>
	<event time="19.0" trigger="N">
	</event>
	<event time="19.0" trigger="‘">
	</event>
	<event time="19.1" trigger="B">
	</event>
	<event time="19.1" trigger="">
	</event>
	<event time="19.3" trigger="N">
	</event>
	<event time="19.3" trigger="‘">
	</event>
	<event time="19.5" trigger="M">
	</event>
	<event time="19.7" trigger="M">
	</event>
	<event time="19.9" trigger="M">
	</event>
	<event time="20.0" trigger="B">
	</event>
	<event time="20.0" trigger="">
	</event>
	<event time="20.1" trigger="N">
	</event>
	<event time="20.1" trigger="‘">
	</event>
	<event time="20.3" trigger="B">
	</event>
	<event time="20.3" trigger="">
	</event>
	<event time="20.4" trigger="N">
	</event>
	<event time="20.4" trigger="‘">
	</event>
	<event time="20.6" trigger="B">
	</event>
	<event time="20.6" trigger="">
	</event>
	<event time="20.7" trigger="M">
	</event>
	<event time="20.9" trigger="B">
	</event>
	<event time="20.9" trigger="">
	</event>
	<event time="21.1" trigger="M">
	</event>
	<event time="21.3" trigger="M">
	</event>
	<event time="21.5" trigger="M">
	</event>
	<event time="21.6" trigger="B">
	</event>
	<event time="21.6" trigger="">
	</event>
	<event time="21.8" trigger="N">
	</event>
	<event time="21.8" trigger="‘">
	</event>
	<event time="21.9" trigger="B">
	</event>
	<event time="21.9" trigger="">
	</event>
	<event time="22.1" trigger="N">
	</event>
	<event time="22.1" trigger="‘">
	</event>
	<event time="22.3" trigger="B">
	</event>
	<event time="22.3" trigger="">
	</event>
	<event time="22.4" trigger="N">
	</event>
	<event time="22.4" trigger="‘">
	</event>
	<event time="22.6" trigger="B">
	</event>
	<event time="22.6" trigger="">
	</event>
	<event time="22.8" trigger="M">
	</event>
	<event time="23.0" trigger="B">
	</event>
	<event time="23.0" trigger="">
	</event>
	<event time="23.1" trigger="N">
	</event>
	<event time="23.1" trigger="‘">
	</event>
	<event time="23.3" trigger="B">
	</event>
	<event time="23.3" trigger="">
	</event>
	<event time="23.5" trigger="M">
	</event>
	<event time="23.6" trigger="N">
	</event>
	<event time="23.7" trigger="‘">
	</event>
	<event time="23.8" trigger="M">
	</event>
	<event time="24.0" trigger="N">
	</event>
	<event time="24.0" trigger="‘">
	</event>
	<event time="24.2" trigger="N">
	</event>
	<event time="24.2" trigger="‘">
	</event>
	<event time="24.4" trigger="B">
	</event>
	<event time="24.4" trigger="V">
	</event>
	<event time="24.4" trigger="">
	</event>
	<event time="24.5" trigger="">
	</event>
	<event time="24.6" trigger="N">
	</event>
	<event time="24.6" trigger="‘">
	</event>
	<event time="24.8" trigger="V">
	</event>
	<event time="24.8" trigger="">
	</event>
	<event time="24.9" trigger="N">
	</event>
	<event time="25.0" trigger="‘">
	</event>
	<event time="25.2" trigger="B">
	</event>
	<event time="25.2" trigger="">
	</event>
	<event time="25.3" trigger="N">
	</event>
	<event time="25.3" trigger="‘">
	</event>
	<event time="25.5" trigger="B">
	</event>
	<event time="25.5" trigger="">
	</event>
	<event time="25.7" trigger="M">
	</event>
	<event time="25.9" trigger="N">
	</event>
	<event time="26.0" trigger="‘">
	</event>
	<event time="26.2" trigger="O">
	</event>
	<event time="26.6" trigger="I">
	</event>
	<event time="27.0" trigger="O">
	</event>
	<event time="27.0" trigger="P">
	</event>
	<event time="27.2" trigger="O">
	</event>
	<event time="27.3" trigger="P">
	</event>
	<event time="27.4" trigger="P">
	</event>
	<event time="27.7" trigger="O">
	</event>
	<event time="27.8" trigger="O">
	</event>
	<event time="28.0" trigger="I">
	</event>
	<event time="28.0" trigger="O">
	</event>
	<event time="28.1" trigger="P">
	</event>
	<event time="28.3" trigger="O">
	</event>
	<event time="28.5" trigger="O">
	</event>
	<event time="28.7" trigger="O">
	</event>
	<event time="28.8" trigger="D">
	</event>
	<event time="29.2" trigger="P">
	</event>
	<event time="29.5" trigger="O">
	</event>
	<event time="29.9" trigger="I">
	</event>
	<event time="30.3" trigger="D">
	</event>
	<event time="30.6" trigger="O">
	</event>
	<event time="30.8" trigger="F">
	</event>
	<event time="31.0" trigger="I">
	</event>
	<event time="31.2" trigger="G">
	</event>
	<event time="31.4" trigger="P">
	</event>
	<event time="31.7" trigger="H">
	</event>
	<event time="32.0" trigger="O">
	</event>
	<event time="32.4" trigger="F">
	</event>
	<event time="32.8" trigger="D">
	</event>
	<event time="33.0" trigger="F">
	</event>
	<event time="33.2" trigger="F">
	</event>
	<event time="33.9" trigger="F">
	</event>
	<event time="34.0" trigger="D">
	</event>
	<event time="34.3" trigger="D">
	</event>
	<event time="34.6" trigger="F">
	</event>
	<event time="35.0" trigger="D">
	</event>
	<event time="35.8" trigger="3">
	</event>
	<event time="35.9" trigger="P">
	</event>
	<event time="36.0" trigger="3">
	</event>
	<event time="36.2" trigger="4">
	</event>
	<event time="36.2" trigger="O">
	</event>
	<event time="36.3" trigger="P">
	</event>
	<event time="36.4" trigger="3">
	</event>
	<event time="36.5" trigger="O">
	</event>
	<event time="36.5" trigger="4">
	</event>
	<event time="36.7" trigger="P">
	</event>
	<event time="36.7" trigger="3">
	</event>
	<event time="36.9" trigger="5">
	</event>
	<event time="36.9" trigger="O">
	</event>
	<event time="37.0" trigger="P">
	</event>
	<event time="37.1" trigger="3">
	</event>
	<event time="37.2" trigger="4">
	</event>
	<event time="37.2" trigger="O">
	</event>
	<event time="37.3" trigger="P">
	</event>
	<event time="37.3" trigger="5">
	</event>
	<event time="37.3" trigger="O">
	</event>
	<event time="37.4" trigger="2">
	</event>
	<event time="37.5" trigger="P">
	</event>
	<event time="37.5" trigger="3">
	</event>
	<event time="37.5" trigger="O">
	</event>
	<event time="37.6" trigger="4">
	</event>
	<event time="37.6" trigger="P">
	</event>
	<event time="37.7" trigger="2">
	</event>
	<event time="37.7" trigger="O">
	</event>
	<event time="37.9" trigger="5">
	</event>
	<event time="37.9" trigger="P">
	</event>
	<event time="37.9" trigger="O">
	</event>
	<event time="38.0" trigger="3">
	</event>
	<event time="38.0" trigger="4">
	</event>
	<event time="38.0" trigger="P">
	</event>
	<event time="38.1" trigger="O">
	</event>
	<event time="38.2" trigger="5">
	</event>
	<event time="38.2" trigger="P">
	</event>
	<event time="38.2" trigger="3">
	</event>
	<event time="38.3" trigger="O">
	</event>
	<event time="38.3" trigger="P">
	</event>
	<event time="38.4" trigger="S">
	</event>
	<event time="38.4" trigger="O">
	</event>
	<event time="38.5" trigger="P">
	</event>
	<event time="38.5" trigger="D">
	</event>
	<event time="38.6" trigger="F">
	</event>
	<event time="38.6" trigger="O">
	</event>
	<event time="38.7" trigger="P">
	</event>
	<event time="38.8" trigger="7">
	</event>
	<event time="38.8" trigger="4">
	</event>
	<event time="39.0" trigger="9">
	</event>
	<event time="39.0" trigger="P">
	</event>
	<event time="39.1" trigger="4">
	</event>
	<event time="39.1" trigger="5">
	</event>
	<event time="39.2" trigger="O">
	</event>
	<event time="39.3" trigger="5">
	</event>
	<event time="39.4" trigger="P">
	</event>
	<event time="39.5" trigger="3">
	</event>
	<event time="39.5" trigger="2">
	</event>
	<event time="39.6" trigger="O">
	</event>
	<event time="39.7" trigger="4">
	</event>
	<event time="39.7" trigger="7">
	</event>
	<event time="39.9" trigger="8">
	</event>
	<event time="40.0" trigger="5">
	</event>
	<event time="40.1" trigger="P">
	</event>
	<event time="40.2" trigger="O">
	</event>
	<event time="40.4" trigger="6">
	</event>
	<event time="40.4" trigger="P">
	</event>
	<event time="40.6" trigger="O">
	</event>
	<event time="40.7" trigger="P">
	</event>
	<event time="40.9" trigger="O">
	</event>
	<event time="41.0" trigger="P">
	</event>
	<event time="41.0" trigger="4">
	</event>
	<event time="41.1" trigger="O">
	</event>
	<event time="41.2" trigger="P">
	</event>
	<event time="41.2" trigger="3">
	</event>
	<event time="41.5" trigger="S">
	</event>
	<event time="41.6" trigger="P">
	</event>
	<event time="41.7" trigger="D">
	</event>
	<event time="41.9" trigger="F">
	</event>
	<event time="42.0" trigger="O">
	</event>
	<event time="42.3" trigger="D">
	</event>
	<event time="42.4" trigger="P">
	</event>
	<event time="42.6" trigger="S">
	</event>
	<event time="42.7" trigger="O">
	</event>
	<event time="42.8" trigger="D">
	</event>
	<event time="43.0" trigger="P">
	</event>
	<event time="43.1" trigger="F">
	</event>
	<event time="44.1" trigger="O">
	</event>
	<event time="44.5" trigger="P">
	</event>
	<event time="44.7" trigger="O">
	</event>
	<event time="44.8" trigger="P">
	</event>
	<event time="45.0" trigger="O">
	</event>
	<event time="45.2" trigger="P">
	</event>
	<event time="45.6" trigger="R">
	</event>
	<event time="46.0" trigger="P">
	</event>
	<event time="46.3" trigger="T">
	</event>
	<event time="46.7" trigger="O">
	</event>
	<event time="47.0" trigger="Y">
	</event>
	<event time="47.4" trigger="P">
	</event>
	<event time="47.8" trigger="Y">
	</event>
	<event time="48.9" trigger="R">
	</event>
	<event time="49.3" trigger="T">
	</event>
	<event time="49.6" trigger="U">
	</event>
	<event time="50.0" trigger="R">
	</event>
	<event time="50.8" trigger="T">
	</event>
	<event time="51.1" trigger="U">
	</event>
	<event time="51.5" trigger="E">
	</event>
	<event time="51.9" trigger="T">
	</event>
	<event time="52.2" trigger="W">
	</event>
	<event time="52.8" trigger="O">
	</event>
	<event time="53.7" trigger="P">
	</event>
	<event time="54.0" trigger="S">
	</event>
	<event time="54.1" trigger="O">
	</event>
	<event time="54.4" trigger="5">
	</event>
	<event time="56.2" trigger="O">
	</event>
	<event time="56.6" trigger="D">
	</event>
	<event time="56.9" trigger="F">
	</event>
	<event time="57.3" trigger="D">
	</event>
	<event time="57.7" trigger="F">
	</event>
	<event time="58.1" trigger="D">
	</event>
	<event time="58.4" trigger="F">
	</event>
	<event time="58.8" trigger="D">
	</event>
	<event time="59.1" trigger="F">
	</event>
	<event time="60.0" trigger="P">
	</event>
	<event time="60.6" trigger="O">
	</event>
	<event time="60.7" trigger="D">
	</event>
	<event time="60.9" trigger="P">
	</event>
	<event time="61.1" trigger="F">
	</event>
	<event time="61.2" trigger="O">
	</event>
	<event time="61.4" trigger="D">
	</event>
	<event time="61.6" trigger="P">
	</event>
	<event time="61.7" trigger="D">
	</event>
	<event time="62.1" trigger="S">
	</event>
	<event time="62.5" trigger="O">
	</event>
	<event time="62.8" trigger="P">
	</event>
	<event time="63.2" trigger="O">
	</event>
	<event time="63.5" trigger="A">
	</event>
	<event time="64.0" trigger="O">
	</event>
	<event time="64.4" trigger="O">
	</event>
	<event time="64.7" trigger="P">
	</event>
	<event time="65.0" trigger="A">
	</event>
	<event time="65.4" trigger="D">
	</event>
	<event time="65.5" trigger="F">
	</event>
	<event time="65.7" trigger="9">
	</event>
	<event time="66.0" trigger="8">
	</event>
	<event time="66.1" trigger="9">
	</event>
	<event time="66.6" trigger="9">
	</event>
	<event time="67.5" trigger="K">
	</event>
	<event time="67.9" trigger="P">
	</event>
	<event time="68.3" trigger="O">
	</event>
	<event time="68.7" trigger="P">
	</event>
	<event time="69.1" trigger="O">
	</event>
	<event time="69.4" trigger="P">
	</event>
	<event time="69.8" trigger="O">
	</event>
	<event time="70.1" trigger="P">
	</event>
	<event time="70.5" trigger="Y">
	</event>
	<event time="70.5" trigger="T">
	</event>
	<event time="70.9" trigger="O">
	</event>
	<event time="71.2" trigger="Y">
	</event>
	<event time="71.6" trigger="P">
	</event>
	<event time="72.0" trigger="R">
	</event>
	<event time="72.3" trigger="O">
	</event>
	<event time="72.6" trigger="T">
	</event>
	<event time="73.0" trigger="P">
	</event>
	<event time="73.2" trigger="Y">
	</event>
	<event time="73.5" trigger="O">
	</event>
	<event time="73.8" trigger="T">
	</event>
	<event time="74.2" trigger="P">
	</event>
	<event time="74.5" trigger="R">
	</event>
	<event time="74.9" trigger="O">
	</event>
	<event time="75.2" trigger="Y">
	</event>
	<event time="75.6" trigger="G">
	</event>
	<event time="76.0" trigger="P">
	</event>
	<event time="76.3" trigger="H">
	</event>
	<event time="76.7" trigger="O">
	</event>
	<event time="77.0" trigger="F">
	</event>
	<event time="77.5" trigger="D">
	</event>
	<event time="77.8" trigger="S">
	</event>
	<event time="78.2" trigger="P">
	</event>
	<event time="78.5" trigger="O">
	</event>
	<event time="78.9" trigger="I">
	</event>
	<event time="79.3" trigger="O">
	</event>
	<event time="79.4" trigger="P">
	</event>
	<event time="79.5" trigger="O">
	</event>
	<event time="79.7" trigger="P">
	</event>
	<event time="79.7" trigger="O">
	</event>
	<event time="80.0" trigger="O">
	</event>
	<event time="80.0" trigger="I">
	</event>
	<event time="80.3" trigger="O">
	</event>
	<event time="80.3" trigger="R">
	</event>
	<event time="80.3" trigger="E">
	</event>
	<event time="80.4" trigger="P">
	</event>
	<event time="80.5" trigger="I">
	</event>
	<event time="80.6" trigger="O">
	</event>
	<event time="81.0" trigger="I">
	</event>
	<event time="81.4" trigger="O">
	</event>
	<event time="81.8" trigger="I">
	</event>
	<event time="82.1" trigger="T">
	</event>
	<event time="82.5" trigger="P">
	</event>
	<event time="82.9" trigger="Y">
	</event>
	<event time="83.3" trigger="P">
	</event>
	<event time="83.7" trigger="O">
	</event>
	<event time="84.0" trigger="4">
	</event>
	<event time="84.7" trigger="5">
	</event>
	<event time="85.1" trigger="4">
	</event>
	<event time="85.7" trigger="4">
	</event>
	<event time="86.1" trigger="4">
	</event>
	<event time="86.5" trigger="4">
	</event>
	<event time="86.8" trigger="P">
	</event>
	<event time="87.2" trigger="O">
	</event>
	<event time="87.3" trigger="4">
	</event>
	<event time="87.6" trigger="P">
	</event>
	<event time="87.6" trigger="4">
	</event>
	<event time="88.0" trigger="O">
	</event>
	<event time="88.0" trigger="3">
	</event>
	<event time="88.4" trigger="P">
	</event>
	<event time="88.4" trigger="4">
	</event>
	<event time="88.8" trigger="5">
	</event>
	<event time="88.8" trigger="O">
	</event>
	<event time="89.2" trigger="3">
	</event>
	<event time="89.2" trigger="P">
	</event>
	<event time="89.5" trigger="2">
	</event>
	<event time="89.5" trigger="P">
	</event>
	<event time="89.9" trigger="O">
	</event>
	<event time="89.9" trigger="6">
	</event>
	<event time="89.9" trigger="5">
	</event>
	<event time="90.3" trigger="6">
	</event>
	<event time="90.3" trigger="O">
	</event>
	<event time="90.6" trigger="7">
	</event>
	<event time="90.6" trigger="P">
	</event>
	<event time="90.9" trigger="8">
	</event>
	<event time="91.0" trigger="O">
	</event>
	<event time="91.3" trigger="P">
	</event>
	<event time="91.4" trigger="2">
	</event>
	<event time="92.1" trigger="7">
	</event>
	<event time="93.6" trigger="1">
	</event>
	<event time="94.1" trigger="2">
	</event>
	<event time="94.6" trigger="P">
	</event>
	<event time="94.9" trigger="O">
	</event>
	<event time="97.3" trigger="S">
	</event>
	<event time="98.4" trigger="D">
	</event>
	<event time="99.2" trigger="F">
	</event>
	<event time="99.9" trigger="G">
	</event>
	<event time="100.5" trigger="4">
	</event>
	<event time="100.8" trigger="T">
	</event>
	<event time="103.0" trigger="R">
	</event>
	<event time="103.7" trigger="U">
	</event>
	<event time="104.5" trigger="Y">
	</event>
	<event time="105.9" trigger="T">
	</event>
	<event time="106.3" trigger="Y">
	</event>
	<event time="106.7" trigger="T">
	</event>
	<event time="107.1" trigger="Y">
	</event>
	<event time="107.4" trigger="T">
	</event>
	<event time="107.8" trigger="Y">
	</event>
	<event time="108.2" trigger="T">
	</event>
	<event time="108.3" trigger="8">
	</event>
	<event time="108.6" trigger="T">
	</event>
	<event time="108.9" trigger="Y">
	</event>
	<event time="109.3" trigger="T">
	</event>
	<event time="109.7" trigger="Y">
	</event>
	<event time="110.0" trigger="T">
	</event>
	<event time="110.4" trigger="8">
	</event>
	<event time="110.4" trigger="7">
	</event>
	<event time="110.7" trigger="T">
	</event>
	<event time="111.1" trigger="7">
	</event>
	<event time="111.4" trigger="8">
	</event>
	<event time="111.8" trigger="R">
	</event>
	<event time="112.1" trigger="9">
	</event>
	<event time="114.7" trigger="6">
	</event>
	<event time="115.2" trigger="O">
	</event>
	<event time="116.5" trigger="J">
	</event>
	<event time="118.7" trigger="J">
	</event>
	<event time="119.2" trigger="I">
	</event>
	<event time="120.3" trigger="K">
	</event>
	<event time="121.0" trigger="I">
	</event>
	<event time="121.4" trigger="O">
	</event>
	<event time="121.4" trigger="P">
	</event>
	<event time="122.4" trigger="P">
	</event>
	<event time="123.7" trigger="P">
	</event>
	<event time="125.1" trigger="N">
	</event>
	<event time="125.1" trigger="‘">
	</event>
	<event time="125.2" trigger="B">
	</event>
	<event time="125.2" trigger="">
	</event>
	<event time="125.4" trigger="N">
	</event>
	<event time="125.4" trigger="‘">
	</event>
	<event time="125.5" trigger="B">
	</event>
	<event time="125.5" trigger="">
	</event>
	<event time="125.6" trigger="M">
	</event>
	<event time="125.7" trigger="N">
	</event>
	<event time="125.7" trigger="‘">
	</event>
	<event time="125.8" trigger="V">
	</event>
	<event time="125.8" trigger="">
	</event>
	<event time="125.9" trigger="N">
	</event>
	<event time="125.9" trigger="‘">
	</event>
	<event time="125.9" trigger="B">
	</event>
	<event time="125.9" trigger="">
	</event>
	<event time="126.1" trigger="N">
	</event>
	<event time="126.1" trigger="‘">
	</event>
	<event time="126.1" trigger="V">
	</event>
	<event time="126.2" trigger="">
	</event>
	<event time="126.2" trigger="B">
	</event>
	<event time="126.2" trigger="">
	</event>
	<event time="126.2" trigger="N">
	</event>
	<event time="126.3" trigger="‘">
	</event>
	<event time="126.4" trigger="V">
	</event>
	<event time="126.4" trigger="">
	</event>
	<event time="126.5" trigger="B">
	</event>
	<event time="126.5" trigger="">
	</event>
	<event time="126.5" trigger="N">
	</event>
	<event time="126.5" trigger="‘">
	</event>
	<event time="126.6" trigger="N">
	</event>
	<event time="126.6" trigger="‘">
	</event>
	<event time="126.7" trigger="V">
	</event>
	<event time="126.7" trigger="">
	</event>
	<event time="126.7" trigger="B">
	</event>
	<event time="126.7" trigger="">
	</event>
	<event time="126.8" trigger="N">
	</event>
	<event time="126.8" trigger="‘">
	</event>
	<event time="126.8" trigger="V">
	</event>
	<event time="126.9" trigger="">
	</event>
	<event time="126.9" trigger="B">
	</event>
	<event time="126.9" trigger="N">
	</event>
	<event time="126.9" trigger="">
	</event>
	<event time="126.9" trigger="‘">
	</event>
	<event time="127.1" trigger="V">
	</event>
	<event time="127.1" trigger="N">
	</event>
	<event time="127.1" trigger="">
	</event>
	<event time="127.1" trigger="‘">
	</event>
	<event time="127.1" trigger="B">
	</event>
	<event time="127.1" trigger="">
	</event>
	<event time="127.2" trigger="N">
	</event>
	<event time="127.2" trigger="‘">
	</event>
	<event time="127.3" trigger="V">
	</event>
	<event time="127.3" trigger="">
	</event>
	<event time="127.3" trigger="B">
	</event>
	<event time="127.4" trigger="">
	</event>
	<event time="127.4" trigger="N">
	</event>
	<event time="127.4" trigger="‘">
	</event>
	<event time="127.5" trigger="V">
	</event>
	<event time="127.5" trigger="N">
	</event>
	<event time="127.5" trigger="">
	</event>
	<event time="127.5" trigger="‘">
	</event>
	<event time="127.6" trigger="B">
	</event>
	<event time="127.6" trigger="">
	</event>
	<event time="127.6" trigger="N">
	</event>
	<event time="127.7" trigger="‘">
	</event>
	<event time="127.7" trigger="V">
	</event>
	<event time="127.7" trigger="">
	</event>
	<event time="127.8" trigger="B">
	</event>
	<event time="127.8" trigger="N">
	</event>
	<event time="127.8" trigger="">
	</event>
	<event time="127.8" trigger="‘">
	</event>
	<event time="127.9" trigger="N">
	</event>
	<event time="127.9" trigger="V">
	</event>
	<event time="127.9" trigger="">
	</event>
	<event time="127.9" trigger="‘">
	</event>
	<event time="128.0" trigger="B">
	</event>
	<event time="128.0" trigger="">
	</event>
	<event time="128.1" trigger="N">
	</event>
	<event time="128.1" trigger="‘">
	</event>
	<event time="128.2" trigger="V">
	</event>
	<event time="128.2" trigger="">
	</event>
	<event time="128.3" trigger="B">
	</event>
	<event time="128.3" trigger="">
	</event>
	<event time="128.4" trigger="N">
	</event>
	<event time="128.4" trigger="‘">
	</event>
	<event time="128.5" trigger="V">
	</event>
	<event time="128.5" trigger="">
	</event>
	<event time="128.5" trigger="N">
	</event>
	<event time="128.5" trigger="‘">
	</event>
	<event time="128.6" trigger="B">
	</event>
	<event time="128.6" trigger="">
	</event>
	<event time="128.7" trigger="N">
	</event>
	<event time="128.7" trigger="‘">
	</event>
	<event time="128.7" trigger="V">
	</event>
	<event time="128.7" trigger="">
	</event>
	<event time="128.8" trigger="B">
	</event>
	<event time="128.8" trigger="">
	</event>
	<event time="128.8" trigger="N">
	</event>
	<event time="128.9" trigger="‘">
	</event>
	<event time="128.9" trigger="V">
	</event>
	<event time="129.0" trigger="">
	</event>
	<event time="129.0" trigger="N">
	</event>
	<event time="129.0" trigger="‘">
	</event>
	<event time="129.0" trigger="B">
	</event>
	<event time="129.1" trigger="">
	</event>
	<event time="129.1" trigger="N">
	</event>
	<event time="129.1" trigger="‘">
	</event>
	<event time="129.2" trigger="V">
	</event>
	<event time="129.2" trigger="">
	</event>
	<event time="129.2" trigger="B">
	</event>
	<event time="129.3" trigger="">
	</event>
	<event time="129.3" trigger="N">
	</event>
	<event time="129.3" trigger="‘">
	</event>
	<event time="129.4" trigger="V">
	</event>
	<event time="129.4" trigger="N">
	</event>
	<event time="129.4" trigger="">
	</event>
	<event time="129.4" trigger="‘">
	</event>
	<event time="129.5" trigger="B">
	</event>
	<event time="129.5" trigger="">
	</event>
	<event time="129.6" trigger="N">
	</event>
	<event time="129.6" trigger="‘">
	</event>
	<event time="129.7" trigger="V">
	</event>
	<event time="129.7" trigger="N">
	</event>
	<event time="129.7" trigger="">
	</event>
	<event time="129.7" trigger="‘">
	</event>
	<event time="129.9" trigger="N">
	</event>
	<event time="129.9" trigger="B">
	</event>
	<event time="129.9" trigger="‘">
	</event>
	<event time="129.9" trigger="">
	</event>
	<event time="130.1" trigger="N">
	</event>
	<event time="130.1" trigger="‘">
	</event>
	<event time="130.2" trigger="V">
	</event>
	<event time="130.2" trigger="">
	</event>
	<event time="130.2" trigger="B">
	</event>
	<event time="130.2" trigger="">
	</event>
	<event time="130.4" trigger="N">
	</event>
	<event time="130.4" trigger="‘">
	</event>
	<event time="130.5" trigger="V">
	</event>
	<event time="130.5" trigger="">
	</event>
	<event time="130.6" trigger="B">
	</event>
	<event time="130.6" trigger="">
	</event>
	<event time="130.9" trigger="">
	</event>


	<load></load>

	<event key="1"><wave preset="0"></wave></event>
	<event key="2"><wave preset="1"></wave></event>
	<event key="3"><wave preset="2"></wave></event>
	<event key="4"><wave preset="3"></wave></event>
	<event key="5"><wave preset="4"></wave></event>
	<event key="6"><wave preset="5"></wave></event>
	<event key="7"><wave preset="6"></wave></event>
	<event key="8"><wave preset="7"></wave></event>
	<event key="9"><wave preset="8"></wave></event>
	<event key="0"><wave preset="9"></wave></event>
	<event key="k"><wave preset="10"></wave></event>

	<event key="v">
	<draworder effect="clear" effect="wave"></draworder>
	</event>

	<run></run>

</demo>
<demo name="clear2" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff0000ff" trailval="0.03"></clear>

	<add type="particlebox" name="part"></add>
	<part		texture="particleorange.tga"
			number="700"
			speed="1"
			dim="100,100,1250"
			spawndim="100,100,1250"
			dirmin="-1,-1,-1"
			dirmax="1,1,1"
			tra="0,0,0"
			rot="0,0,0"
			sca="0.5,0.5,1"
			trainc="0,0,0"
			rotinc="0.0,0,1.0"
			scainc="0,0.0,0"
			pdir="0,0,0.5"
			prot="0,0.0,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part>

	<draworder effect="clear" effect="part"></draworder>
	<load></load>
	<run></run>

</demo>
<demo name="flash1" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="flash" name="flash1"></add>
	<flash1 color="0xfffffffff"
		attack="2.3"
		sustain="1.0"
		decay="0.3"
		mode="0">
	</flash1>
	
	<draworder effect="clear" effect="flash1"></draworder>

	<event time="0.0"><flash1><go></go></flash1></event>
	<event time="1.0"><flash1><go></go></flash1></event>
	<event time="2.0"><flash1><go></go></flash1></event>
	<event time="3.0"><flash1><go></go></flash1></event>
	<event time="4.0"><flash1><go></go></flash1></event>
	<event time="5.0"><flash1><go></go></flash1></event>
	<event time="6.0"><flash1><go></go></flash1></event>
	<event time="7.0"><flash1><go></go></flash1></event>
	<event time="8.0"><flash1><go></go></flash1></event>

	<load></load>
	<run></run>

</demo>
<demo name="texturenoise1" width="640" height="480" bpp="32" fullscreen="0" vsync="1" mouse="1">

	<loadplugin file="../fx/fx_main.dll"/>
	<loadplugin file="../fx/fx_rawhed.dll"/>

	<add type="clear" name="clear"/>
	<clear color="0xff000000"/>

	<add type="texturenoise" name="noise"/>
	<noise width="256" height="256" tiling="2,2" mono="1" seed="12345" tintcolor="1,1,1" smooth="0" speed="1"/>

	<draworder effect="clear" effect="noise"/>	

	<load/>
	<run/>

</demo>
<demo name="texturenoise3" width="640" height="480" bpp="32" fullscreen="0" vsync="1" mouse="1">

	<loadplugin file="../fx/fx_main.dll"/>
	<loadplugin file="../fx/fx_rawhed.dll"/>

	<add type="clear" name="clear"/>
	<clear color="0xff000000"/>

	<add type="texturenoise" name="noise"/>
	<noise width="256" height="256" tiling="2,2" mono="1" seed="12345" tintcolor="0.2,0.2,0.2" smooth="0" speed="1"/>

	<add type="texturenoise" name="noise2"/>
	<noise2 width="32" height="32" tiling="0.1,18" mono="1" tintcolor="0,0,1" smooth="1" speed="1"/>

	<add type="texturenoise" name="noise7"/>
	<noise7 width="32" height="32" tiling="1,1" mono="1" tintcolor="1,0,0" smooth="1" speed="1"/>

	<add type="texturenoise" name="noise3"/>
	<noise3 width="32" height="32" tiling="0.54,0.41" mono="1" tintcolor="0.2,0.9,0.1" smooth="0" speed="0.04"/>

	<draworder effect="clear" effect="noise2" effect="noise7" effect="noise3" effect="noise"/>

	<load/>
	<run/>

</demo>
<demo name="wavebox1" width="640" height="480" bpp="32" fullscreen="0" showfps="0" showconfig="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0x11111111" trailval="1.0"></clear>

	<add type="wavebox" name="wave"></add>
	<wave texture="partblue.tga" preset="10" speed="5">
	<gl restore="1">
		<render	active="1"
			flat="0"
			wire="0"
			envmap="0"
			linewidth="1"
			color="1,1,1,1"></render>
		<depth	active="1"
			test="1"
			write="1">
		</depth>
		<cull	active="1"
			cull="0"
			mode="0">
		</cull>
		<alpha	active="1"
			blend="1"
			blendsrc="1"
			blenddst="1"
			mask="0"
			maskvalue="0.5">
		</alpha>
		<proj	active="0"
			fov="46"
			near="0.02"
			far="800">
		</proj>
		<fog	active="0"
			on="1"
			mode="0"
			density="0.0"
			zstart="-50.0"
			zend="120.0"
			color="0xff0c4ca6">
		</fog>
	</gl>
	</wave>

	<draworder effect="clear" effect="wave"></draworder>

	<load></load>
	<run></run>

</demo>
<demo name="flash1" width="640" height="480" bpp="32" fullscreen="0" showfps="0" showconfig="1">

	<loadplugin file="..\fx\fx_main.dll"></loadplugin>
	<loadplugin file="..\fx\fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<camera mode="create" name="bob" viewport="0.25,0.25,0.50,0.50" pos="0,0,-150"></camera>
	<camera name="bob" mode="keyframe">
		<key t="0.0" pos="0,0,2" rot="0,0,0" viewport="0.25,0.25,0.5,0.5"></key>
		<key t="100.0" pos="0.1,0,0.5" rot="10,0,20" viewport="0.5,0.25,0.5,0.5"></key>
		<key t="1000.0" pos="1.0,0,0.2" rot="90,0,90" viewport="0.5,0.25,0.5,0.5"></key>
	</camera>

	<camera mode="create" name="man" pos="0,0,-3" rot="0,0,45"></camera>
	<camera name="man" mode="keyframe" speed="0.001">
		<key t="0.0" pos="0,0,1.3" rot="0,0,0"></key>
		<key t="100.0" pos="0,0,1.5" rot="0,0,180"></key>
		<key t="200.0" pos="0.5,0,-1.2" rot="180,0,0"></key>
	</camera>

	<camera mode="create" name="raver" viewport="0.0,0.0,1.0,1.0" pos="0,0,-150"></camera>
	<camera name="raver" mode="keyframe">
		<key t="0.0" pos="0,0,2" rot="0,0,0"></key>
		<key t="100.0" pos="0,0,4" rot="0,0,180"></key>
		<key t="200.0" pos="0.0,0,2" rot="0,0,0"></key>
		<key t="300.0" pos="0,0,4" rot="0,0,180"></key>
		<key t="400.0" pos="0.0,0,2" rot="0,0,0"></key>
	</camera>

	<add type="picture" name="pic"></add>
	<pic filename="drfreak.tga" camera="bob"></pic>

	<add type="picture" name="pic2"></add>
	<pic2 filename="drfreak.tga" camera="raver"></pic2>

	<add type="picture" name="pic3"></add>
	<pic3 filename="drfreak.tga"></pic3>

	<add type="md2play" name="md2"></add>
	<md2 filename="scenes\tris.md2" speed="0.1"></md2>
	<md2 camera="man"></md2>


	<draworder effect="clear" effect="pic3" effect="pic2" effect="pic" effect="md2" effect="md3"></draworder>

	<load></load>
	<run></run>

</demo>
<demo name="clear2" width="640" height="480" bpp="32" fullscreen="0" showfps="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000" zbuf="1" cbuf="1"></clear>

	<add type="tunnel" name="tunnel"></add>

	<add type="particlebox" name="part"></add>
	<part		texture="particleorange.tga"
			number="1700"
			speed="0.1"
			dim="100,100,125"
			spawndim="100,100,125"
			dirmin="-1,-1,-1"
			dirmax="1,1,1"
			tra="0,0,0"
			rot="0,0,0"
			sca="1,1,1"
			trainc="0,0,0"
			rotinc="0.0,0,1.0"
			scainc="0,0.0,0"
			pdir="0,0,0.5"
			prot="0,0.0,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part>

	<add type="particlebox" name="part2"></add>
	<part2		texture="particleblue.tga"
			number="1700"
			speed="0.1"
			dim="100,100,125"
			spawndim="100,100,125"
			dirmin="-1,-1,-1"
			dirmax="1,1,1"
			tra="0,0,0"
			rot="0,0,0"
			sca="1,1,1"
			trainc="0,0,0"
			rotinc="0.0,0,1.0"
			scainc="0,0.0,0"
			pdir="0,0,0.5"
			prot="0,0.0,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part2>
	<add type="gridmap" name="bright"></add>
	<bright preset="8"></bright>

	<add type="gridmap" name="grid"></add>
	<grid preset="13"></grid>


	<add type="picture" name="pic1"></add>
	<pic1 filename="bg1.tga">
	<gl restore="1">
		<alpha	active="1"
			blend="0"
			blendsrc="1"
			blenddst="1"
			mask="1"
			maskvalue="0.5">
		</alpha>
	</gl>
	</pic1>

	<add type="particlebox" name="bobs"></add>
	<bobs	number="100"
		dim="150,150,150"
		spawndim="10,10,10"
		sca="1,1,1"
		lifespan="100"
		prot="0.001,0.002,0.003"
		color="0xffffffff"
		src="1"
		dst="1">
	</bobs>


	<add type="particlebox" name="part3"></add>
	<part3		
			number="100"
			speed="1"
			dim="50,50,50"
			spawndim="30,30,30"
			dirmin="0,0,0"
			dirmax="0,0,0"
			tra="0,0,0"
			rot="45,45,45"
			sca="1,1,13"
			trainc="0,0,0"
			rotinc="0.3,0.1,0.2"
			scainc="0,0.0,0"
			pdir="0,0,0.0"
			prot="0,0.0,0.0"
			color="0xff333344"
			camera="0"
			src="9"
			dst="3">
		</part3>
	
	<draworder effect="clear" effect="part" effect="part3" effect="grid"></draworder>
	<draworder effect="clear" effect="pic1" effect="grid"></draworder>
	<draworder effect="clear" effect="part2" effect="part" effect="grid" effect="bright"></draworder>
	<load></load>
	<run></run>

</demo>
<demo name="plasma" width="640" height="480" bpp="32" fullscreen="0" vsync="1" mouse="1">

	<loadplugin file="../fx/fx_main.dll"/>
	<loadplugin file="../fx/fx_rawhed.dll"/>

	<add type="clear" name="clear"/>
	<clear color="0xff000040"/>

	<add type="textureplasma" name="plasma"/>

	<draworder effect="clear" effect="plasma"/>

	<load/>
	<run/>

</demo>
<demo name="picture1" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="picture" name="pic1"></add>
	<pic1 filename="bg1.tga"></pic1>
	
	<draworder effect="clear" effect="pic1"></draworder>

	<load></load>
	<run></run>

</demo>
<demo name="video2" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="musicplay" name="track1"></add>
	<track1 filename="intro.xm" preset="-1"></track1>

	<draworder effect="clear" effect="track1"></draworder>

	<load></load>

	<track1><play></play></track1>
	<track1 echo="1" flange="1" rotate="1"></track1>

	<run></run>

</demo>
<demo name="sync1" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="musicplay" name="snd1"></add>
	<snd1 filename="arsa.mod"></snd1>

	<add type="flash" name="flash1"></add>
	<flash1 color="0xffffffff" mode="0" attack="1" decay="1" sustain="1.0"></flash1>	

	<event key="z">
		<flash1><go></go></flash1>
	</event>

	<draworder effect="clear" effect="flash1"></draworder>

	<load></load>
	
	<snd1><play></play></snd1>

	<run></run>

</demo>
<demo name="video1" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="videoplay" name="vid"></add>
	<vid filename="data/videos/video1.avi"></vid>

	<draworder effect="clear" effect="vid"></draworder>

	<load></load>

	<run></run>

</demo>
<demo name="video2" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000" trailval="1.034"></clear>

	<add type="videoplay" name="vid"></add>
	<vid filename="data/videos/mehe.avi" speed="0.5" wrapmode="1" draw="0"></vid>

	<add type="dogtail" name="dog"></add>
	<dog speed="0.29" num="3">
	<gl restore="0">
		<render	active="1"
			flat="0"
			wire="0"
			envmap="1"
			linewidth="1"
			color="10.3,10.3,10.3,10.3"></render>
		<depth	active="0"
			test="1"
			write="1">
		</depth>
		<cull	active="1"
			cull="1"
			mode="0">
			</cull>
		<alpha	active="1"
			blend="1"
			blendsrc="1"
			blenddst="1"
			mask="0"
			maskvalue="0.5">
		</alpha>
		<proj	active="1"
			fov="135"
			near="0.2"
			far="600">
		</proj>
		<fog	active="0"
			on="1"
			mode="0"
			density="0.0"
			zstart="10.0"
			zend="110.0"
			color="0xff000000">
		</fog>
		</gl>
	</dog>

	<add type="particlebox" name="part"></add>
	<part		number="100"
			speed="0.01"
			dim="30,30,150.130"
			spawndim="30,30,150.130"
			dirmin="-0.1,-0.1,0"
			dirmax="0.1,0.1,0"
			tra="0,0,0"
			rot="0,0,0"
			sca="2,2,1"
			trainc="0,0,0"
			rotinc="0.0,0.0,12.42"
			scainc="0,0.0,0"
			pdir="0,0,0.0"
			prot="0,0.0,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part>

	<add type="skybox" name="box"></add>
	<box>
	<gl>
		<proj	active="1"
			fov="135"
			near="0.2"
			far="600">
		</proj>
		<alpha	active="1"
			blend="1"
			blendsrc="1"
			blenddst="1"
			mask="0"
			maskvalue="0.5">
		</alpha>
	</gl>
	</box>

	<draworder effect="clear" effect="vid"></draworder>
	<draworder effect="clear" effect="vid"></draworder>
	<event time="0.1">
	<draworder effect="clear" effect="vid" effect="box"></draworder>
	</event>

	<event key="Q">
	<vid toggledirection></vid>
	</event>
	<event key="Z">
	<draworder effect="clear" effect="vid" effect="dog"></draworder>
	</event>
	<event key="X">
	<draworder effect="clear" effect="vid" effect="box"></draworder>
	</event>
	<event key="C">
	<draworder effect="clear" effect="vid" effect="part"></draworder>
	</event>

	<load></load>

	<run></run>

</demo>
<demo name="picture3" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="picture" name="pic1"></add>
	<pic1 filename="bg1.tga">
	<gl restore="1">
		<alpha	active="1"
			blend="0"
			blendsrc="1"
			blenddst="1"
			mask="1"
			maskvalue="0.5">
		</alpha>
	</gl>
	</pic1>

	<add type="particlebox" name="bobs"></add>
	<bobs	number="100"
		dim="150,150,150"
		spawndim="10,10,10"
		sca="1,1,1"
		lifespan="100"
		prot="0.001,0.002,0.003"
		color="0xffffffff"
		src="1"
		dst="1">
	</bobs>
	
	<draworder effect="clear" effect="bobs" effect="pic1"></draworder>

	<load></load>
	<run></run>

</demo>
<demo name="positioning" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"/>
	<loadplugin file="../fx/fx_rawhed.dll"/>
	<loadplugin file="../fx/fx_mayaplay.dll"/>

	<add type="clear" name="clear"/>
	<clear color="0xff000000"/>

	<add type="picture" name="pic1"/>
	<pic1 area_pos="0.0,0.0" area_size="1.0,1.0" filename="faktory_logo_alpha.png">
	<gl restore="1">
		<alpha	active="1"
			blend="1"
			blendsrc="4"
			blenddst="5"
			mask="1"
			maskvalue="0.8"/>
	</gl>
	</pic1>

	<add type="videoplay" name="vid"/>
	<vid area_size="0.6,0.2" area_pos="0.5,0.0" filename="data/videos/mehe.avi"></vid>

	<add type="wavebox" name="wave"/>
	<wave preset="8" speed="5" area_size="0.6,0.8" area_pos="0.3,0.2">
	<gl>
		<depth	active="1"
			test="1"
			write="0">
		</depth>
	</gl>
	</wave>

	<add type="mayaplay" name="bong"/>
	<bong filename="tree.zen" speed="1" area_size="0.5,0.5"/>
	
	<draworder effect="clear" effect="vid" effect="wave" effect="bong" effect="pic1"/>

	<load/>

	<bong camera="cameraShape1" frame="0" play="1" loopmin="0" loopmax="400"/>

	<run/>

</demo>
<demo name="picture4" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="picture" name="pic1"></add>
	<pic1 filename="bg1.tga">
	<gl restore="1">
		<alpha	active="1"
			blend="0"
			blendsrc="4"
			blenddst="5"
			mask="1"
			maskvalue="0.8">
		</alpha>
	</gl>
	</pic1>

	<add type="particlebox" name="bobs"></add>
	<bobs	number="100"
		dim="150,150,150"
		spawndim="10,10,10"
		sca="1,1,1"
		lifespan="100"
		prot="0.001,0.002,0.003"
		color="0xffffffff"
		src="1"
		dst="1">
	</bobs>


	<add type="particlebox" name="part"></add>
	<part		
			number="100"
			speed="1"
			dim="50,50,50"
			spawndim="30,30,30"
			dirmin="0,0,0"
			dirmax="0,0,0"
			tra="0,0,0"
			rot="45,45,45"
			sca="1,1,13"
			trainc="0,0,0"
			rotinc="0.3,0.1,0.2"
			scainc="0,0.0,0"
			pdir="0,0,0.0"
			prot="0,0.0,0.0"
			color="0xff333344"
			camera="0"
			src="9"
			dst="3">
		</part>
	
	<draworder effect="clear" effect="bobs" effect="pic1" effect="part"></draworder>

	<load></load>
	<run></run>

</demo>
<demo name="clear1" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xffff0000"></clear>

	<draworder effect="clear"></draworder>

	<load></load>
	<run></run>

</demo>
<demo name="video2" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="musicplay" name="track1"></add>
	<track1 filename="intro.xm"></track1>

	<draworder effect="clear" effect="track1"></draworder>

	<load></load>

	<track1><play></play></track1>

	<run></run>

</demo>
<demo name="snow" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="particlebox" name="part"></add>
	<part		texture="snow.tga"
			number="700"
			speed="0.5"
			dim="100,100,200"
			spawndim="100,100,200"
			dirmin="-0.03,-0.16,-0.04"
			dirmax="0.04,-0.13,0.03"
			tra="0,0,0"
			rot="0,0,0"
			sca="0.5,0.5,1"
			trainc="0,0,0"
			rotinc="0.0,0,0.0"
			scainc="0,0.0,0"
			pdir="0,0,0.0"
			prot="0,0.0008,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part>
	<add type="particlebox" name="part2"></add>
	<part2		texture="snow2.tga"
			number="700"
			speed="0.5"
			dim="100,100,200"
			spawndim="100,100,200"
			dirmin="-0.04,-0.05,-0.05"
			dirmax="0.05,-0.3,0.04"
			tra="0,0,0"
			rot="0,0,0"
			sca="0.4,0.4,1"
			trainc="0,0,0"
			rotinc="0.0,0,0.0"
			scainc="0,0.0,0"
			pdir="0,0,0.0"
			prot="0,-0.0008,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part2>
	<draworder effect="clear" effect="part" effect="part2"></draworder>
	<load></load>
	<run></run>

</demo>
<demo name="wtf" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_wtf.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="wtf" name="wtf"></add>
	<wtf numCenters="3" texture0="partblue.tga" texture1="part2.tga" texture2="drfreak.tga"/>

	<draworder effect="clear" effect="wtf"></draworder>

	<load></load>

	<run></run>

</demo>
	<add type="particlebox" name="part"></add>
	<part		texture="snow.tga"
			number="700"
			speed="0.5"
			dim="100,100,200"
			spawndim="100,100,200"
			dirmin="-0.03,-0.16,-0.04"
			dirmax="0.04,-0.13,0.03"
			tra="0,0,0"
			rot="0,0,0"
			sca="0.5,0.5,1"
			trainc="0,0,0"
			rotinc="0.0,0,0.0"
			scainc="0,0.0,0"
			pdir="0,0,0.0"
			prot="0,0.0008,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part>
	<add type="particlebox" name="part2"></add>
	<part2		texture="snow2.tga"
			number="700"
			speed="0.5"
			dim="100,100,200"
			spawndim="100,100,200"
			dirmin="-0.04,-0.05,-0.05"
			dirmax="0.05,-0.3,0.04"
			tra="0,0,0"
			rot="0,0,0"
			sca="0.4,0.4,1"
			trainc="0,0,0"
			rotinc="0.0,0,0.0"
			scainc="0,0.0,0"
			pdir="0,0,0.0"
			prot="0,-0.0008,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part2>
<demo name="clear2" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000" trailval="0.1"></clear>

	<add type="particlebox" name="part"></add>
	<part		texture="particleorange.tga"
			number="700"
			speed="0.5"
			dim="100,100,1250"
			spawndim="100,100,1250"
			dirmin="-1,-1,-1"
			dirmax="1,1,1"
			tra="0,0,0"
			rot="0,0,0"
			sca="1,1,1"
			trainc="0,0,0"
			rotinc="0.0,0,1.0"
			scainc="0,0.0,0"
			pdir="0,0,0.5"
			prot="0,0.0,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part>
	
	<draworder effect="clear" effect="part"></draworder>

	<load></load>
	<run></run>

</demo>
<demo name="webcam" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>
	<loadplugin file="../fx/fx_webcam.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="webcam" name="cam"></add>

	<add type="particlebox" name="bobs"></add>
	<bobs	
		number="100"
		speed="0.1"
		dim="50,50,50"
		spawndim="50,50,50"
		sca="2,2,1"
		lifespan="300"
		prot="0.001,0.002,0.003"
		rotinc="0.3,0.1,0.2"
		color="0xffffffff"
		src="1"
		dst="0">
	</bobs>

	<add type="skybox" name="skybox"></add>

	<draworder effect="cam" effect="clear" effect="skybox" effect="bobs"></draworder>

	<load></load>

	<run></run>

</demo>
<demo name="avi writer" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"/>
	<loadplugin file="../fx/fx_mayaplay.dll"/>
	<loadplugin file="../fx/fx_rawhed.dll"/>

	<add type="clear" name="clear"/>
	<clear color="0xff000000"/>

	<add type="aviwriter" name="avi"/>
	<avi filename="out.avi"/>

	<add type="mayaplay" name="bong"/>
	<bong filename="tree.zen" speed="1">
	<gl restore="1">
		<render	active="1"
			flat="0"
			wire="0"
			envmap="0"
			linewidth="1"
			color="1,1,1,1"></render>
		<depth	active="1"
			test="1"
			write="1">
		</depth>
		<cull	active="1"
			cull="0"
			mode="0">
		</cull>
		<alpha	active="0"
			blend="0"
			blendsrc="1"
			blenddst="2"
			mask="0"
			maskvalue="0.5">
		</alpha>
		<proj	active="1"
			fov="95"
			near="0.02"
			far="800">
		</proj>
		<fog	active="0"
			on="1"
			mode="0"
			density="0.0"
			zstart="-100.0"
			zend="120.0"
			color="0xffa64c0c">
		</fog>
	</gl>
	</bong>
	
	<draworder effect="clear" effect="bong" effect="avi"/>

	<load/>

	<bong camera="cameraShape1" frame="0" play="1" loopmin="0" loopmax="400"/>

	<run/>

</demo>
<demo name="particlebox3" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="particlebox" name="part"></add>
	<part		texture="particleblue.tga"
			number="100"
			speed="0.02"
			dim="10,10,30"
			spawndim="10,10,30"
			dirmin="-1,-1,0"
			dirmax="1,1,0"
			tra="0,0,0"
			rot="0,0,0"
			sca="0.1,10,1"
			trainc="0,0,0"
			rotinc="0.0,0,-10.0"
			scainc="0,0.0,0"
			pdir="0,0,0.0"
			prot="0,0.0,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part>

	<add type="particlebox" name="part2"></add>
	<part2		texture="particleorange.tga"
			number="100"
			speed="0.02"
			dim="10,10,30"
			spawndim="10,10,30"
			dirmin="-1,-1,0"
			dirmax="1,1,0"
			tra="0,0,0"
			rot="0,0,0"
			sca="10,0.1,1"
			trainc="0,0,0"
			rotinc="0.0,0,10.0"
			scainc="0,0.0,0"
			pdir="0,0,0.0"
			prot="0,0.0,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part2>
	
	<draworder effect="clear" effect="part" effect="part2"></draworder>

	<load></load>
	<run></run>

</demo>
<demo name="particlebox1" width="640" height="480" bpp="32" fullscreen="0" showfps="1">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="particlebox" name="part"></add>
	<part		texture="particleblue.tga"
			number="700"
			speed="1"
			dim="100,50,250"
			spawndim="100,50,250"
			dirmin="0,0,0"
			dirmax="0,0,0"
			tra="0,0,0"
			rot="0,0,0"
			sca="1,1,1"
			trainc="0,0,0"
			rotinc="0.0,0,0.0"
			scainc="0,0.0,0"
			pdir="0.1,0,0.0"
			prot="0,0.0,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part>
	
	<draworder effect="clear" effect="part"></draworder>

	<load></load>
	<run></run>

</demo>
<demo name="screengrab" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"/>
	<loadplugin file="../fx/fx_rawhed.dll"/>

	<add type="clear" name="clear"/>
	<clear color="0xf880000"/>

	<add type="screengrab" name="grab"/>
	<grab prefix="bob"/>

	<draworder effect="clear"/>


	<add type="particlebox" name="part"></add>
	<part		texture="particleblue.tga"
			number="100"
			speed="0.02"
			dim="10,10,30"
			spawndim="10,10,30"
			dirmin="-1,-1,0"
			dirmax="1,1,0"
			tra="0,0,0"
			rot="0,0,0"
			sca="0.1,10,1"
			trainc="0,0,0"
			rotinc="0.0,0,-10.0"
			scainc="0,0.0,0"
			pdir="0,0,0.0"
			prot="0,0.0,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part>

	<add type="particlebox" name="part2"></add>
	<part2		texture="particleorange.tga"
			number="100"
			speed="0.02"
			dim="10,10,30"
			spawndim="10,10,30"
			dirmin="-1,-1,0"
			dirmax="1,1,0"
			tra="0,0,0"
			rot="0,0,0"
			sca="10,0.1,1"
			trainc="0,0,0"
			rotinc="0.0,0,10.0"
			scainc="0,0.0,0"
			pdir="0,0,0.0"
			prot="0,0.0,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part2>
	
	<draworder effect="clear" effect="part" effect="part2"></draworder>


	<event key="G">
		<grab><go/></grab>
		<clear color="0xff008800"/>
	</event>

	<load/>
	<run/>
</demo>
<demo name="animated gif" width="640" height="480" bpp="32" fullscreen="0" showfps="0" >

	<loadplugin file="fx/fx_main.dll"/>
	<loadplugin file="fx/fx_rawhed.dll"/>

	<add type="clear" name="clear"/>
	<clear color="0xff000000"/>

	<camera mode="create" name="bob" speed="1.0" viewport="0.25,0.25,0.50,0.50" pos="0,0,-150"></camera>
	<camera name="bob" mode="keyframe">
		<key t="0.0" pos="0,0,2" rot="0,0,0" viewport="0.25,0.25,0.5,0.5"></key>
		<key t="100.0" pos="0.1,0,0.5" rot="10,0,20" viewport="0.5,0.25,0.5,0.5"></key>
		<key t="1000.0" pos="1.0,0,0.2" rot="90,0,90" viewport="0.5,0.25,0.5,0.5"></key>
	</camera>

	<camera mode="create" name="bob2" speed="1.0" viewport="0.25,0.25,0.50,0.50" pos="0,0,2" loopMode="1" loopstart="0" loopend="700"></camera>
	<camera name="bob2" mode="keyframe">
		<key t="0.0"   pos="0.0,0.0,0.0"></key>
		<key t="50.0" pos="0.0,0.0,2.0"></key>
		<key t="75.0" pos="0.5,0.5,2.0"></key>
		<key t="100.0" pos="0.1,0.0,2.0"></key>
		<key t="200.0" pos="0.7,0.0,2.0"></key>
		<key t="300.0" pos="-0.7,0.0,2.0"></key>
		<key t="400.0" pos="0.0,-0.5,2.0"></key>
		<key t="500.0" pos="-0.5,-0.5,2.0"></key>
		<key t="600.0" pos="-0.5,0.5,2.0"></key>
		<key t="700.0" pos="0.0,0.0,2.0"></key>
	</camera>

	<camera mode="create" name="raver" speed="0.5" fov="45" viewport="0.0,0.0,1.0,1.0" pos="0,0,-150"></camera>
	<camera name="raver" mode="keyframe">
		<key t="0.0" pos="0,0,1" rot="0,0,0"></key>
		<key t="100.0" pos="0,0,1" rot="0,0,180"></key>
		<key t="200.0" pos="0,0,1" rot="0,0,0"></key>
		<key t="300.0" pos="0,0,1" rot="0,0,-180"></key>
		<key t="400.0" pos="0,0,1" rot="0,0,0"></key>
	</camera>

	<add type="gifplay" name="plasma" />
	<plasma filename="plasma.gif" speed="0.4">
	<gl>
		<depth	active="1"
			test="0"
			write="0">
		</depth>
		<alpha	active="1"
			blend="1"
			blendsrc="4"
			blenddst="5"
			mask="1"
			maskvalue="0.5">
		</alpha>
	</gl>
	</plasma>

	<add type="gifplay" name="go" />
	<go filename="explode.gif" speed="0.4">
	<gl>
		<depth	active="1"
			test="0"
			write="0">
		</depth>
		<alpha	active="1"
			blend="1"
			blendsrc="1"
			blenddst="1"
			mask="1"
			maskvalue="0.5">
		</alpha>
	</gl>
	</go>

	<add type="gifplay" name="moo" />
	<moo filename="scissors.gif" camera="bob" speed="0.1">
	<gl>
		<depth	active="1"
			test="0"
			write="0">
		</depth>
		<alpha	active="1"
			blend="1"
			blendsrc="4"
			blenddst="5"
			mask="1"
			maskvalue="0.5">
		</alpha>
	</gl>
	</moo>

	<add type="gifplay" name="boo" />
	<boo filename="animcow.gif" camera="bob2" speed="0.035">
	<gl>
		<depth	active="1"
			test="0"
			write="0">
		</depth>
		<alpha	active="1"
			blend="1"
			blendsrc="4"
			blenddst="5"
			mask="1"
			maskvalue="0.5">
		</alpha>
	</gl>
	</boo>
	<draworder effect="clear" effect="plasma" effect="moo" effect="boo"  effect="go"/>

	<load/>
	<run/>
</demo>
<demo name="texturenoise2" width="640" height="480" bpp="32" fullscreen="0" vsync="1" mouse="1">

	<loadplugin file="../fx/fx_main.dll"/>
	<loadplugin file="../fx/fx_rawhed.dll"/>

	<add type="clear" name="clear"/>
	<clear color="0xff000000"/>

	<add type="texturenoise" name="noise"/>
	<noise width="256" height="256" tiling="2,2" mono="1" seed="12345" tintcolor="0.4,0.4,0.4" smooth="0" speed="1"/>

	<add type="texturenoise" name="noise3"/>
	<noise3 width="32" height="32" tiling="0.14,0.41" mono="1" tintcolor="0.2,0.6,0.1" smooth="1" speed="0.04"/>

	<add type="texturenoise" name="noise5"/>
	<noise5 width="16" height="16" tiling="0.42,0.31" mono="1" tintcolor="0.8,0.3,0.2" smooth="1" speed="0.04"/>

	<add type="texturenoise" name="noise6"/>
	<noise6 width="16" height="16" tiling="0.12,0.31" mono="1" seed="90" tintcolor="0.1,0.3,0.7" smooth="1" speed="0.04"/>

	<draworder effect="clear" effect="noise" effect="noise3" effect="noise5" effect="noise6" effect="noise"/>

	<load/>
	<run/>

</demo>
<demo name="particlebox2" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"></loadplugin>
	<loadplugin file="../fx/fx_rawhed.dll"></loadplugin>

	<add type="clear" name="clear"></add>
	<clear color="0xff000000"></clear>

	<add type="particlebox" name="part"></add>
	<part		texture="particleblue.tga"
			number="100"
			speed="0.02"
			dim="10,10,30"
			spawndim="10,10,30"
			dirmin="-1,-1,0"
			dirmax="1,1,0"
			tra="0,0,0"
			rot="0,0,0"
			sca="3,1,1"
			trainc="0,0,0"
			rotinc="0.0,0,0.0"
			scainc="0,0.0,0"
			pdir="0,0,0.0"
			prot="0,0.0,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part>

	<add type="particlebox" name="part2"></add>
	<part2		texture="particleorange.tga"
			number="100"
			speed="0.02"
			dim="10,10,30"
			spawndim="10,10,30"
			dirmin="-1,-1,0"
			dirmax="1,1,0"
			tra="0,0,0"
			rot="0,0,0"
			sca="3,1,1"
			trainc="0,0,0"
			rotinc="0.0,0,0.0"
			scainc="0,0.0,0"
			pdir="0,0,0.0"
			prot="0,0.0,0.0"
			color="0xffffffff"
			camera="0"
			src="1"
			dst="1">
		</part2>
	
	<draworder effect="clear" effect="part" effect="part2"></draworder>

	<load></load>
	<run></run>

</demo>
<demo name="animated gif" width="640" height="480" bpp="32" fullscreen="0" showfps="0" >

	<loadplugin file="../fx/fx_main.dll"/>
	<loadplugin file="../fx/fx_rawhed.dll"/>

	<add type="clear" name="clear"/>
	<clear color="0xff000000"/>

	<add type="gifplay" name="boo" />
	<boo filename="animcow.gif" speed="0.035">
	<gl>
		<depth	active="1"
			test="0"
			write="0">
		</depth>
		<alpha	active="1"
			blend="1"
			blendsrc="4"
			blenddst="5"
			mask="1"
			maskvalue="0.5">
		</alpha>
	</gl>
	</boo>

	<draworder effect="clear" effect="boo"/>

	<load/>
	<run/>
</demo>
<demo name="keybanks" width="640" height="480" bpp="32" fullscreen="0">

	<loadplugin file="../fx/fx_main.dll"/>>
	<loadplugin file="../fx/fx_rawhed.dll"/>

	<add type="clear" name="clear"/>
	<clear color="0xff000000"/>

	<keybank set="0"/>

	<event key="1" bank="-1">
		<keybank inc="1"/>
	</event>
	<event key="2" bank="-1">
		<keybank dec="1"/>
	</event>

	<event key="Q" bank="0">
		<clear color="0xffff0000"/>
	</event>
	<event key="W" bank="0">
		<clear color="0xff880000"/>
	</event>
	<event key="E" bank="0">
		<clear color="0xff440000"/>
	</event>


	<event key="Q" bank="1">
		<clear color="0xff00ff00"/>
	</event>
	<event key="W" bank="1">
		<clear color="0xff008800"/>
	</event>
	<event key="E" bank="1">
		<clear color="0xff004400"/>
	</event>


	<event key="Q" bank="2">
		<clear color="0xff0000ff"/>
	</event>
	<event key="W" bank="2">
		<clear color="0xff000088"/>
	</event>
	<event key="E" bank="2">
		<clear color="0xff000044"/>
	</event>

	<draworder effect="clear"/>

	<load/>
	<run/>
</demo>