RocketSettings SceneRealistic :: getFlowerRocket(float hue , float hueChange ){
	
	RocketSettings rocketSettings;
	
	rocketSettings.startSpeedMin = 1200;
	rocketSettings.startSpeedMax = 1500;
	rocketSettings.directionVar = 4;
	rocketSettings.gravity.y = 200; 
	rocketSettings.drag = 0.95;
	
	ParticleSystemSettings trails = getFlowerTrailParticles(hue, hueChange);
	ParticleSystemSettings explosion = getFlowerExplosionParticles(hue, hueChange);
	ParticleSystemSettings explosionLines = getLineExplosionParticles(150, hueChange);
	
	
	
	explosion.emitDelay = explosionLines.emitDelay = trails.emitLifeTime = 2;
	
	rocketSettings.addParticleSystemSetting(trails);
	rocketSettings.addParticleSystemSetting(explosion);
	rocketSettings.addParticleSystemSetting(explosionLines);
	
	return rocketSettings;
	

	
};
Exemple #2
0
RocketSettings SceneRetro:: getFatRocket(float hue) {

	RocketSettings rocketSettings;
	ParticleSystemSettings pss;
	//pss.renderer = new ParticleRendererShape();
	pss.renderer = new ParticleRendererLowRes(pixelSize,1);
	pss.speedMin = pss.speedMax = 0;
	pss.emitCount = 100;
	pss.sizeStartMin = pss.sizeStartMax = pixelSize*1.5;
	pss.sizeChangeRatio = 0;
	pss.saturationEnd =500;
	pss.hueStartMin = pss.hueStartMax = hue; 
	//pss.brightnessEnd = 128;
	pss.lifeMin = 0.4;
	pss.lifeMax = 0.4;
	
	pss.emitLifeTime = 1.5;
	
	pss.startSound = "SynthKick";

	
	rocketSettings.addParticleSystemSetting(pss);
	
	rocketSettings.startSpeedMin = 1600;
	rocketSettings.startSpeedMax= 1700;
	rocketSettings.directionVar = 0;
	//rocketSettings.drag = 0.98;
	rocketSettings.gravity.set(0,1800);
	
	return rocketSettings;

};
RocketSettings SceneRealistic :: getSphereFlowerRocket(float hue , float hueChange ){
	
	RocketSettings rocketSettings;
	
	rocketSettings.startSpeedMin = 1200;
	rocketSettings.startSpeedMax = 1500;
	rocketSettings.directionVar = 4;
	rocketSettings.gravity.y = 200;
	rocketSettings.drag = 0.95;
	
	ParticleSystemSettings trails = getFlowerTrailParticles(hue, hueChange);
	ParticleSystemSettings explosion = getFlowerExplosionParticles(hue, hueChange);
	explosion.directionZ = 0;
	explosion.directionZVar = 90;
	explosion.directionY = 0;
	explosion.directionYVar = 180;
	explosion.speedMin = 900;
	explosion.speedMax = 1000;
	
	ParticleSystemSettings explosionLines = getLineExplosionParticles(150, hueChange);
	ParticleSystemSettings crackles = getBangerCrackles();
	crackles.renderer = new ParticleRendererStar(20, 70);
	crackles.brightnessStartMax = 150;
	crackles.brightnessStartMin = 100;
	crackles.sizeStartMax = 5;
	crackles.sizeStartMin = 3;
//	crackles.emitDelay = 0;
//	crackles.startSound = "";
//	crackles.emitMode = PARTICLE_EMIT_CONTINUOUS;
//	crackles.renderDelayMin = 0.01;
//	crackles.renderDelayMax = 0.2;
//	crackles.speedMin = 0;
//	crackles.speedMax = 0.5;
	
	
	
	
	explosion.emitDelay = explosionLines.emitDelay = crackles.emitDelay = trails.emitLifeTime = 2;
	
	rocketSettings.addParticleSystemSetting(trails);
	rocketSettings.addParticleSystemSetting(explosion);
	rocketSettings.addParticleSystemSetting(explosionLines);
	rocketSettings.addParticleSystemSetting(crackles);
	
	return rocketSettings;
	
	
	
};
Exemple #4
0
RocketSettings SceneRetro:: getRetroFountain(float hueOffset, float hueChange) {
	
	RocketSettings rocketSettings;
	ParticleSystemSettings pss;
	pss.renderer = new ParticleRendererLowRes(pixelSize);
	pss.speedMin = 100;
	pss.speedMax = 100;
	pss.drag = 0.9;
	
	pss.directionZVar = 0;
	pss.directionZ = 0; 
	
	pss.sizeStartMin = 4;
	pss.sizeStartMax = 4;
	pss.sizeChangeRatio = 0;
	
	pss.hueStartMin = pss.hueStartMax = hueOffset;
	pss.brightnessEnd = 255;
	pss.saturationMin = 0;
	pss.saturationMax = 0;
	pss.saturationEnd = 700;
	pss.shimmerMin = 1;
	
	pss.lifeMin= 0.2;
	pss.lifeMax= 0.8;
	
	
	pss.emitCount = 100;
	pss.emitLifeTime = 0.5;
	pss.emitHueModifierOffset = hueChange;
	pss.emitSpeedModifier = 0;
	pss.emitInheritVelocity = 0.5; 
	
	ParticleSystemSettings pss2(pss); 
	pss2.directionZ = 180;
	
	pss2.startSound = "RetroFountain";
	
	rocketSettings.startSpeedMin = 700;
	rocketSettings.startSpeedMax = 1200;
	rocketSettings.lifeTime = 0.5; 
	rocketSettings.drag = 0.99;
	rocketSettings.gravity.y = 1000;
	rocketSettings.addParticleSystemSetting(pss);
	rocketSettings.addParticleSystemSetting(pss2);
	
	return rocketSettings;
	
};
RocketSettings SceneRealistic :: getFluffyRocket(){
	
	
	
	RocketSettings rocketSettings;
	ParticleSystemSettings pss;
	pss.renderer = new ParticleRendererBitmap(&softWhiteImage);
	
	pss.gravity.y = 100;
	pss.speedMin = 00;
	pss.speedMax = 20;
	pss.drag = 0.93;
	
	pss.sizeStartMin = 8;
	pss.sizeStartMax = 15;
	pss.sizeChangeRatio = 0.9;
	pss.shimmerMin = 1; 
	
	pss.emitCount = 500;
	pss.emitStartSizeModifier = 0.2;
	
	pss.brightnessStartMin = 10;
	pss.brightnessStartMax = 255;
	pss.brightnessEnd = 0;
	
	pss.lifeMin = 0.5;
	pss.lifeMax = 0.8;

	
	pss.startSound = "RocketFountain";


	rocketSettings.startSpeedMin = 1000;
	rocketSettings.startSpeedMax = 1400;
	rocketSettings.gravity.y = 1200;
	
	
	
	rocketSettings.addParticleSystemSetting(pss);
	//rocketSettings.addParticleSystemSetting(getSmoke());
	
	return rocketSettings;
	
}
Exemple #6
0
RocketSettings SceneRetro::getRetroRocket(float hue, float hueChange) {
	RocketSettings rocketSettings;
	
	rocketSettings.startSpeedMin = 1000;
	rocketSettings.startSpeedMax = 1200;
	rocketSettings.drag = 0.95; 
		
	ParticleSystemSettings trails = getPixelTrailParticles(hue, hueChange);
	ParticleSystemSettings explosion = getPixelExplosionParticles(hue, hueChange);
	
	
	
	explosion.emitDelay = trails.emitLifeTime; 

	rocketSettings.addParticleSystemSetting(trails);
	rocketSettings.addParticleSystemSetting(explosion);
	
	return rocketSettings;

	
}
RocketSettings SceneRealistic:: getBangerRocket() {
	
	RocketSettings rocketSettings;
	
	rocketSettings.startSpeedMin = 1000;
	rocketSettings.startSpeedMax = 1200;
	rocketSettings.directionVar = 4;
	rocketSettings.gravity.y = 200;
	rocketSettings.drag = 0.95;
	
	ParticleSystemSettings trails = getBangerTrails();
	ParticleSystemSettings bang = getBangerBang();
	ParticleSystemSettings bangCrackles = getBangerCrackles();
	ParticleSystemSettings smoke1 = getSmoke();
	ParticleSystemSettings smoke2 = getSmoke();
	
	smoke2.emitMode = PARTICLE_EMIT_CONTINUOUS;
	smoke2.emitCount = 200;
	smoke2.emitLifeTime = 0.2; 
	smoke2.sizeStartMax = 30;
	smoke2.speedMax = 100;
	smoke2.brightnessStartMin = 10;
	smoke2.brightnessStartMax = 30;
	
	
	bang.emitDelay = bangCrackles.emitDelay = trails.emitLifeTime = smoke1.emitLifeTime =smoke2.emitDelay = 2;
	
	rocketSettings.addParticleSystemSetting(trails);
	rocketSettings.addParticleSystemSetting(smoke1);
	rocketSettings.addParticleSystemSetting(smoke2);
	rocketSettings.addParticleSystemSetting(bang);
	rocketSettings.addParticleSystemSetting(bangCrackles);
	
	return rocketSettings;
	
}
RocketSettings SceneRealistic :: getFountain(float hueStartOffset , float hueChange){
	
	ParticleRendererBase* renderer = new ParticleRendererShape();
	
	ParticleSystemSettings ps, ps2;
	
	// ParticleData
	// size range
	// size modifier
	// velocity range
	// life range
	// drag
	// gravity
	// colour
	// colour modifier
	// renderer
	
	// EmmisionData
	// Frequency
	// Burst/continuous
	// range of start sizes for particles
	// range of colours for particles
	
	// optional colour modifier
	// PHYSICS
	ps.speedMin = 0;
	ps.speedMax = 20;
	ps.directionZ = 0;
	ps.directionZVar = 90;
	ps.directionYVar = 180;
	ps.drag = 0.90;
	ps.gravity.set(0,30);
	
	//LIFE
	ps.lifeMin = 0.5;
	ps.lifeMax = 2;
	
	//APPEARANCE
	
	ps.sizeStartMin = 10;
	ps.sizeStartMax = 15;
	ps.sizeChangeRatio = 0;
	
	ps.hueStartMin = 0;
	ps.hueStartMax = 30;
	ps.hueChange = hueChange;
	
	ps.brightnessStartMin = 255;
	ps.brightnessStartMax = 255;
	ps.brightnessEnd = 255;
	
	ps.saturationMin = 0;
	ps.saturationMax = 0;
	ps.saturationEnd = 0;
	
	ps.shimmerMin = 0.1;
	
	// but also :
	// lifeExpectancy
	// delay
	
	ps.emitMode = PARTICLE_EMIT_CONTINUOUS;
	ps.emitCount = 200;
	
	ps.emitDelay = 0;
	ps.emitLifeTime= 0.6;
	
	ps.emitStartSizeModifier = 0;
	ps.emitSpeedModifier = 1;
	ps.emitHueModifierOffset = 0;
	
	//ps.emitAttachedPhysicsObject = &rocket;
	ps.emitInheritVelocity = 0.3;
	ps.startSound = "RocketFountain";
	
	//psystem.init(ps);
	
	// optional colour modifier
	
	
	// PHYSICS
	ps2.speedMin = 15;
	ps2.speedMax = 20;
	ps2.directionZ = 0;
	ps2.directionZVar = 90;
	ps2.directionYVar = 180;
	ps2.drag = 0.90;
	ps2.gravity.set(0,-30);
	
	//LIFE
	ps2.lifeMin = 1;
	ps2.lifeMax = 1.5;
	
	//APPEARANCE
	
	ps2.sizeStartMin = 2;
	ps2.sizeStartMax = 5;
	ps2.sizeChangeRatio = 5;
	
	ps2.hueStartMin = 0+hueStartOffset;
	ps2.hueStartMax = 0+hueStartOffset;
	ps2.hueChange = 0;
	
	ps2.brightnessStartMin = 20;
	ps2.brightnessStartMax = 70;
	ps2.brightnessEnd = 0;
	
	ps2.saturationMin = 100;
	ps2.saturationMax = 100;
	ps2.saturationEnd = 100;
	
	//ps.shimmerMin = 0.1;
	
	// but also :
	// lifeExpectancy
	// delay
	
	ps2.emitStartSizeModifier = 0;
	//ps2.emitSpeedModifier = 0;
	
	
	ps2.emitMode = PARTICLE_EMIT_CONTINUOUS;
	ps2.emitCount = 500;
	
	ps2.emitDelay = 0;
	ps2.emitLifeTime= 0.5;
	
	ps2.renderer = ps.renderer = renderer;
	//ps2.velocityModifierSettings = new VelocityModifierSettings(200,300);
	
	
	RocketSettings rocketSettings;
	rocketSettings.startSpeedMin = 1000;
	rocketSettings.startSpeedMax = 1500;
	rocketSettings.direction = -90;
	rocketSettings.directionVar = 5;
	rocketSettings.gravity.y = 300;
	rocketSettings.drag = 0.9;
	rocketSettings.lifeTime = 1;
	
	rocketSettings.addParticleSystemSetting(ps);
	rocketSettings.addParticleSystemSetting(ps2);

	return rocketSettings;

	
	
}
TriggerSettingsRocketRotator* SceneVectorizer :: getRocketTronFountain(float hueStartOffset, float hueChange) {
	
	
	ParticleRendererBase* particleRenderer = new ParticleRendererSquare();
	ParticleRendererBase* particleLineRenderer = new ParticleRendererGlitchLine(1.5);
	
	
	ParticleSystemSettings ps, ps2;

	
	//particleLineRenderer->lineWidth = 2;
	//whiteImage.loadImage("img/ParticleWhite.png");
	
	// ParticleData
	// size range
	// size modifier
	// velocity range
	// life range
	// drag
	// gravity
	// colour
	// colour modifier
	// renderer
	
	// EmmisionData
	// Frequency
	// Burst/continuous
	// range of start sizes for particles
	// range of colours for particles
	
	// optional colour modifier
	
	// PHYSICS
	ps.speedMin = 0;
	ps.speedMax = 30;
	ps.directionZ = -90;
	ps.directionZVar = 90;
	//ps.directionZVar = 0;
	ps.directionYVar = 0;
	
	ps.drag = 0.90;
	ps.gravity.set(0,0);
	
	//LIFE
	ps.lifeMin = 0.5;
	ps.lifeMax = 0.7;
	
	//APPEARANCE
	
	ps.sizeStartMin = 4;
	ps.sizeStartMax = 6;
	ps.sizeChangeRatio = 1;
	
	ps.hueStartMin = -5+hueStartOffset;
	ps.hueStartMax = 0+hueStartOffset;
	ps.hueChange = hueChange;
	
	ps.brightnessStartMin = 230;
	ps.brightnessStartMax = 255;
	ps.brightnessEnd = 0;
	
	ps.saturationMin = 150;
	ps.saturationMax = 255;
	ps.saturationEnd = 255;
	
	ps.emitMode = PARTICLE_EMIT_CONTINUOUS;
	ps.emitCount = 30;
	
	ps.emitDelay = 0;
	ps.emitLifeTime= 1.4;
	
	ps.emitStartSizeModifier = 0;
	ps.emitSpeedModifier = 10;
	ps.emitHueModifierOffset = 0;
	ps.emitInheritVelocity = 0;
	
	ps.startSound = "DirtyTechno";
	ps.renderer = particleLineRenderer;
	
	
	RocketSettings* rs = new RocketSettings();
	
	rs->startSpeedMin = 800;
	rs->startSpeedMax = 950;
	rs->direction = -90;
	rs->directionVar = 10;
	rs->gravity.y = 0;
	rs->lifeTime =1.4;
	rs->drag = 0.9;
	
	rs->addParticleSystemSetting(ps);
	
	TriggerSettingsRocketRotator* ts = new TriggerSettingsRocketRotator();
	ts->rocketSettings = rs;
	ts->radius = 6;
	return ts;
	
	
};
TriggerSettingsRocketOrb* SceneVectorizer :: getRocketTronFountain(float hueStartOffset, float hueChange, float speedMultiplier, bool useLaser) {
	
	
	ParticleRendererBase* particleLineRenderer;
		
	particleLineRenderer = new ParticleRendererGlitchLine(1.2);
	
	
	ParticleSystemSettings ps, ps2;

	
	//particleLineRenderer->lineWidth = 2;
	//whiteImage.loadImage("img/ParticleWhite.png");
	
	// ParticleData
	// size range
	// size modifier
	// velocity range
	// life range
	// drag
	// gravity
	// colour
	// colour modifier
	// renderer
	
	// EmmisionData
	// Frequency
	// Burst/continuous
	// range of start sizes for particles
	// range of colours for particles
	
	// optional colour modifier
	
	// PHYSICS
	ps.speedMin = 0;
	ps.speedMax = 30;
	ps.directionZ = -90;
	ps.directionZVar = 90;
	//ps.directionZVar = 0;
	ps.directionYVar = 0;
	
	ps.drag = 0.90;
	ps.gravity.set(0,0);
	
	//LIFE
	ps.lifeMin = 0.5;
	ps.lifeMax = 0.7;
	
	//APPEARANCE
	
	ps.sizeStartMin = 4;
	ps.sizeStartMax = 6;
	ps.sizeChangeRatio = 1;
	
	ps.hueStartMin = -5+hueStartOffset;
	ps.hueStartMax = 0+hueStartOffset;
	ps.hueChange = hueChange;
	
	ps.brightnessStartMin = 230;
	ps.brightnessStartMax = 255;
	ps.brightnessEnd = 0;
	
	ps.saturationMin = 150;
	ps.saturationMax = 255;
	ps.saturationEnd = 255;
	
	ps.emitMode = PARTICLE_EMIT_CONTINUOUS;
	if(useLaser) ps.emitCount = 20;
	else ps.emitCount = 40;
	ps.emitDelay = 0;
	ps.emitLifeTime= 1.4;
	
	ps.emitStartSizeModifier = 0;
	ps.emitSpeedModifier = 10;
	ps.emitHueModifierOffset = 0;
	ps.emitInheritVelocity = 0;
	
	ps.startSound = "DirtyTechno";
	ps.renderer = particleLineRenderer;
	
	
	RocketSettings* rs = new RocketSettings();
	
	rs->startSpeedMin = 800 * speedMultiplier;
	rs->startSpeedMax = 950 * speedMultiplier;
	rs->direction = -90;
	rs->directionVar = 0;
	rs->gravity.y = 0;
	rs->setLifeTime(1.4);
	rs->drag = 0.9;
	//ps.timeSpeed = rs->timeSpeed = 0.8;
	
	RocketSettings* rs2 = NULL; 
	if(useLaser) {
		rs2 = new RocketSettings(*rs);
		
		ParticleRendererBase* particleLineRendererLaser = new ParticleRendererGlitchLineLaser();
		ParticleSystemSettings ps2(ps);
		ps2.renderer = particleLineRendererLaser;
		rs2->addParticleSystemSetting(ps2);
	}
	
	rs->addParticleSystemSetting(ps);
	
	TriggerSettingsRocketOrb* ts = new TriggerSettingsRocketOrb();
	ts->addRocketSettings(rs);
	if(rs2!=NULL) {
		ts->addRocketSettings(rs2);
		vector<float>probs;
		probs.push_back(9);
		probs.push_back(1);
		
		ts->setProbabilities(probs);
	}
	
	ts->rotateOnFire = true;
	ts->rotationExtent = 20;
	ts->rotationSpeed = 4;
	ts->radius = 6;
	ts->rechargeSettings = TriggerRechargeSettings::superFastMultiples;
	ts->hue = hueStartOffset;
	ts->saturation = 200; 
	return ts;
	
};