pingus-cvs
[Top][All Lists]
Advanced

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

[Pingus-CVS] CVS: Games/Pingus/src/editor editor_event.cxx,1.51,1.52 obj


From: grumbel
Subject: [Pingus-CVS] CVS: Games/Pingus/src/editor editor_event.cxx,1.51,1.52 object_selector.cxx,1.31,1.32
Date: 5 Mar 2003 21:19:20 -0000

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

Modified Files:
        editor_event.cxx object_selector.cxx 
Log Message:
- fixed prefab export and import, not really userfriendly, but works anyway


Index: editor_event.cxx
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/src/editor/editor_event.cxx,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- editor_event.cxx    4 Mar 2003 12:53:46 -0000       1.51
+++ editor_event.cxx    5 Mar 2003 21:19:18 -0000       1.52
@@ -744,7 +744,7 @@
 void
 EditorEvent::editor_export_prefab_from_selection ()
 {
-  std::cout << "EditorEvent:editor_export_object_group_from_selection ()" << 
std::endl;
+  std::cout << "EditorEvent:editor_export_object_group_from_selection (): 
/tmp/metaobj.xml" << std::endl;
   
   std::vector<EditorObj*> temp;
   for (std::vector<EditorObj*>::const_iterator it  = 
selection->get_objects().begin();
@@ -753,7 +753,12 @@
   
   EditorObjGroup group (temp);
   std::ofstream xml ("/tmp/metaobj.xml");
+  xml << "<pingus-prefab>\n"
+      << "  <name>Unnamed Prefab</name>\n"
+      << "  <object>\n";
   group.write_xml (xml);
+  xml << "  </object>\n"
+      << "</pingus-prefab>\n";
 }
 
 void

Index: object_selector.cxx
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/src/editor/object_selector.cxx,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- object_selector.cxx 4 Mar 2003 12:53:47 -0000       1.31
+++ object_selector.cxx 5 Mar 2003 21:19:18 -0000       1.32
@@ -37,6 +37,7 @@
 #include "string_reader.hxx"
 #include "thumb_cache.hxx"
 #include "weather_obj.hxx"
+#include "../prefab.hxx"
 
 #include "../worldobjsdata/entrance_data.hxx"
 #include "../worldobjsdata/exit_data.hxx"
@@ -485,7 +486,8 @@
   if (dir.scan(path_manager.complete ("prefabs/"), "*.xml"))
     {
       while (dir.next ()) {
-       dir_lst.push_back (dir.get_name ());
+        std::string filename = dir.get_name ();
+       dir_lst.push_back (filename.substr(0, filename.length()-4));
       }
     }
 
@@ -498,24 +500,55 @@
     }
 
   Display::flip_display();
-
-  bool exit_loop = false;
-    
-  while (!exit_loop) 
+  
+  int item = -1;
+  while (item == -1) 
     {
       switch (read_key()) 
        {
        case CL_KEY_1:
-         {
-           std::string prefab_filename = path_manager.complete ("prefabs/") + 
dir_lst[0];
-           std::cout << "prefab_filename: " << prefab_filename << std::endl;
-         }
-         break;
-
+          item = 1;
+          break;
+       case CL_KEY_2:
+          item = 2;
+          break;
+       case CL_KEY_3:
+          item = 3;
+          break;
+       case CL_KEY_4:
+          item = 4;
+          break;
+       case CL_KEY_5:
+          item = 5;
+          break;
+       case CL_KEY_6:
+          item = 6;
+          break;
+       case CL_KEY_7:
+          item = 7;
+          break;
+       case CL_KEY_8:
+          item = 8;
+          break;
+       case CL_KEY_9:
+          item = 9;
+          break;
+          
        case CL_KEY_ESCAPE: 
-         exit_loop = true;
-         break;
+          return;
        }
+    }
+
+  if ((item-1) < static_cast<int>(dir_lst.size()))
+    {
+      std::cout << "ObjectSelector: Inserting prefab: " << dir_lst[item-1] << 
std::endl;
+      Prefab* prefab = Prefab::create(dir_lst[item-1]);
+      prefab->get_data()->insert_EditorObjs(obj_mgr);
+      delete prefab;
+    }
+  else
+    {
+      std::cout << "ObjectSelector: invalid prefab selected" << std::endl;
     }
 }
 






reply via email to

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