m_patchDef2Doom3Module( "def2doom3" ),
m_patchDoom3Module( "doom3" ){
}
+
BrushCreator& getBrushDoom3(){
return GlobalBrushModule::getTable();
}
+
PatchCreator& getPatchDoom3(){
return *m_patchDoom3Module.getTable();
}
+
PatchCreator& getPatchDef2Doom3(){
return *m_patchDef2Doom3Module.getTable();
}
MapDoom3Dependencies& m_dependencies;
public:
typedef MapFormat Type;
+
STRING_CONSTANT( Name, "mapdoom3" );
-INTEGER_CONSTANT( MapVersion, 2 );
+
+UINT_CONSTANT( MapVersion, 2 );
MapDoom3API( MapDoom3Dependencies& dependencies ) : m_dependencies( dependencies ){
GlobalFiletypesModule::getTable().addType( Type::Name(), Name(), filetype_t( "doom3 maps", "*.map" ) );
GlobalFiletypesModule::getTable().addType( Type::Name(), Name(), filetype_t( "doom3 region", "*.reg" ) );
}
+
MapFormat* getTable(){
return this;
}
Map_Read( root, tokeniser, entityTable, *this );
tokeniser.release();
}
-void writeGraph( scene::Node& root, GraphTraversalFunc traverse, TextOutputStream& outputStream ) const {
+
+void writeGraph( scene::Node& root, GraphTraversalFunc traverse, TextOutputStream& outputStream, bool writeComments ) const {
TokenWriter& writer = GlobalScripLibModule::getTable().m_pfnNewSimpleTokenWriter( outputStream );
writer.writeToken( "Version" );
writer.writeInteger( MapVersion() );
writer.nextLine();
- Map_Write( root, traverse, writer, false );
+ Map_Write( root, traverse, writer, false, writeComments );
writer.release();
}
};
MapDoom3Dependencies& m_dependencies;
public:
typedef MapFormat Type;
+
STRING_CONSTANT( Name, "mapquake4" );
-INTEGER_CONSTANT( MapVersion, 3 );
+
+UINT_CONSTANT( MapVersion, 3 );
MapQuake4API( MapDoom3Dependencies& dependencies ) : m_dependencies( dependencies ){
GlobalFiletypesModule::getTable().addType( Type::Name(), Name(), filetype_t( "quake4 maps", "*.map" ) );
GlobalFiletypesModule::getTable().addType( Type::Name(), Name(), filetype_t( "quake4 region", "*.reg" ) );
}
+
MapFormat* getTable(){
return this;
}
Map_Read( root, tokeniser, entityTable, *this );
tokeniser.release();
}
-void writeGraph( scene::Node& root, GraphTraversalFunc traverse, TextOutputStream& outputStream ) const {
+
+void writeGraph( scene::Node& root, GraphTraversalFunc traverse, TextOutputStream& outputStream, bool writeComments ) const {
TokenWriter& writer = GlobalScripLibModule::getTable().m_pfnNewSimpleTokenWriter( outputStream );
writer.writeToken( "Version" );
writer.writeInteger( MapVersion() );
writer.nextLine();
- Map_Write( root, traverse, writer, false );
+ Map_Write( root, traverse, writer, false, writeComments );
writer.release();
}
};
mutable bool detectedFormat;
public:
typedef MapFormat Type;
+
STRING_CONSTANT( Name, "mapq3" );
MapQ3API(){
GlobalFiletypesModule::getTable().addType( Type::Name(), Name(), filetype_t( "quake3 region", "*.reg", true, true, true ) );
GlobalFiletypesModule::getTable().addType( Type::Name(), Name(), filetype_t( "quake3 compiled maps", "*.bsp", false, true, false ) );
}
+
MapFormat* getTable(){
return this;
}
void readGraph( scene::Node& root, TextInputStream& inputStream, EntityCreator& entityTable ) const {
detectedFormat = false;
wrongFormat = false;
- Tokeniser& tokeniser = GlobalScripLibModule::getTable().m_pfnNewSimpleTokeniser( inputStream );
+ Tokeniser &tokeniser = GlobalScripLibModule::getTable().m_pfnNewSimpleTokeniser( inputStream );
Map_Read( root, tokeniser, entityTable, *this );
tokeniser.release();
}
-void writeGraph( scene::Node& root, GraphTraversalFunc traverse, TextOutputStream& outputStream ) const {
+
+void writeGraph( scene::Node& root, GraphTraversalFunc traverse, TextOutputStream& outputStream, bool writeComments ) const {
TokenWriter& writer = GlobalScripLibModule::getTable().m_pfnNewSimpleTokenWriter( outputStream );
- Map_Write( root, traverse, writer, false );
+ Map_Write( root, traverse, writer, false, writeComments );
writer.release();
}
};
{
public:
typedef MapFormat Type;
+
STRING_CONSTANT( Name, "mapq1" );
MapQ1API(){
GlobalFiletypesModule::getTable().addType( Type::Name(), Name(), filetype_t( "quake maps", "*.map" ) );
GlobalFiletypesModule::getTable().addType( Type::Name(), Name(), filetype_t( "quake region", "*.reg" ) );
}
+
MapFormat* getTable(){
return this;
}
Map_Read( root, tokeniser, entityTable, *this );
tokeniser.release();
}
-void writeGraph( scene::Node& root, GraphTraversalFunc traverse, TextOutputStream& outputStream ) const {
+
+void writeGraph( scene::Node& root, GraphTraversalFunc traverse, TextOutputStream& outputStream, bool writeComments ) const {
TokenWriter& writer = GlobalScripLibModule::getTable().m_pfnNewSimpleTokenWriter( outputStream );
- Map_Write( root, traverse, writer, true );
+ Map_Write( root, traverse, writer, true, writeComments );
writer.release();
}
};
{
public:
typedef MapFormat Type;
+
STRING_CONSTANT( Name, "maphl" );
MapHalfLifeAPI(){
GlobalFiletypesModule::getTable().addType( Type::Name(), Name(), filetype_t( "half-life maps", "*.map" ) );
GlobalFiletypesModule::getTable().addType( Type::Name(), Name(), filetype_t( "half-life region", "*.reg" ) );
}
+
MapFormat* getTable(){
return this;
}
Tokeniser_unexpectedError( tokeniser, primitive, "#halflife-primitive" );
return g_nullNode;
}
-void readGraph( scene::Node& root, TextInputStream& inputStream, EntityCreator& entityTable ) const {
+
+void readGraph( scene::Node &root, TextInputStream &inputStream, EntityCreator &entityTable ) const {
Tokeniser& tokeniser = GlobalScripLibModule::getTable().m_pfnNewSimpleTokeniser( inputStream );
Map_Read( root, tokeniser, entityTable, *this );
tokeniser.release();
}
-void writeGraph( scene::Node& root, GraphTraversalFunc traverse, TextOutputStream& outputStream ) const {
+
+void writeGraph( scene::Node& root, GraphTraversalFunc traverse, TextOutputStream& outputStream, bool writeComments ) const {
TokenWriter& writer = GlobalScripLibModule::getTable().m_pfnNewSimpleTokenWriter( outputStream );
- Map_Write( root, traverse, writer, true );
+ Map_Write( root, traverse, writer, true, writeComments );
writer.release();
}
};
{
public:
typedef MapFormat Type;
+
STRING_CONSTANT( Name, "mapq2" );
MapQ2API(){
GlobalFiletypesModule::getTable().addType( Type::Name(), Name(), filetype_t( "quake2 maps", "*.map" ) );
GlobalFiletypesModule::getTable().addType( Type::Name(), Name(), filetype_t( "quake2 region", "*.reg" ) );
}
+
MapFormat* getTable(){
return this;
}
Map_Read( root, tokeniser, entityTable, *this );
tokeniser.release();
}
-void writeGraph( scene::Node& root, GraphTraversalFunc traverse, TextOutputStream& outputStream ) const {
+
+void writeGraph( scene::Node& root, GraphTraversalFunc traverse, TextOutputStream& outputStream, bool writeComments ) const {
TokenWriter& writer = GlobalScripLibModule::getTable().m_pfnNewSimpleTokenWriter( outputStream );
- Map_Write( root, traverse, writer, true );
+ Map_Write( root, traverse, writer, true, writeComments );
writer.release();
}
};
MapQ2Module g_MapQ2Module;
-
-#define PARSE_ERROR "error parsing VMF"
+const char *PARSE_ERROR = "error parsing VMF";
inline void parseToken( Tokeniser& tokeniser, const char* token ){
ASSERT_MESSAGE( Tokeniser_parseToken( tokeniser, token ), "error parsing vmf: token not found: " << makeQuoted( token ) );
#include "generic/arrayrange.h"
class VMFBlock;
+
typedef ArrayConstRange<VMFBlock> VMFBlockArrayRange;
return m_name;
}
typedef Value* const_iterator;
+
const_iterator begin() const {
return m_children.first;
}
+
const_iterator end() const {
return m_children.last;
}
{
public:
typedef MapFormat Type;
+
STRING_CONSTANT( Name, "mapvmf" );
MapVMFAPI(){
GlobalFiletypesModule::getTable().addType( Type::Name(), Name(), filetype_t( "vmf maps", "*.vmf" ) );
GlobalFiletypesModule::getTable().addType( Type::Name(), Name(), filetype_t( "vmf region", "*.reg" ) );
}
+
MapFormat* getTable(){
return this;
}
VMF_Read( root, tokeniser, entityTable );
tokeniser.release();
}
-void writeGraph( scene::Node& root, GraphTraversalFunc traverse, TextOutputStream& outputStream ) const {
+
+void writeGraph( scene::Node& root, GraphTraversalFunc traverse, TextOutputStream& outputStream, bool writeComments ) const {
}
};
MapVMFModule g_MapVMFModule;
-
extern "C" void RADIANT_DLLEXPORT Radiant_RegisterModules( ModuleServer& server ){
initialiseModule( server );