wesnoth-cvs-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Wesnoth-cvs-commits] wesnoth/src game.cpp


From: David White
Subject: [Wesnoth-cvs-commits] wesnoth/src game.cpp
Date: Sun, 03 Jul 2005 10:48:48 -0400

CVSROOT:        /cvsroot/wesnoth
Module name:    wesnoth
Branch:         
Changes by:     David White <address@hidden>    05/07/03 14:48:48

Modified files:
        src            : game.cpp 

Log message:
        made it so #defines from one user campaign aren't visible in another 
user campaign

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/game.cpp.diff?tr1=1.260&tr2=1.261&r1=text&r2=text

Patches:
Index: wesnoth/src/game.cpp
diff -u wesnoth/src/game.cpp:1.260 wesnoth/src/game.cpp:1.261
--- wesnoth/src/game.cpp:1.260  Sat Jul  2 21:37:18 2005
+++ wesnoth/src/game.cpp        Sun Jul  3 14:48:47 2005
@@ -1,4 +1,4 @@
-/* $Id: game.cpp,v 1.260 2005/07/02 21:37:18 ott Exp $ */
+/* $Id: game.cpp,v 1.261 2005/07/03 14:48:47 Sirp Exp $ */
 /*
    Copyright (C) 2003 by David White <address@hidden>
    Part of the Battle for Wesnoth Project http://www.wesnoth.org/
@@ -1269,56 +1269,58 @@
                                scoped_istream stream = 
preprocess_file("data/game.cfg", &defines_map);
 
                                std::string error_log, user_error_log;
-                               read(cfg, *stream, &error_log);
 
-                               //load user campaigns
-                               const std::string user_campaign_dir = 
get_user_data_dir() + "/data/campaigns/";
-                               std::vector<std::string> user_campaigns, 
error_campaigns;
-                               
get_files_in_dir(user_campaign_dir,&user_campaigns,NULL,ENTIRE_FILE_PATH);
-                               for(std::vector<std::string>::const_iterator uc 
= user_campaigns.begin(); uc != user_campaigns.end(); ++uc) {
-                                       static const std::string extension = 
".cfg";
-                                       if(uc->size() < extension.size() || 
std::equal(uc->end() - extension.size(),uc->end(),extension.begin()) == false) {
-                                               continue;
-                                       }
-
-                                       try {
-                                               scoped_istream stream = 
preprocess_file(*uc,&defines_map);
-
-                                               std::string campaign_error_log;
-
-                                               config user_campaign_cfg;
-                                               
read(user_campaign_cfg,*stream,&campaign_error_log);
-
-                                               if(campaign_error_log.empty()) {
-                                                       
cfg.append(user_campaign_cfg);
-                                               } else {
-                                                       user_error_log += 
campaign_error_log;
-                                                       
error_campaigns.push_back(*uc);
-                                               }
-                                       } catch(config::error& err) {
-                                               std::cerr << "error reading 
user campaign '" << *uc << "'\n";
-                                               error_campaigns.push_back(*uc);
-
-                                               user_error_log += err.message + 
"\n";
-                                       } catch(io_exception&) {
-                                               std::cerr << "error reading 
user campaign '" << *uc << "'\n";
-                                               error_campaigns.push_back(*uc);
-                                       }
-                               }
-
-                               if(error_campaigns.empty() == false) {
-                                       std::stringstream msg;
-                                       msg << _("The following add-on 
campaign(s) had errors and could not be loaded:");
-                                       
for(std::vector<std::string>::const_iterator i = error_campaigns.begin(); i != 
error_campaigns.end(); ++i) {
-                                               msg << "\n" << *i;
-                                       }
-
-                                       msg << "\n" << _("ERROR DETAILS:") << 
"\n" << user_error_log;
-
-                                       
gui::show_error_message(disp(),msg.str());
-                               }
-
-                               cfg.merge_children("units");
+                               read(cfg, *stream, &error_log);
+
+                               //load user campaigns
+                               const std::string user_campaign_dir = 
get_user_data_dir() + "/data/campaigns/";
+                               std::vector<std::string> user_campaigns, 
error_campaigns;
+                               
get_files_in_dir(user_campaign_dir,&user_campaigns,NULL,ENTIRE_FILE_PATH);
+                               for(std::vector<std::string>::const_iterator uc 
= user_campaigns.begin(); uc != user_campaigns.end(); ++uc) {
+                                       static const std::string extension = 
".cfg";
+                                       if(uc->size() < extension.size() || 
std::equal(uc->end() - extension.size(),uc->end(),extension.begin()) == false) {
+                                               continue;
+                                       }
+
+                                       try {
+                                               preproc_map 
user_defines_map(defines_map);
+                                               scoped_istream stream = 
preprocess_file(*uc,&user_defines_map);
+
+                                               std::string campaign_error_log;
+
+                                               config user_campaign_cfg;
+                                               
read(user_campaign_cfg,*stream,&campaign_error_log);
+
+                                               if(campaign_error_log.empty()) {
+                                                       
cfg.append(user_campaign_cfg);
+                                               } else {
+                                                       user_error_log += 
campaign_error_log;
+                                                       
error_campaigns.push_back(*uc);
+                                               }
+                                       } catch(config::error& err) {
+                                               std::cerr << "error reading 
user campaign '" << *uc << "'\n";
+                                               error_campaigns.push_back(*uc);
+
+                                               user_error_log += err.message + 
"\n";
+                                       } catch(io_exception&) {
+                                               std::cerr << "error reading 
user campaign '" << *uc << "'\n";
+                                               error_campaigns.push_back(*uc);
+                                       }
+                               }
+
+                               if(error_campaigns.empty() == false) {
+                                       std::stringstream msg;
+                                       msg << _("The following add-on 
campaign(s) had errors and could not be loaded:");
+                                       
for(std::vector<std::string>::const_iterator i = error_campaigns.begin(); i != 
error_campaigns.end(); ++i) {
+                                               msg << "\n" << *i;
+                                       }
+
+                                       msg << "\n" << _("ERROR DETAILS:") << 
"\n" << user_error_log;
+
+                                       
gui::show_error_message(disp(),msg.str());
+                               }
+
+                               cfg.merge_children("units");
 
                                if(!error_log.empty()) {
                                        gui::show_error_message(disp(),




reply via email to

[Prev in Thread] Current Thread [Next in Thread]