	
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;     config                                                                                   ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; sound = true/false
; debug = true/false

config
{
	sound = true;
	developermode = false;
	song = music.mp3
	endtime = 228000
	jumptime = 200000
} 

timeline
{
	title 2000 40000 50000
	sea 35000 90000 50000
	transgression 90000 128700 50000
	start 128700 228000 50000
	credits 205000 225000 130000
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;     effects			                                                                        ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


event titlefeedback
{
	time = 2000
	length = 6000
}

event titlefadeout
{
	time = 35000
	length = 2500
}

event seafadein
{
	time = 40000
	length = 10000
}
event seafadeout
{
	time = 87000
	length = 3000
}


namespace title
{
	vector3 logopos = 0.0 0.0 150.0
	vector3 logodelta = 0.0 0.0 -90.0
	float logosize = 0.07

	vector3 cameraposition = 0 9 -10
	vector3 cameratarget = 0 1 0
	vector3 cameraup = 0 1 0 
	
	float feedbackmod = 0.35f
	color3 feedbackcolor = 0.1 0.4 1.0
	
	float vorticity1 = 0.1
	float effectspeed1 = 6.0
	float noisepower1 = 0.002
	float feedpower1 = 0.01
	float timemodifier1 = 1.0
	
	int glowsteps = 7;
	float glowx = 0.01f;
	float glowy = 0.01f;
	float glowbluralpha = 0.91f;
	float glowexp = 0.5f;
	float glowxfrequency = 150.0
	float glowyfrequency = 160.0
	float glowxspread = 0.103
	float glowyspread = 0.103
	float glowbrightness = 0.6
	float glowoceanexp = 0.5f;


	int tilpecount = 100
	color3 tilpecolor1 = 0.9 0.5 0.9
	range tilpealpha = 0.2 0.5
	range tilpesize = 0.02 0.05
	range tilperadius = 4 15
}


namespace credits
{
	vector3 pos1 = 45.0 -25.0 100.0
	range time1 = 205000 215000
	float size1 = 0.04

	vector3 pos2 = 29.0 -25.0 100.0
	range time2 = 210000 220000
	float size2 = 0.04

	vector3 pos3 = 18.0 -25.0 100.0
	range time3 = 215000 225000
	float size3 = 0.04
	
	vector3 cameraposition = 0 9 -10
	vector3 cameratarget = 0 1 0
	vector3 cameraup = 0 1 0 
	
	int glowsteps = 7;
	float glowx = 0.1f;
	float glowy = 0.1f;
	float glowbluralpha = 0.91f;
	float glowexp = 20.9f;
	bool glowcombine = true;	
}

trigger starttilpesync
{
	132200 1000
	133800 1000
	137200 1000
	137900 1000
	138900 1000
	143900 1000
	146100 1000
	147200 1000
	147600 1000
	149000 1000
	150700 1000
	153400 1000
	153700 1000
	154000 1000
	155500 1000
	158000 1000
	159100 1000
	164700 1000
	165800 1000
	167900 1000
	168461 1000
	169100 1000
	172100 1000
	174200 1000
	176500 1000
	178400 1000
	180200 1000
	184000 2000
	193800 6000
}

event starttilpefadein
{
	time = 134000
	length = 5000

}
event startcolor2fadein
{
	time = 130000
	length = 1000
}
event startcolor3fadein
{
	time = 135000
	length = 1000
}
event startcolor4fadein
{
	time = 140000
	length = 1000
}
event startfadetoblack
{
	time = 190000
	length = 20000
}
event startparticlestop
{
	time = 187000
	length = 1000
}
event startparticlefadeout
{
	time = 195000
	length = 5000
}

event starttilpefadeoutend
{
	time = 220000
	length = 6000
}
event startfeedbackstart
{
	time = 201000	
	length = 5000
}

trigger startepicsync
{
	132200 1000
	143900 1000
	155500 500
	160600 1000
	162000 1000
	168900 500
	188400 4000

}
event startendscale
{
	time = 207000
	length = 25000
}
namespace start
{
	range fielddensity = 0.3 0.7
	range fieldmovespeed = 0.0 0.001
	range fieldstrength = 3 5
	int particlecount = 100
	
	range cameradistance = 4 8
	range cameratarget = 0 1
	range cameramovement = 0.0 0.3
	range cameratargetmovement = 0.03 0.1
	range cameraduration = 6.0 10.0
	
	color3 color1 = 0 1 1
	color3 color2 = 0.1 1 1
	color3 color3 = 1 0 0.1
	color3 color4 = 1 1 0
	range particlemovespeed = 0 0.001
	range particlelifetime = 8 20
	range particlealpha = 0.3 0.6
	range particlealphadim = 0.05 0.1
	range particlealphawhenfeedingback = 0.01 0.05
	float particlebrightprobability = 0.1

	bool usefeedback = false
;	float vorticity1 = 0.5
;	float effectspeed1 = 1.0
;	float noisepower1 = 0.001
;	float feedpower1 = 0.02
;	float timemodifier1 = 1.0
	float vorticity1 = 2.5
	float effectspeed1 = 1.0
	float noisepower1 = 0.024
	float feedpower1 = 0.001
	float timemodifier1 = 1.0
	
	int tilpecount = 100
	color3 tilpecolor1 = 0.9 0.6 0.3
	range tilpealpha = 0.2 0.5
	range tilpesize = 0.02 0.05
	range tilperadius = 4 15
	
	int glowsteps = 6;
	float glowxstep = 0.01;
	float glowystep = 0.01;
	float glowalpha = 0.93;
	float glowexp = 0.0;
	float glowxfrequency = 10.0
	float glowyfrequency = 160.0
	float glowxspread = 0.03
	float glowyspread = 0.03
	float glowbrightness = 0.6
	float glowoceanexp = 0.5f;

	int glowstepsfeed = 7;
	float glowxstepfeed = 0.01;
	float glowystepfeed = 0.01;
	float glowalphafeed = 0.93;
	float glowexpfeed = 0.0;
	float glowxfrequencyfeed = 10.0
	float glowyfrequencyfeed = 160.0
	float glowxspreadfeed = 0.06
	float glowyspreadfeed = 0.06
	float glowbrightnessfeed = 0.8
	float glowoceanexpfeed = 0.5f;
	
}



trigger seaheartbeat
{
	39325 300
	40615 300
	41874 300
	43182 300
	44440 300
	45734 300
	46990 300
	48180 300
	49472 300
	50747 300
	52055 300
	53331 300
	54555 300
	55864 300
	57122 300
	58296 300
	59604 300
	60929 300
	62171 300
	63445 300
	64703 300
	65894 300
	67135 300
	68443 300
	69586 300
	71011 300
	72218 300
	73476 300
	74818 300
	75976 300
	77317 300
}

trigger seasync
{
	50500 1000
	52400 1000
	60100 1000
	60400 1000
	63400 1000
	64000 1000
	68400 1000
	70000 1000
	73200 1000
	74500 1000
}

namespace sea
{
	float fielddensity = 0.5
	float fieldmovespeed = 10
	float fieldstrength = 5.0
	int particlecount = 100
	
	range cameradistance = 3 7
	range cameratarget = 0 1
	range cameramovement = 0.0 0.3
	range cameratargetmovement = 0.03 0.1 
	range cameraduration = 4.0 8.0
	
	color3 color1 = 0.1 1 1
	color3 color2 = 1 0 0.1
	color3 color3 = 0.6 0 0.0
	color3 color4 = 0.7 0 0.1
	float particlemovespeed = 0.005
	range particlelifetime = 8 20
	range particlealpha = 0.3 0.6
	range particlealphawhenfeedingback = 0.1 0.2

	int tilpecount = 100
	color3 tilpecolor1 = 0.4 0.4 0.4
	range tilpealpha = 0.2 0.5
	range tilpesize = 0.02 0.05
	range tilperadius = 4 15
	
	bool usefeedback = false
	float vorticity1 = 0.2
	float effectspeed1 = 2.0
	float noisepower1 = 0.002
	float feedpower1 = 0.01
	float timemodifier1 = 1.0
	
	int glowsteps = 6;
	float glowxstep = 0.01;
	float glowystep = 0.01;
	float glowalpha = 0.90;
	float glowexp = 0.0;
	float glowxfrequency = 255.0
	float glowyfrequency = 0.0
	float glowxspread = 0.03
	float glowyspread = 0.03
	float glowbrightness = 0.2
	float glowoceanexp = 0.0f;
	

}
material transgressionitemmaterial
{
	diffuse = 0 0 0
	ambient = 0 0 0
	specular = 0 0 0
	shininess = 50
}
material transgressionstreakmaterial1
{          
	diffuse = 0 1 1 
	ambient = 0 1 1
	specular = 0 0 0
	shininess = 50
}

material transgressionstreakmaterial2
{
	diffuse = 1 1 0
	ambient = 0.1 1 1
	specular = 0 0 0
	shininess = 50
}

material transgressionstreakmaterial3
{
	diffuse = 1 0.2 0.2
	ambient = 0.2 1 1
	specular = 0 0 0
	shininess = 50
}

event transgressionitemfadein
{
	time = 90000
	length = 5000
}

event transgressionitemfadeout
{
	time = 124000
	length = 3000
}

event transgressionstreakfadein
{
	time = 102000
	length = 3000
}	

trigger transgressionsync
{
	108500 1000
	109900 1000
	111600 1000
}

event transgressionitemstop
{
	time = 112000
	length = 1000
}

event transgressionstreakstop
{
	time = 120000
	length = 1000
}
event transgressionstreakfadeout
{
	time = 123000
	length = 3000
}
namespace transgression
{
	float cameraspeed = 0.8
	range cameraduration = 6.0 10.0
	float eventtime = 0.25
	float streaktime = 0.012
	range streakwidth = 0.04 0.1
	int streakcount = 50

	int maxsparks = 1000
	float sparktime = 0.02f
	range sparkradius = 3 6
	range sparkfade = 0.2 0.4
	color3 sparkcolor = 1 0.7 0.4
	
	range transgressionitem_growspeed = 0.01 0.04
	range transgressionitem_piecegrowspeed = 0.03 0.1
	range transgressionitem_piececount = 7 10
	range transgressionitem_start_y = -9.f -6.f
	range transgressionitem_size = 0.02 0.7f
	range transgressionitem_z = -5.f 6.f
	range transgressionitem_zscale = 0.1 2.6

	float fogstart = 9.0
	float fogend = 15.4
	
	
	vector3 lightposition = -400 0 1650
	color3 lightdiffuse = 1 1 1
	color3 lightambient = 0.1 0.1 0.1
	color3 lightspecular = 1 1 1

	bool usefeedback = false
	float vorticity1 = 0.1
	float effectspeed1 = 6.0
	float noisepower1 = 0.002
	float feedpower1 = 0.01
	float timemodifier1 = 1.0
	
	int glowsteps = 5;
	float glowxstep = 0.03;
	float glowystep = 0.03;
	float glowalpha = 0.87;
	float glowexp = 0.5;
	float glowxfrequency = 20.0
	float glowyfrequency = 0.0
	float glowxspread = 0.06
	float glowyspread = 0.03
	float glowbrightness = 0.5
	float glowoceanexp = 0.5f;
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;     beat				                                                                        ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

BPM beatquarter
{
	bpm = 11.25
	offset = 0

}
BPM beathalf
{
	bpm = 22.5
	offset = 0
}
BPM basicbeat0
{
	bpm = 45
	offset = 0

}

BPM basicbeat1
{
	bpm = 90
	offset = 0
}

BPM basicbeat2
{
	bpm = 180
	offset = 0
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;     meshes																					;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

/*
mesh testi.obj
{
	usevbo = true
	autotexture = false
	texture = texture1.jpg
	usefacenormals = false
	calculatenormals = false
	retain = true
}
*/

mesh sphere.obj
{
	usevbo = true
}
mesh test.obj
{
	usevbo = true
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;     textures                                                                                 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; upload = true/false 
; wrap 	 = repeat/clamp
; retain = true/false 
; mipmap = true/false
; filter = nearest / linear 

texture ground.jpg
{
	mipmap = true
	wrap = repeat
	filter = linear
}

texture ceiling.jpg
{
	mipmap = true
	wrap = repeat
	filter = linear
}
texture photo1.jpg
{
	mipmap = true
	wrap = repeat
	filter = linear
}
texture photo2.jpg
{
	mipmap = true
	wrap = repeat
	filter = linear
}
texture photo3.jpg
{
	mipmap = true
	wrap = repeat
	filter = linear
}
texture brslogo.png
{
	wrap = clamp
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;     postprocessing rendertargets                                                             ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;; NOTE! these are hardcoded into the postprocessing code so if any names are changed, they need to be 
;;;;; changed in the code as well!

rendertarget feedback_0
{
	width = 1024;
	height = 1024;
}
rendertarget feedback_1
{
	width = 1024;
	height = 1024;
}
rendertarget feedback_2
{
	width = 1024;
	height = 1024;
}

rendertarget feedbackflow
{
	width = 64
	height = 64
}

rendertarget postprocess_1024
{
	width = 1024;
	height = 1024;
}
rendertarget postprocess_2048
{
	width = 2048;
	height = 2048;
}

rendertarget postprocess_512
{
	width = 512;
	height = 512;
}
rendertarget postprocess_256
{
	width = 256;
	height = 256;
}
rendertarget postprocess_256_2
{
	width = 256;
	height = 256;
}
rendertarget postprocess_128
{
	width = 128;
	height = 128;
}
rendertarget postprocess_128_2
{
	width = 128;
	height = 128;
}


texture postprocess_1024
{
	wrap = clamp;
}
texture postprocess_1024_2
{
	wrap = clamp;
}
texture postprocess_512
{
	wrap = clamp;
}
texture postprocess_256
{
	wrap = clamp;
}
texture postprocess_1284
{
	wrap = clamp;
}
texture postprocess_128_2
{
	wrap = clamp;
}
texture postprocess_64
{
	wrap = clamp;
}
texture postprocess_64_2
{
	wrap = clamp;
}

; this is for the pixelize shader mainly
texture postprocess_32
{
	filter = nearest
	wrap = clamp
}


; some whitespade needed :)