]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Level/Campaign.cpp
Friends fight with true enemies, before they attacked player but hurting enemies
[lugaru.git] / Source / Level / Campaign.cpp
index 0ff7392de00f3d8198999893e3ad2d2b5198a183..25092abddc2b704b79abf71f8dfef2d965317d05 100644 (file)
@@ -1,6 +1,6 @@
 /*
 Copyright (C) 2003, 2010 - Wolfire Games
-Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file)
+Copyright (C) 2010-2017 - Lugaru contributors (see AUTHORS file)
 
 This file is part of Lugaru.
 
@@ -32,6 +32,7 @@ std::vector<CampaignLevel> campaignlevels;
 bool campaign = false;
 
 int actuallevel = 0;
+std::string campaignEndText[3];
 
 std::vector<std::string> ListCampaigns()
 {
@@ -45,8 +46,9 @@ std::vector<std::string> ListCampaigns()
     std::vector<std::string> campaignNames;
     while ((campaign = readdir(campaigns)) != NULL) {
         std::string name(campaign->d_name);
-        if (name.length() < 5)
+        if (name.length() < 5) {
             continue;
+        }
         if (!name.compare(name.length() - 4, 4, ".txt")) {
             campaignNames.push_back(name.substr(0, name.length() - 4));
         }
@@ -63,10 +65,10 @@ void LoadCampaign()
     std::ifstream ipstream(Folders::getResourcePath("Campaigns/" + Account::active().getCurrentCampaign() + ".txt"));
     if (!ipstream.good()) {
         if (Account::active().getCurrentCampaign() == "main") {
-            cerr << "Could not found main campaign!" << endl;
+            cerr << "Could not find main campaign!" << endl;
             return;
         }
-        cerr << "Could not found campaign \"" << Account::active().getCurrentCampaign() << "\", falling back to main." << endl;
+        cerr << "Could not find campaign \"" << Account::active().getCurrentCampaign() << "\", falling back to main." << endl;
         Account::active().setCurrentCampaign("main");
         return LoadCampaign();
     }
@@ -79,6 +81,15 @@ void LoadCampaign()
         ipstream >> cl;
         campaignlevels.push_back(cl);
     }
+    campaignEndText[0] = "Congratulations!";
+    campaignEndText[1] = string("You have completed ") + Account::active().getCurrentCampaign() + " campaign";
+    campaignEndText[2] = "and restored peace to the island of Lugaru.";
+    if (ipstream.good()) {
+        ipstream.ignore(256, ':');
+        getline(ipstream, campaignEndText[0]);
+        getline(ipstream, campaignEndText[1]);
+        getline(ipstream, campaignEndText[2]);
+    }
     ipstream.close();
 
     std::ifstream test(Folders::getResourcePath("Textures/" + Account::active().getCurrentCampaign() + "/World.png"));