pingus-cvs
[Top][All Lists]
Advanced

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

[Pingus-CVS] CVS: Games/Pingus/src config_xml.cxx,1.1,1.2 config_xml.hxx


From: grumbel
Subject: [Pingus-CVS] CVS: Games/Pingus/src config_xml.cxx,1.1,1.2 config_xml.hxx,1.1,1.2 goal_manager.cxx,1.2,1.3
Date: 13 Oct 2002 13:34:42 -0000

Update of /usr/local/cvsroot/Games/Pingus/src
In directory dark:/tmp/cvs-serv12122

Modified Files:
        config_xml.cxx config_xml.hxx goal_manager.cxx 
Log Message:
some more worldmap rewrite stuff

Index: config_xml.cxx
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/src/config_xml.cxx,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- config_xml.cxx      8 Oct 2002 22:58:02 -0000       1.1
+++ config_xml.cxx      13 Oct 2002 13:34:40 -0000      1.2
@@ -24,7 +24,7 @@
 
 ConfigXML::ConfigXML(const std::string& arg_filename)
 {
-  doc = xmlParseFile(arg_filename.c_str());
+  xmlDocPtr doc = xmlParseFile(arg_filename.c_str());
   if (doc == NULL)
     PingusError::raise("ConfigXML: Couldn't open \"" + arg_filename + "\"");
 
@@ -35,7 +35,7 @@
       cur = cur->children;
       cur = XMLhelper::skip_blank(cur);
 
-      parse_directory(cur, "");
+      parse_directory(doc, cur, "");
     }
   else
     {
@@ -43,18 +43,23 @@
     }
 }
 
+ConfigXML::ConfigXML(xmlDocPtr doc, xmlNodePtr cur)
+{
+  parse_directory(doc, cur, "");
+}
+
 void 
-ConfigXML::parse_directory(xmlNodePtr cur, const std::string& prefix)
+ConfigXML::parse_directory(xmlDocPtr doc, xmlNodePtr cur, const std::string& 
prefix)
 {
   while(cur)
     {
       std::string name = reinterpret_cast<const char*>(cur->name);
   
-      if (is_directory(cur))
+      if (is_directory(doc, cur))
         {
-          parse_directory(cur->children, prefix + name + "/");
+          parse_directory(doc, cur->children, prefix + name + "/");
         }
-      else if (is_value(cur))
+      else if (is_value(doc, cur))
         {
           std::string value;
           XMLhelper::node_list_get_string(doc, cur->children, 1, value);
@@ -75,13 +80,13 @@
 }
 
 bool
-ConfigXML::is_directory(xmlNodePtr cur)
+ConfigXML::is_directory(xmlDocPtr doc, xmlNodePtr cur)
 {
   return cur->children && (xmlIsBlankNode(cur->children) || 
!xmlNodeIsText(cur->children));
 }
 
 bool
-ConfigXML::is_value(xmlNodePtr cur)
+ConfigXML::is_value(xmlDocPtr doc, xmlNodePtr cur)
 {
   return cur->children && xmlNodeIsText(cur->children);
 }

Index: config_xml.hxx
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/src/config_xml.hxx,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- config_xml.hxx      8 Oct 2002 22:58:02 -0000       1.1
+++ config_xml.hxx      13 Oct 2002 13:34:40 -0000      1.2
@@ -26,14 +26,15 @@
 class ConfigXML
 {
 private:
-  xmlDocPtr doc;
+  //std::map<std::string, Prop> 
 public:
   ConfigXML(const std::string& filename);
+  ConfigXML(xmlDocPtr doc, xmlNodePtr cur);
   
 private:
-  void parse_directory(xmlNodePtr cur, const std::string& prefix);
-  bool is_directory(xmlNodePtr cur);
-  bool is_value(xmlNodePtr cur);
+  void parse_directory(xmlDocPtr doc, xmlNodePtr cur, const std::string& 
prefix);
+  bool is_directory(xmlDocPtr doc, xmlNodePtr cur);
+  bool is_value(xmlDocPtr doc, xmlNodePtr cur);
 
   ConfigXML (const ConfigXML&);
   ConfigXML& operator= (const ConfigXML&);

Index: goal_manager.cxx
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/src/goal_manager.cxx,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- goal_manager.cxx    9 Oct 2002 23:09:45 -0000       1.2
+++ goal_manager.cxx    13 Oct 2002 13:34:40 -0000      1.3
@@ -79,7 +79,10 @@
 GoalManager::set_abort_goal()
 {
   if (exit_time == 0)
-    goal = GT_GAME_ABORTED;
+    {
+      goal = GT_GAME_ABORTED;
+      exit_time = server->get_time();
+    }
 }
 
 /* EOF */





reply via email to

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