Esempio n. 1
0
void Init(void)
{
	var.frame=0;	// kalkulasi rate frame

	// Init Terrain
	InitBuf();

	// Init the Wheel Smoke
	InitSmoke();

	// kamera
	var.anc=-20;
	var.gira=false;	// True when the car is steering
	var.vel=0;	// >0 if the speed car change
	var.cameratype=0;

	// Posisi velg dan mobil
	car.x=0;
	car.y=0.75;
	car.z=0;
	car.any=0;
	car.dany=0;
	car.velocita=10;	// Inisialisasi kecepatan
	car.vf=10;
	car.dvf=0;

	car.xruote[0]=2.4;
	car.yruote[0]=0.2;
	car.zruote[0]=-5.2;
	car.xruote[1]=-2.4;
	car.yruote[1]=0.2;
	car.zruote[1]=-5.2;
	car.xruote[2]=2.4;
	car.yruote[2]=0.2;
	car.zruote[2]=4.3;
	car.xruote[3]=-2.4;
	car.yruote[3]=0.2;
	car.zruote[3]=4.3;
	car.anruote=0;	// Sudut velg
	car.gira=0;		// Sudut memulai mobil

	// Inisialisasi posisi kamera
	var.Iox=car.x+50*cos((car.any+(rand()%90-rand()%90))*3.141/180);
	var.Ioy=(float)(1+rand()%10);
	var.Ioz=car.z+50*sin((car.any+(rand()%90-rand()%90))*3.141/180);
}
Esempio n. 2
0
flurry_info_t *new_flurry_info(global_info_t *global, int streams, ColorModes colour, float thickness, float speed, double bf)
{
	int i,k;
	flurry_info_t *flurry = (flurry_info_t *)malloc(sizeof(flurry_info_t));

	if (!flurry) return NULL;

	flurry->flurryRandomSeed = RandFlt(0.0, 300.0);

	flurry->dframe = 0;
	flurry->fOldTime = 0;
	flurry->fTime = TimeInSecondsSinceStart() + flurry->flurryRandomSeed;
	flurry->fDeltaTime = flurry->fTime - flurry->fOldTime;

	flurry->numStreams = streams;
	flurry->streamExpansion = thickness;
	flurry->currentColorMode = colour;
	flurry->briteFactor = bf;

	flurry->s = (SmokeV*)malloc(sizeof(SmokeV));
	InitSmoke(flurry->s);

	flurry->star = (Star*)malloc(sizeof(Star));
	InitStar(flurry->star);

	flurry->star->rotSpeed = speed;

	for (i = 0; i < MAX_SPARKS; i++)
	{
		flurry->spark[i] = (Spark*)malloc(sizeof(Spark));
		InitSpark(flurry->spark[i]);
		flurry->spark[i]->mystery = 1800 * (i + 1) / 13; /* 100 * (i + 1) / (flurry->numStreams + 1); */
		UpdateSpark(global, flurry, flurry->spark[i]);
	}

	for (i = 0; i < NUMSMOKEPARTICLES / 4; i++) {
		for (k = 0; k < 4; k++) {
			flurry->s->p[i].dead.i[k] = 1;
		}
	}

	flurry->next = NULL;

	return flurry;
}