]> git.localhorst.tv Git - blobs.git/blobdiff - src/blobs.cpp
load universe from file
[blobs.git] / src / blobs.cpp
index 475c3fac9c548494c209fd0b73164ed3e00bfe4d..9562f84cde5740a5f3c820293c2f01a11eade3f2 100644 (file)
@@ -19,53 +19,12 @@ int main(int argc, char *argv[]) {
        app::Init init(true, 8);
        app::Assets assets;
 
-       world::Sun sun;
-       sun.Name("Sun");
-       sun.Mass(1.0e17);
-       sun.Radius(200.0);
-       sun.Color(glm::dvec3(1.0));
-       sun.Luminosity(1.0e8);
-       sun.AxialTilt(glm::dvec2(PI * 0.25, PI * 0.25));
-       sun.AngularMomentum(1.0e18);
-
-       world::Planet planet(25);
-       planet.Name("Planet");
-       planet.SetParent(sun);
-       planet.Mass(1.0e13);
-       planet.GetOrbit().SemiMajorAxis(8184.0);
-       planet.AxialTilt(glm::dvec2(PI * 0.127, 0.0));
-       planet.AngularMomentum(6.5e13);
-
-       world::Planet moon(5);
-       moon.Name("Moon");
-       moon.SetParent(planet);
-       moon.Mass(1.0e7);
-       moon.GetOrbit().SemiMajorAxis(72.5);
-       moon.Rotation(PI * 0.25);
-       moon.AngularMomentum(5.22e5);
-
-       world::Planet second_planet(14);
-       second_planet.Name("Second planet");
-       second_planet.SetParent(sun);
-       second_planet.Mass(1.0e12);
-       second_planet.GetOrbit().SemiMajorAxis(4350.0);
-       second_planet.AxialTilt(glm::dvec2(PI * 0.95, 0.0));
-       second_planet.AngularMomentum(1.0e12);
-
-       world::Simulation sim(sun, assets);
-       sim.AddSun(sun);
-       sim.AddPlanet(planet);
-       sim.AddPlanet(second_planet);
-       sim.AddPlanet(moon);
-
-       world::GenerateEarthlike(assets.data.tile_types, planet);
-       planet.Atmosphere(assets.data.resources["air"].id);
-       world::GenerateTest(assets.data.tile_types, moon);
-       world::GenerateTest(assets.data.tile_types, second_planet);
+       world::Simulation sim(assets);
+       assets.LoadUniverse("universe", sim);
 
        auto blob = new creature::Creature(sim);
        blob->Name(assets.name.Sequential());
-       Spawn(*blob, planet);
+       Spawn(*blob, sim.PlanetByName("Planet"));
        // decrease chances of ur-blob dying without splitting
        blob->GetProperties().Fertility() = 1.0;
        blob->BuildVAO();