Space::Space(Game *game, RefCountedPtr<Galaxy> galaxy, const SystemPath &path, Space* oldSpace) : m_starSystemCache(oldSpace ? oldSpace->m_starSystemCache : galaxy->NewStarSystemSlaveCache()) , m_game(game) , m_frameIndexValid(false) , m_bodyIndexValid(false) , m_sbodyIndexValid(false) , m_bodyNearFinder(this) #ifndef NDEBUG , m_processingFinalizationQueue(false) #endif { m_starSystem = galaxy->GetStarSystem(path); Uint32 _init[5] = { path.systemIndex, Uint32(path.sectorX), Uint32(path.sectorY), Uint32(path.sectorZ), UNIVERSE_SEED }; Random rand(_init, 5); m_background.reset(new Background::Container(Pi::renderer, rand)); CityOnPlanet::SetCityModelPatterns(m_starSystem->GetPath()); // XXX set radius in constructor m_rootFrame.reset(new Frame(0, Lang::SYSTEM)); m_rootFrame->SetRadius(FLT_MAX); GenBody(m_game->GetTime(), m_starSystem->GetRootBody().Get(), m_rootFrame.get()); m_rootFrame->UpdateOrbitRails(m_game->GetTime(), m_game->GetTimeStep()); GenSectorCache(galaxy, &path); //DebugDumpFrames(); }