]> git.localhorst.tv Git - blobs.git/blobdiff - src/blobs.cpp
spherical planets
[blobs.git] / src / blobs.cpp
index c1dfbbc250491500c7e2b785c4be2b4d100d3d3f..1d854fc403df7ae6f20258f1ef096fd9616f8b78 100644 (file)
@@ -13,7 +13,6 @@
 #include <cstdint>
 #include <iostream>
 
-
 using namespace blobs;
 
 namespace {
@@ -24,7 +23,8 @@ struct SwitchPanel {
 
        void operator ()(creature::Creature &c) {
                if (planet.Creatures().empty()) {
-                       std::cout << "no more creatures, game over" << std::endl;
+                       planet.GetSimulation().Log() << "no more creatures, game over" << std::endl;
+                       state.GetCreaturePanel().Hide();
                        while (app.HasState()) {
                                app.PopState();
                        }
@@ -89,36 +89,16 @@ int main(int argc, char *argv[]) {
        world::GenerateTest(assets.data.tile_types, moon);
        world::GenerateTest(assets.data.tile_types, second_planet);
 
-       std::cout << "length of year: " << planet.OrbitalPeriod() << "s" << std::endl;
-       std::cout << "length of moon cycle: " << moon.OrbitalPeriod() << "s" << std::endl;
-       std::cout << "length of day: " << planet.RotationalPeriod() << "s" << std::endl;
-       std::cout << "days per year: " << (planet.OrbitalPeriod() / planet.RotationalPeriod()) << std::endl;
-       std::cout << "moon cycle in days: " << (moon.OrbitalPeriod() / planet.RotationalPeriod()) << std::endl;
-       std::cout << "moon cycles per year: " << (planet.OrbitalPeriod() / moon.OrbitalPeriod()) << std::endl;
-
        auto blob = new creature::Creature(sim);
        blob->Name(assets.name.Sequential());
        Spawn(*blob, planet);
+       // decrease chances of ur-blob dying without splitting
+       blob->GetProperties().Fertility() = 1.0;
        blob->BuildVAO();
 
        app::MasterState state(assets, sim);
-       state.GetCamera()
-               .Reference(planet)
-               // sunrise
-               //.FirstPerson(0, glm::vec3(0.0f, 0.0f, 0.1f), glm::vec3(1.0f, -0.75f, 0.1f))
-               // sunset
-               //.FirstPerson(3, glm::vec3(0.0f, 0.0f, 0.1f), glm::vec3(1.0f, -0.75f, 0.1f))
-               // from afar
-               .MapView(0, glm::vec3(0.0f, 0.0f, 15.0f), 0.0f)
-               // from afar, rotating
-               //.Orbital(glm::vec3(-60.0f, 0.0f, 0.0f))
-       ;
-       // system view
-       //state.GetCamera()
-       //      .Reference(sun)
-       //      .Orbital(glm::vec3(-500.0f, 500.0f, 500.0f))
-       //;
        state.GetCreaturePanel().Show(*blob);
+       state.GetTimePanel().SetBody(planet);
 
        app::Application app(init.window, init.viewport);
        SwitchPanel swp(planet, app, state);