- Fix: Added missing xml-writer pop-calls

- Ported mapxml plugin to Doom3
- mapxml now exports brushes with its vertices


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@159 8a3a26a2-13c4-0310-b231-cf6edde360e5
This commit is contained in:
namespace
2007-03-27 12:42:30 +00:00
parent 2e97c6dc9f
commit 97b5fa7aa7
6 changed files with 81 additions and 12 deletions

View File

@@ -208,7 +208,7 @@ public:
}
};
class MapQ3Importer : public TreeXMLImporter
class MapDoom3Importer : public TreeXMLImporter
{
scene::Node& m_root;
char m_child[sizeof(EntityImporter)];
@@ -219,17 +219,17 @@ class MapQ3Importer : public TreeXMLImporter
return *reinterpret_cast<EntityImporter*>(m_child);
}
public:
MapQ3Importer(scene::Node& root, EntityCreator& entityTable) : m_root(root), m_entityTable(entityTable)
MapDoom3Importer(scene::Node& root, EntityCreator& entityTable) : m_root(root), m_entityTable(entityTable)
{
}
void pushElement(const XMLElement& element)
{
ASSERT_MESSAGE(string_equal(element.name(), "mapq3"), PARSE_ERROR);
ASSERT_MESSAGE(string_equal(element.name(), "mapdoom3"), PARSE_ERROR);
constructor(getEntity(), makeReference(m_root), makeReference(m_entityTable));
}
void popElement(const char* name)
{
ASSERT_MESSAGE(string_equal(name, "mapq3"), PARSE_ERROR);
ASSERT_MESSAGE(string_equal(name, "mapdoom3"), PARSE_ERROR);
destructor(getEntity());
}
std::size_t write(const char* data, std::size_t length)
@@ -271,7 +271,7 @@ void Map_Read(scene::Node& root, TextInputStream& in, EntityCreator& entityTable
{
XMLStreamParser parser(in);
MapQ3Importer importer(root, entityTable);
MapDoom3Importer importer(root, entityTable);
TreeXMLImporterStack stack(importer);
parser.exportXML(stack);
}