Something went wrong. Try again.
OpenMW is an open implementation of the Morrowind engine
Something went wrong. Try again.
C++
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687#include "editor.hpp"
#include <exception>#include <string>
#include <QIcon>#include <QSurfaceFormat>
#include <osg/DisplaySettings>
#include <components/debug/debugging.hpp>#include <components/platform/application.hpp>#include <components/platform/platform.hpp>
#include "model/doc/messages.hpp"#include "model/world/disabletag.hpp"#include "model/world/universalid.hpp"
#ifdef Q_OS_MAC#include <QDir>#endif
Q_DECLARE_METATYPE(std::string)
class QEvent;class QObject;
void setQSurfaceFormat(){ osg::DisplaySettings* ds = osg::DisplaySettings::instance().get(); QSurfaceFormat format = QSurfaceFormat::defaultFormat(); format.setVersion(2, 1); format.setRenderableType(QSurfaceFormat::OpenGL); format.setDepthBufferSize(24); format.setSamples(ds->getMultiSamples()); format.setStencilBufferSize(ds->getMinimumNumStencilBits()); format.setSwapBehavior(QSurfaceFormat::DoubleBuffer); format.setAlphaBufferSize(ds->getMinimumNumAlphaBits()); QSurfaceFormat::setDefaultFormat(format);}
int runApplication(int argc, char* argv[]){ Platform::init();
#ifdef Q_OS_MAC setenv("OSG_GL_TEXTURE_STORAGE", "OFF", 0);#endif
Q_INIT_RESOURCE(resources);
#ifdef WIN32 Q_INIT_RESOURCE(dark);#endif
qRegisterMetaType<std::string>("std::string"); qRegisterMetaType<CSMWorld::UniversalId>("CSMWorld::UniversalId"); qRegisterMetaType<CSMWorld::DisableTag>("CSMWorld::DisableTag"); qRegisterMetaType<CSMDoc::Message>("CSMDoc::Message");
setQSurfaceFormat(); QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
Platform::Application application(argc, argv);
application.setDesktopFileName("org.openmw.cs"); application.setWindowIcon(QIcon(":openmw-cs"));
CS::Editor editor(argc, argv);#ifdef __linux__ setlocale(LC_NUMERIC, "C");#endif
if (!editor.makeIPCServer()) { editor.connectToIPCServer(); return 0; }
return editor.run();}
int main(int argc, char* argv[]){ return Debug::wrapApplication(&runApplication, argc, argv, "OpenMW-CS");}