StarSystem::StarSystem( const char *filename, const Vector ¢r, const float timeofyear ) { no_collision_time = 0; //(int)(1+2.000/SIMULATION_ATOM); collidemap[Unit::UNIT_ONLY] = new CollideMap( Unit::UNIT_ONLY ); collidemap[Unit::UNIT_BOLT] = new CollideMap( Unit::UNIT_BOLT ); this->current_sim_location = 0; ///adds to jumping table; name = NULL; zone = 0; _Universe->pushActiveStarSystem( this ); bolts = new bolt_draw; collidetable = new CollideTable( this ); current_stage = MISSION_SIMULATION; this->filename = filename; LoadXML( filename, centr, timeofyear ); if (!name) name = strdup( filename ); sigIter = drawList.createIterator(); AddStarsystemToUniverse( filename ); time = 0; _Universe->popActiveStarSystem(); }
/* GameStarSystem::GameStarSystem(): StarSystem() { _Universe->pushActiveStarSystem (this); GFXCreateLightContext (lightcontext); bolts = new bolt_draw; collidetable = new CollideTable(this); } */ GameStarSystem::GameStarSystem(const char * filename, const Vector & centr,const float timeofyear) { no_collision_time=0; //(int)(1+2.000/SIMULATION_ATOM); ///adds to jumping table; name = NULL; _Universe->pushActiveStarSystem (this); GFXCreateLightContext (lightcontext); bolts = new bolt_draw; collidetable = new CollideTable(this); // cout << "origin: " << centr.i << " " << centr.j << " " << centr.k << " " << planetname << endl; current_stage=MISSION_SIMULATION; systemInputDFA = new InputDFA (this); LoadXML(filename,centr,timeofyear); if (!name) name =strdup (filename); AddStarsystemToUniverse(filename); // primaries[0]->SetPosition(0,0,0); //iter = primaries->createIterator(); //iter->advance(); //earth=iter->current(); //delete iter; // Calculate movement arcs; set behavior of primaries to follow these arcs //Iterator *primary_iterator = primaries->createIterator(); //primaries->SetPosition(0,0,5); //foo = new SphereMesh(1,5,5,"moon.image"); //cam[1].SetProjectionType(Camera::PARALLEL); //cam[1].SetZoom(1); //cam[1].SetPosition(Vector(0,0,0)); //cam[1].LookAt(Vector(0,0,0), Vector(0,0,1)); //cam[1].SetPosition(Vector(0,5,-2.5)); //cam[1].SetSubwindow(0,0,1,1); //cam[2].SetProjectionType(Camera::PARALLEL); //cam[2].SetZoom(10.0); //cam[2].SetPosition(Vector(5,0,0)); //cam[2].LookAt(Vector(0,0,0), Vector(0,-1,0)); //cam[2].SetPosition(Vector(5,0,-2.5)); //cam[2].SetSubwindow(0.10,0,0.10,0.10); UpdateTime(); time = 0; Atmosphere::Parameters params; params.radius = 40000; params.low_color[0] = GFXColor(0,0.5,0.0); params.low_color[1] = GFXColor(0,1.0,0.0); params.low_ambient_color[0] = GFXColor(0.0/255.0,0.0/255.0,0.0/255.0); params.low_ambient_color[1] = GFXColor(0.0/255.0,0.0/255.0,0.0/255.0); params.high_color[0] = GFXColor(0.5,0.0,0.0); params.high_color[1] = GFXColor(1.0,0.0,0.0); params.high_ambient_color[0] = GFXColor(0,0,0); params.high_ambient_color[1] = GFXColor(0,0,0); /* params.low_color[0] = GFXColor(241.0/255.0,123.0/255.0,67.0/255.0); params.low_color[1] = GFXColor(253.0/255.0,65.0/255.0,55.0/255.0); params.low_ambient_color[0] = GFXColor(0.0/255.0,0.0/255.0,0.0/255.0); params.low_ambient_color[1] = GFXColor(0.0/255.0,0.0/255.0,0.0/255.0); params.high_color[0] = GFXColor(60.0/255.0,102.0/255.0,249.0/255.0); params.high_color[1] = GFXColor(57.0/255.0,188.0/255.0,251.0/255.0); params.high_ambient_color[0] = GFXColor(0,0,0); params.high_ambient_color[1] = GFXColor(0,0,0); */ params.scattering = 5; _Universe->popActiveStarSystem (); }