]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - plugins/mapq3/plugin.cpp
Merge branch 'NateEag-master-patch-12920' into 'master'
[xonotic/netradiant.git] / plugins / mapq3 / plugin.cpp
index b107f583ec9116ba76649a6bb6f5de41f6cb3fe1..8b427d42801bf1f6eba1ce1b0df73b303eb9156b 100644 (file)
@@ -54,12 +54,15 @@ MapDoom3Dependencies() :
        m_patchDef2Doom3Module( "def2doom3" ),
        m_patchDoom3Module( "doom3" ){
 }
+
 BrushCreator& getBrushDoom3(){
        return GlobalBrushModule::getTable();
 }
+
 PatchCreator& getPatchDoom3(){
        return *m_patchDoom3Module.getTable();
 }
+
 PatchCreator& getPatchDef2Doom3(){
        return *m_patchDef2Doom3Module.getTable();
 }
@@ -70,13 +73,16 @@ class MapDoom3API : public TypeSystemRef, public MapFormat, public PrimitivePars
 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;
 }
@@ -116,12 +122,13 @@ void readGraph( scene::Node& root, TextInputStream& inputStream, EntityCreator&
        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();
 }
 };
@@ -141,13 +148,16 @@ class MapQuake4API : public TypeSystemRef, public MapFormat, public PrimitivePar
 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;
 }
@@ -187,12 +197,13 @@ void readGraph( scene::Node& root, TextInputStream& inputStream, EntityCreator&
        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();
 }
 };
@@ -229,6 +240,7 @@ class MapQ3API : public TypeSystemRef, public MapFormat, public PrimitiveParser
 mutable bool detectedFormat;
 public:
 typedef MapFormat Type;
+
 STRING_CONSTANT( Name, "mapq3" );
 
 MapQ3API(){
@@ -236,6 +248,7 @@ 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;
 }
@@ -281,13 +294,14 @@ scene::Node& parsePrimitive( Tokeniser& tokeniser ) const {
 void readGraph( scene::Node& root, TextInputStream& inputStream, EntityCreator& entityTable ) const {
        detectedFormat = false;
        wrongFormat = false;
-       Tokenisertokeniser = 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();
 }
 };
@@ -301,12 +315,14 @@ class MapQ1API : public TypeSystemRef, public MapFormat, public PrimitiveParser
 {
 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;
 }
@@ -328,9 +344,10 @@ void readGraph( scene::Node& root, TextInputStream& inputStream, EntityCreator&
        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();
 }
 };
@@ -344,12 +361,14 @@ class MapHalfLifeAPI : public TypeSystemRef, public MapFormat, public PrimitiveP
 {
 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;
 }
@@ -366,14 +385,16 @@ scene::Node& parsePrimitive( Tokeniser& tokeniser ) const {
        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();
 }
 };
@@ -387,12 +408,14 @@ class MapQ2API : public TypeSystemRef, public MapFormat, public PrimitiveParser
 {
 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;
 }
@@ -413,9 +436,10 @@ void readGraph( scene::Node& root, TextInputStream& inputStream, EntityCreator&
        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();
 }
 };
@@ -425,8 +449,7 @@ typedef SingletonModule<MapQ2API, MapDependencies> MapQ2Module;
 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 ) );
@@ -435,6 +458,7 @@ inline void parseToken( Tokeniser& tokeniser, const char* token ){
 #include "generic/arrayrange.h"
 
 class VMFBlock;
+
 typedef ArrayConstRange<VMFBlock> VMFBlockArrayRange;
 
 
@@ -451,9 +475,11 @@ const char* name() const {
        return m_name;
 }
 typedef Value* const_iterator;
+
 const_iterator begin() const {
        return m_children.first;
 }
+
 const_iterator end() const {
        return m_children.last;
 }
@@ -557,12 +583,14 @@ class MapVMFAPI : public TypeSystemRef, public MapFormat
 {
 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;
 }
@@ -572,7 +600,8 @@ void readGraph( scene::Node& root, TextInputStream& inputStream, EntityCreator&
        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 {
 }
 };
 
@@ -581,7 +610,6 @@ typedef SingletonModule<MapVMFAPI, MapDependencies> MapVMFModule;
 MapVMFModule g_MapVMFModule;
 
 
-
 extern "C" void RADIANT_DLLEXPORT Radiant_RegisterModules( ModuleServer& server ){
        initialiseModule( server );