void MapEditor::OnLevelMapCalc(Level& level, int number) { if (level.GetMapBG().IsEmpty()) { Exclamation(NFormat(t_("Please, select the image for level: %s"), level.GetName())); return; } String fp = AppendFileName( AppendFileName( GetFileDirectory(GetExeFilePath()), "Maps"), level.GetMapBG()); if (!FileExists(fp)) { Exclamation(NFormat(t_("Image file not exist: %s"), fp)); return; } String name = level.GetName(); double zx = level.GetZoomDX(); Size pz = level.GetPageSize(); Size sz = level.GetCellSize(); FileIn in(fp); One<StreamRaster> r = StreamRaster::OpenAny(in); if (!r) { Exclamation(NFormat(t_("Error while loading image file: %s"), fp)); return; } Image img = r->GetImage(); Calculate(sz.cx, sz.cy, pz.cx, pz.cy, zx, NFormat("%s-%d", _map.GetName(), number + 1), img); }
MissionScreen::MissionScreen(RocketCommanderGame &game, const Level &level) : GameScreen(game, "Mission.layout", false), m_rocketEndGameScale(0.0f), m_fuelBar(NULL), m_healthBar(NULL), m_speedBar(NULL), m_lifeBar(NULL), m_posText(NULL), m_rankText(NULL), m_timeText(NULL), m_scoreText(NULL), m_messageText(NULL), m_targetIcon(NULL), m_targetIconSize(Vector2::ZERO), m_arrowRight(NULL), m_arrowLeft(NULL), m_arrowUp(NULL), m_arrowDown(NULL), m_arrowSize(Vector2::ZERO) { // Set level for asteroid manager m_game.GetAsteroidManager().SetLevel(level); // Start new game m_game.GetPlayer().Reset(level.GetName()); }