bool ConsoleGame::Init() { //Initialise the RuntimeObjectSystem m_pRuntimeObjectSystem = new RuntimeObjectSystem; m_pCompilerLogger = new StdioLogSystem(); if( !m_pRuntimeObjectSystem->Initialise(m_pCompilerLogger, 0) ) { m_pRuntimeObjectSystem = 0; return false; } m_pRuntimeObjectSystem->GetObjectFactorySystem()->AddListener(this); // construct first object IObjectConstructor* pCtor = m_pRuntimeObjectSystem->GetObjectFactorySystem()->GetConstructor( "RuntimeObject01" ); if( pCtor ) { IObject* pObj = pCtor->Construct(); pObj->GetInterface( &m_pUpdateable ); if( 0 == m_pUpdateable ) { delete pObj; m_pCompilerLogger->LogError("Error - no updateable interface found\n"); return false; } m_ObjectId = pObj->GetObjectId(); } return true; }
void ConsoleGame::OnConstructorsAdded() { // This could have resulted in a change of object pointer, so release old and get new one. if( m_pUpdateable ) { IObject* pObj = m_pRuntimeObjectSystem->GetObjectFactorySystem()->GetObject( m_ObjectId ); pObj->GetInterface( &m_pUpdateable ); if( 0 == m_pUpdateable ) { delete pObj; m_pCompilerLogger->LogError( "Error - no updateable interface found\n"); } } }
void ofLive::setup() { rCPP.Initialise(&rLOG, NULL); # ifdef TARGET_LINUX # ifdef NDEBUG rCPP.AddLibraryDir("../of/lib-linux/release-x86-64"); # else rCPP.AddLibraryDir("../of/lib-linux/debug-x86-64"); # endif # endif # ifdef TARGET_LINUX rCPP.AddIncludeDir("/usr/include/AL"); rCPP.AddIncludeDir("/usr/include/cairo"); rCPP.AddIncludeDir("/usr/include/gtk-3.0"); rCPP.AddIncludeDir("/usr/include/atk-1.0"); rCPP.AddIncludeDir("/usr/include/glib-2.0"); rCPP.AddIncludeDir("/usr/lib/glib-2.0/include/"); rCPP.AddIncludeDir("/usr/include/harfbuzz"); rCPP.AddIncludeDir("/usr/include/pixman-1"); rCPP.AddIncludeDir("/usr/include/libpng12"); rCPP.AddIncludeDir("/usr/include/pango-1.0"); rCPP.AddIncludeDir("/usr/include/freetype2"); rCPP.AddIncludeDir("/usr/include/gio-unix-2.0"); rCPP.AddIncludeDir("/usr/include/gstreamer-1.0"); rCPP.AddIncludeDir("/usr/lib/gstreamer-1.0/include"); rCPP.AddIncludeDir("/usr/lib/gstreamer-1.0/include/gst"); rCPP.AddIncludeDir("/usr/include/gdk-pixbuf-2.0"); rCPP.AddIncludeDir("/usr/include/at-spi2-atk/2.0"); rCPP.AddIncludeDir("/usr/lib/x86_64-linux-gnu/glib-2.0/include"); # endif rCPP.AddIncludeDir("../of/src/freeimage"); rCPP.AddIncludeDir("../of/src/freeimage/OpenEXR"); rCPP.AddIncludeDir("../of/src/freeimage/OpenEXR/Half"); rCPP.AddIncludeDir("../of/src/freeimage/OpenEXR/Iex"); rCPP.AddIncludeDir("../of/src/freeimage/OpenEXR/IlmImf"); rCPP.AddIncludeDir("../of/src/freeimage/OpenEXR/IlmThread"); rCPP.AddIncludeDir("../of/src/freeimage/OpenEXR/Imath"); rCPP.AddIncludeDir("../of/src/rtaudio"); rCPP.AddIncludeDir("../of/src/rtaudio/include"); rCPP.AddIncludeDir("../of/src/utf8cpp"); rCPP.AddIncludeDir("../of/src/utf8cpp/include"); rCPP.AddIncludeDir("../of/src/utf8cpp/include/utf8"); rCPP.AddIncludeDir("../of/src/glew"); rCPP.AddIncludeDir("../of/src/glew/include"); rCPP.AddIncludeDir("../of/src/glfw"); rCPP.AddIncludeDir("../of/src/glfw/include"); rCPP.AddIncludeDir("../of/src/glfw/include/GLFW"); rCPP.AddIncludeDir("../of/src/kissfft"); rCPP.AddIncludeDir("../of/src/kissfft/tools"); rCPP.AddIncludeDir("../of/src/poco"); rCPP.AddIncludeDir("../of/src/poco/Crypto/include"); rCPP.AddIncludeDir("../of/src/poco/Foundation/include"); rCPP.AddIncludeDir("../of/src/poco/Net/include"); rCPP.AddIncludeDir("../of/src/poco/NetSSL_OpenSSL/include"); rCPP.AddIncludeDir("../of/src/poco/Util/include"); rCPP.AddIncludeDir("../of/src/poco/XML/include"); rCPP.AddIncludeDir("../of/src/poco/Zip/include"); rCPP.AddIncludeDir("../of/src/rtaudio"); rCPP.AddIncludeDir("../of/src/rtaudio/include"); rCPP.AddIncludeDir("../of/src/libtess2"); rCPP.AddIncludeDir("../of/src/libtess2/Include"); rCPP.AddIncludeDir("../of/src/libtess2/Sources"); rCPP.AddIncludeDir("../of/src/openframeworks"); rCPP.AddIncludeDir("of/src/openframeworks"); rCPP.AddIncludeDir("../of/src/openframeworks/3d"); rCPP.AddIncludeDir("../of/src/openframeworks/app"); rCPP.AddIncludeDir("../of/src/openframeworks/communication"); rCPP.AddIncludeDir("../of/src/openframeworks/events"); rCPP.AddIncludeDir("../of/src/openframeworks/gl"); rCPP.AddIncludeDir("../of/src/openframeworks/graphics"); rCPP.AddIncludeDir("../of/src/openframeworks/math"); rCPP.AddIncludeDir("../of/src/openframeworks/sound"); rCPP.AddIncludeDir("../of/src/openframeworks/types"); rCPP.AddIncludeDir("../of/src/openframeworks/utils"); rCPP.AddIncludeDir("../of/src/openframeworks/video"); rCPP.AddIncludeDir("RuntimeCompiledCPlusPlus/Aurora"); rCPP.AddIncludeDir("addons/ofxImGui/src"); rCPP.AddIncludeDir("addons/ofxImGui/libs/imgui/src"); rCPP.AddIncludeDir("../of/addons/ofxAssimpModelLoader/src"); rCPP.AddIncludeDir("../of/addons/ofxAssimpModelLoader/libs/assimp/include/"); rCPP.AddIncludeDir("./"); { ofDirectory dir(ofFilePath::getCurrentExeDir() + ".."); dir.listDir(); vector<ofFile> files = dir.getFiles(); for (ofFile& file : files) { if (file.isDirectory() && file.getBaseName().substr(0,3) == "ofx") { rCPP.AddIncludeDir(&(file.path())[0]); rCPP.AddIncludeDir(&(file.path() + "/src")[0]); } } } rCPP.GetObjectFactorySystem()->AddListener(this); { IObject* rObject = rCPP.GetObjectFactorySystem()->GetConstructor("ofApp")->Construct(); rObject->GetInterface(&rAPP); rOID = rObject->GetObjectId(); } rAPP->setup(); }