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); }
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; }