[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pingus-CVS] r2651 - branches/pingus_sdl/src
From: |
grumbel at BerliOS |
Subject: |
[Pingus-CVS] r2651 - branches/pingus_sdl/src |
Date: |
Sun, 14 Jan 2007 21:34:25 +0100 |
Author: grumbel
Date: 2007-01-14 21:34:25 +0100 (Sun, 14 Jan 2007)
New Revision: 2651
Modified:
branches/pingus_sdl/src/resource.cxx
branches/pingus_sdl/src/resource_manager.cpp
branches/pingus_sdl/src/resource_manager.hpp
Log:
- some more resource work
Modified: branches/pingus_sdl/src/resource.cxx
===================================================================
--- branches/pingus_sdl/src/resource.cxx 2007-01-14 20:07:41 UTC (rev
2650)
+++ branches/pingus_sdl/src/resource.cxx 2007-01-14 20:34:25 UTC (rev
2651)
@@ -43,7 +43,7 @@
resmgr.add_resources(path_manager.complete("data/core.res"));
resmgr.add_resources(path_manager.complete("data/entrances.res"));
resmgr.add_resources(path_manager.complete("data/exits.res"));
- resmgr.add_resources(path_manager.complete("data/fonts.res"));
+ //// resmgr.add_resources(path_manager.complete("data/fonts.res"));
resmgr.add_resources(path_manager.complete("data/game.res"));
resmgr.add_resources(path_manager.complete("data/groundpieces-bridge.res"));
resmgr.add_resources(path_manager.complete("data/groundpieces-ground.res"));
Modified: branches/pingus_sdl/src/resource_manager.cpp
===================================================================
--- branches/pingus_sdl/src/resource_manager.cpp 2007-01-14 20:07:41 UTC
(rev 2650)
+++ branches/pingus_sdl/src/resource_manager.cpp 2007-01-14 20:34:25 UTC
(rev 2651)
@@ -52,6 +52,7 @@
for(std::vector<FileReader>::iterator i = sections.begin(); i !=
sections.end(); ++i)
{
std::cout << "Section: " << i->get_name() << std::endl;
+ parse("", *i);
}
}
else
@@ -67,4 +68,47 @@
}
}
+void
+ResourceManager::parse(const std::string& section, FileReader& reader)
+{
+ if (reader.get_name() == "section")
+ {
+ parse_section(section, reader);
+ }
+ else if (reader.get_name() == "sprite")
+ {
+ std::string name;
+ reader.read_string("name", name);
+ std::cout << "sprite: " << section << "/" << name << std::endl;
+ }
+ else if (reader.get_name() == "alias")
+ {
+
+ }
+ else if (reader.get_name() == "name")
+ {
+ // ignore (ugly)
+ }
+ else
+ {
+ std::cout << "ResourceManager: unknown token: '" << reader.get_name() <<
"'" << std::endl;
+ }
+}
+
+void
+ResourceManager::parse_section(const std::string& section, FileReader& reader)
+{
+ std::string name;
+ reader.read_string("name", name);
+
+ std::vector<FileReader> sections = reader.get_sections();
+ for(std::vector<FileReader>::iterator i = sections.begin(); i !=
sections.end(); ++i)
+ {
+ if (section.empty())
+ parse(name, *i);
+ else
+ parse(section + "/" + name, *i);
+ }
+}
+
/* EOF */
Modified: branches/pingus_sdl/src/resource_manager.hpp
===================================================================
--- branches/pingus_sdl/src/resource_manager.hpp 2007-01-14 20:07:41 UTC
(rev 2650)
+++ branches/pingus_sdl/src/resource_manager.hpp 2007-01-14 20:34:25 UTC
(rev 2651)
@@ -28,6 +28,8 @@
#include <string>
+class FileReader;
+
/** */
class ResourceManager
{
@@ -39,8 +41,10 @@
~ResourceManager();
void add_resources(const std::string& filename);
+private:
+ void parse(const std::string& section, FileReader&);
+ void parse_section(const std::string& section, FileReader&);
-private:
ResourceManager (const ResourceManager&);
ResourceManager& operator= (const ResourceManager&);
};
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pingus-CVS] r2651 - branches/pingus_sdl/src,
grumbel at BerliOS <=