reflex2q3/ReflexToQ3/main.cpp

61 lines
1.2 KiB
C++

//
// Author: Michael Cameron
// Email: chronokun@hotmail.com
//
// Libraries Include
#include "libraries.h"
// Local Includes
#include "mapparser.h"
#include "brushdef.hpp"
using namespace std;
// .map files for GTKRadiant
bool writemap(const TWorldSpawn &x,
const char *fn,
void (*f) (std::stringstream &, const vector<TPlanePoints> &)) {
ofstream OutFile;
OutFile.open(fn);
if(!OutFile.is_open())
{
return false;
}
OutFile << "{" << std::endl
<< "\"classname\" \"worldspawn\"" << std::endl;
for(const TBrush& krBrush : x.m_Brushes)
{
OutFile << GetBrushString(krBrush, f);
}
OutFile << "}" << std::endl;
return true;
}
int main(const int _kiArgC, const char** _kppcArgv)
{
// Check we have correct number of parameters
if(_kiArgC < 3)
{
return(3);
}
CMapParser Parser;
const bool kbSuccess = Parser.LoadMap(_kppcArgv[1]);
if(!kbSuccess)
{
return(1);
}
else
{
if (writemap(Parser.m_WorldSpawn, _kppcArgv[2], &brushdef_net)) {
cout << "Successfully exported map." << endl;
} else {
cout << "Failed to write output file." << endl;
}
}
return(0);
}