Box::Box(Vec3 pos, Vec3 length) { DEBUG_LOG("Constructor called") corners[0].set(0.0,0.0,0.0); corners[1].set(0.0,0.0,0.0); corners[2].set(0.0,0.0,0.0); corners[3].set(0.0,0.0,0.0); createbox(pos,length); };
Box::Box() { DEBUG_LOG("Constructor called") corners[0].set(0.0,0.0,0.0); corners[1].set(0.0,0.0,0.0); corners[2].set(0.0,0.0,0.0); corners[3].set(0.0,0.0,0.0); createbox(Vec3(100.0, 100.0, 0.0), Vec3(150.0, 100.0, 0.0)); };
void setuplevel(void) { int count,count2; int numofobjectstemp; float vec[3]; for (count=0;count<256;count++) for (count2=0;count2<256;count2++) level.gridmod[count][count2]=0; setuplevellines(1,1,254,254); numofparticles=0; numofbonds=0; numofobjects=0; numofropes=0; physicstemp.numofbonds=0; numofsprites=0; numofbosses=0; for (count=0;count<level.numofobjects;count++) if (level.object[count].type>=20 && level.object[count].type<40) { if (animation[level.object[count].type-20].loaded==0) animation[level.object[count].type-20].loaded=2; if (level.object[count].type-20==7) if (animation[2].loaded==0) animation[2].loaded=2; if (level.object[count].type-20==13) if (animation[8].loaded==0) animation[8].loaded=2; if (level.object[count].type-20==12) if (animation[11].loaded==0) animation[11].loaded=2; } loadanimations(); for (count=0;count<level.numofobjects;count++) { numofobjectstemp=numofobjects; if (level.object[count].type==1) { createtarboy(level.object[count].position); object[numofobjects-1].texturenum=1; } if (level.object[count].type==2) createbox(level.object[count].position,level.object[count].size[0],level.object[count].size[1],level.object[count].mass,level.object[count].friction); if (level.object[count].type==3) { createbox(level.object[count].position,level.object[count].size[0],level.object[count].size[1],level.object[count].mass,level.object[count].friction); createparticle(2,level.object[count].position,NULL,10000.0f,-1,10000); createbond(numofparticles-5,numofparticles-1,1,-1); createbond(numofparticles-4,numofparticles-1,1,-1); createbond(numofparticles-3,numofparticles-1,1,-1); createbond(numofparticles-2,numofparticles-1,1,-1); } if (level.object[count].type==4) { if (level.gametype!=16) { createbox(level.object[count].position,level.object[count].size[0],level.object[count].size[1],level.object[count].mass,level.object[count].friction); vec[0]=level.object[count].position[0]-(level.object[count].size[0]-1.0f)*0.5f; vec[1]=level.object[count].position[1]-(level.object[count].size[1]-1.0f)*0.5f; vec[2]=0.0f; createparticle(2,vec,NULL,10000.0f,-1,10000); createbond(numofparticles-5,numofparticles-1,1,-1); createbond(numofparticles-4,numofparticles-1,1,-1); createbond(numofparticles-3,numofparticles-1,1,-1); createbond(numofparticles-2,numofparticles-1,1,-1); } else createcar(level.object[count].position,level.object[count].size[0],level.object[count].size[1],level.object[count].mass,level.object[count].friction); } if (level.object[count].type==5) { createbox(level.object[count].position,level.object[count].size[0],level.object[count].size[1],level.object[count].mass,level.object[count].friction); vec[0]=level.object[count].position[0]+(level.object[count].size[0]-1.0f)*0.5f; vec[1]=level.object[count].position[1]+(level.object[count].size[1]-1.0f)*0.5f; vec[2]=0.0f; createparticle(2,vec,NULL,10000.0f,-1,10000); createbond(numofparticles-5,numofparticles-1,1,-1); createbond(numofparticles-4,numofparticles-1,1,-1); createbond(numofparticles-3,numofparticles-1,1,-1); createbond(numofparticles-2,numofparticles-1,1,-1); } if (level.object[count].type==6) { createwheel(level.object[count].position,level.object[count].size[0],level.object[count].size[1],level.object[count].mass,level.object[count].friction,0); } if (level.object[count].type==7) { createwheel(level.object[count].position,level.object[count].size[0],level.object[count].size[1],level.object[count].mass,level.object[count].friction,1); //createparticle(2,level.object[count].position,NULL,10000.0f,-1,10000); //for (count2=0;count2<16;count2++) // createbond(numofparticles-17+count2,numofparticles-1,1,-1); } if (level.object[count].type==8) createanchor(level.object[count].position); if (level.object[count].type==9) createbutton(level.object[count].position,level.object[count].mass); if (level.object[count].type==10) { createbutton(level.object[count].position,level.object[count].mass); object[numofobjects-1].idata[1]=1; } if (level.object[count].type==11) createswitch(level.object[count].position,level.object[count].mass,0); if (level.object[count].type==12) createswitch(level.object[count].position,level.object[count].mass,1); if (level.object[count].type==13) createswitch(level.object[count].position,level.object[count].mass,2); if (level.object[count].type==14) createswitch(level.object[count].position,level.object[count].mass,3); if (level.object[count].type==15) createareaswitch(level.object[count].position,level.object[count].size[0],level.object[count].size[1]); if (level.object[count].type==16) { createareaswitch(level.object[count].position,level.object[count].size[0],level.object[count].size[1]); object[numofobjects-1].idata[1]=1; } if (level.object[count].type==18) { createareaswitch(level.object[count].position,level.object[count].size[0],level.object[count].size[1]); object[numofobjects-1].idata[1]=2; } if (level.object[count].type==17) creategenerator(level.object[count].position,level.object[count].mass); if (level.object[count].type==20) createbeast(0,level.object[count].position,1.0f,1.0f,1.0f,0.2f); if (level.object[count].type==21) createbeast(1,level.object[count].position,1.0f,1.0f,1.0f,0.2f); if (level.object[count].type==22) createbeast(2,level.object[count].position,1.0f,1.0f,1.0f,0.2f); if (level.object[count].type==23) createbeast(3,level.object[count].position,1.5f,1.1f,8.0f,0.2f); if (level.object[count].type==24) createbeast(4,level.object[count].position,1.5f,1.1f,8.0f,0.2f); if (level.object[count].type==25) createbeast(5,level.object[count].position,1.5f,1.1f,8.0f,0.2f); if (level.object[count].type==26) createbeast(6,level.object[count].position,1.5f,1.1f,8.0f,0.2f); if (level.object[count].type==27) createbeast(7,level.object[count].position,3.0f,3.0f,20.0f,0.2f); if (level.object[count].type==28) createbeast(8,level.object[count].position,1.0f,1.0f,1.0f,0.2f); if (level.object[count].type==29) createbeast(9,level.object[count].position,1.5f,1.1f,8.0f,0.2f); if (level.object[count].type==30) createbeast(10,level.object[count].position,1.5f,1.1f,8.0f,0.2f); if (level.object[count].type==31) createbeast(11,level.object[count].position,1.0f,1.0f,1.0f,0.2f); if (level.object[count].type==32) createbeast(12,level.object[count].position,2.0f,0.85f,3.0f,0.2f); if (level.object[count].type==33) createbeast(13,level.object[count].position,3.0f,3.0f,20.0f,0.2f); if (level.object[count].type==34) createboss(14,level.object[count].position); if (level.object[count].type==35) createbeast(15,level.object[count].position,2.0f,2.0f,8.0f,0.2f); if (level.object[count].type==36) createbeast(16,level.object[count].position,1.0f,1.0f,1.0f,0.2f); if (numofobjects!=numofobjectstemp) { if (level.object[count].type>1 && level.object[count].type<20) object[numofobjects-1].texturenum=level.object[count].texturenum; object[numofobjects-1].link=level.object[count].link; object[numofobjects-1].lighttype=level.object[count].lighttype; if (level.object[count].lighttype==1 || level.object[count].lighttype==3) object[numofobjects-1].lighton=1; if (level.object[count].lighttype==2) object[numofobjects-1].lighton=0; object[numofobjects-1].size[0]=level.object[count].size[0]; object[numofobjects-1].size[1]=level.object[count].size[1]; object[numofobjects-1].lightcolor[0]=level.object[count].lightcolor[0]; object[numofobjects-1].lightcolor[1]=level.object[count].lightcolor[1]; object[numofobjects-1].lightcolor[2]=level.object[count].lightcolor[2]; object[numofobjects-1].lightintensity=level.object[count].lightintensity; object[numofobjects-1].lightintensitymax=level.object[count].lightintensity; } } for (count=0;count<level.numofobjects;count++) { if ((level.object[count].type>=23 && level.object[count].type<=26) || level.object[count].type==29 || level.object[count].type==30) { vec[0]=level.object[count].position[0]; vec[1]=level.object[count].position[1]+1.4f;//+1.42f; vec[2]=0.0f; createhead(vec,2.0f,1.6f,2.0f,0.5f); object[count].link=numofobjects-1; //createbond(object[numofobjects-1].particle[0],object[count].particle[0],6,count); createbond(object[numofobjects-1].particle[2],object[count].particle[0],6,count); createbond(object[numofobjects-1].particle[4],object[count].particle[0],6,count); createbond(object[numofobjects-1].particle[0],object[count].particle[1],6,count); createbond(object[numofobjects-1].particle[2],object[count].particle[1],6,count); //createbond(object[numofobjects-1].particle[4],object[count].particle[1],6,count); } } for (count=0;count<level.numofropes;count++) { createrope(level.rope[count].type,object[level.rope[count].obj1].particle[level.rope[count].obj1part],object[level.rope[count].obj2].particle[level.rope[count].obj2part],level.rope[count].obj1,level.rope[count].obj2,level.rope[count].texturenum); } }