//----------------------------------------------------------------// void GlutRefreshContext () { AKUContextID context = AKUGetContext (); if ( context ) { AKUDeleteContext ( context ); } AKUCreateContext (); #ifdef GLUTHOST_USE_FMOD_DESIGNER AKUFmodDesignerInit (); #endif #ifdef GLUTHOST_USE_FMOD_EX AKUFmodExInit (); #endif #ifdef GLUTHOST_USE_LUAEXT AKUExtLoadLuacrypto (); AKUExtLoadLuacurl (); AKUExtLoadLuafilesystem (); AKUExtLoadLuasocket (); AKUExtLoadLuasql (); AKUExtLoadLuamsgpack (); #endif #ifdef GLUTHOST_USE_UNTZ AKUUntzInit (); #endif #ifdef GLUTHOST_USE_AUDIOSAMPLER AKUAudioSamplerInit(); #endif #ifdef GLUTHOST_USE_PARTICLE_PRESETS ParticlePresets (); #endif AKUSetInputConfigurationName ( "AKUGlut" ); AKUReserveInputDevices ( GlutInputDeviceID::TOTAL ); AKUSetInputDevice ( GlutInputDeviceID::DEVICE, "device" ); AKUReserveInputDeviceSensors ( GlutInputDeviceID::DEVICE, GlutInputDeviceSensorID::TOTAL ); AKUSetInputDeviceKeyboard ( GlutInputDeviceID::DEVICE, GlutInputDeviceSensorID::KEYBOARD, "keyboard" ); AKUSetInputDevicePointer ( GlutInputDeviceID::DEVICE, GlutInputDeviceSensorID::POINTER, "pointer" ); AKUSetInputDeviceButton ( GlutInputDeviceID::DEVICE, GlutInputDeviceSensorID::MOUSE_LEFT, "mouseLeft" ); AKUSetInputDeviceButton ( GlutInputDeviceID::DEVICE, GlutInputDeviceSensorID::MOUSE_MIDDLE, "mouseMiddle" ); AKUSetInputDeviceButton ( GlutInputDeviceID::DEVICE, GlutInputDeviceSensorID::MOUSE_RIGHT, "mouseRight" ); AKUSetFunc_EnterFullscreenMode ( _AKUEnterFullscreenModeFunc ); AKUSetFunc_ExitFullscreenMode ( _AKUExitFullscreenModeFunc ); AKUSetFunc_OpenWindow ( _AKUOpenWindowFunc ); #ifdef GLUTHOST_USE_DEBUGGER AKUSetFunc_ErrorTraceback ( _AKUErrorTracebackFunc ); AKUDebugHarnessInit (); #endif AKURunBytecode ( moai_lua, moai_lua_SIZE ); }
//----------------------------------------------------------------// AKUContextID AKUCreateContext () { if ( gSysInit ) { moaicore::SystemInit (); gContextMap = new ContextMap; atexit ( _cleanup ); gSysInit = false; } gContext = ( AKUContext* )calloc ( 1, sizeof ( AKUContext )); gContextID = ++gContextIDCounter; ( *gContextMap )[ gContextID ] = gContext; gContext->mUserdata = 0; gContext->mGlobals = MOAIGlobalsMgr::Create (); moaicore::InitGlobals ( gContext->mGlobals ); // Always set our default error traceback AKUSetFunc_ErrorTraceback ( _ErrorTraceback ); return gContextIDCounter; }
void GlutRefreshContext () { AKUContextID context = AKUGetContext (); if ( context ) { AKUDeleteContext ( context ); } AKUCreateContext (); AKUInitializeUtil (); AKUInitializeSim (); #if MOAI_WITH_BOX2D AKUInitializeBox2D (); #endif #if MOAI_WITH_CHIPMUNK AKUInitializeChipmunk (); #endif #if MOAI_WITH_FMOD_EX AKUFmodLoad (); #endif #if MOAI_WITH_FMOD_DESIGNER AKUFmodDesignerInit (); #endif #if MOAI_WITH_LUAEXT AKUExtLoadLuacrypto (); AKUExtLoadLuacurl (); AKUExtLoadLuafilesystem (); AKUExtLoadLuasocket (); AKUExtLoadLuasql (); #endif #if MOAI_WITH_HARNESS AKUSetFunc_ErrorTraceback ( _debuggerTracebackFunc ); AKUDebugHarnessInit (); #endif #if MOAI_WITH_HTTP_CLIENT AKUInitializeHttpClient (); #endif #if MOAI_WITH_PARTICLE_PRESETS ParticlePresets (); #endif #if MOAI_WITH_UNTZ AKUInitializeUntz (); #endif AKUSetInputConfigurationName ( "AKUGlut" ); AKUReserveInputDevices ( GlutInputDeviceID::TOTAL ); AKUSetInputDevice ( GlutInputDeviceID::DEVICE, "device" ); AKUReserveInputDeviceSensors ( GlutInputDeviceID::DEVICE, GlutInputDeviceSensorID::TOTAL ); AKUSetInputDeviceKeyboard ( GlutInputDeviceID::DEVICE, GlutInputDeviceSensorID::KEYBOARD, "keyboard" ); AKUSetInputDevicePointer ( GlutInputDeviceID::DEVICE, GlutInputDeviceSensorID::POINTER, "pointer" ); AKUSetInputDeviceButton ( GlutInputDeviceID::DEVICE, GlutInputDeviceSensorID::MOUSE_LEFT, "mouseLeft" ); AKUSetInputDeviceButton ( GlutInputDeviceID::DEVICE, GlutInputDeviceSensorID::MOUSE_MIDDLE, "mouseMiddle" ); AKUSetInputDeviceButton ( GlutInputDeviceID::DEVICE, GlutInputDeviceSensorID::MOUSE_RIGHT, "mouseRight" ); AKUSetFunc_EnterFullscreenMode ( _AKUEnterFullscreenModeFunc ); AKUSetFunc_ExitFullscreenMode ( _AKUExitFullscreenModeFunc ); AKUSetFunc_OpenWindow ( _AKUOpenWindowFunc ); AKURunData ( moai_lua, moai_lua_SIZE, AKU_DATA_STRING, AKU_DATA_ZIPPED ); }