//-------------------------------------------------------------------------- void Utility::initComponents() { Application::initComponents(); Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups(); Ogre::Root *root( getRoot() ); m_scene_manager = root->createSceneManager( Ogre::ST_GENERIC, "Scene" ); m_scene_manager->clearScene(); m_scene_manager->setAmbientLight( Ogre::ColourValue( 0.5, 0.5, 0.5 ) ); Ogre::Light* directionalLight = m_scene_manager->createLight("directionalLight"); directionalLight->setType( Ogre::Light::LT_DIRECTIONAL ); directionalLight->setDiffuseColour( Ogre::ColourValue( 0.5, 0.5, 0.5) ); directionalLight->setSpecularColour( Ogre::ColourValue( 0.5, 0.5, 0.5) ); directionalLight->setDirection( Ogre::Vector3( 0, 0, -1 ) ); m_camera = m_scene_manager->createCamera( "Camera" ); m_camera->setNearClipDistance( 0.01f ); m_camera->setPosition( 0, 5, 10 ); m_camera->lookAt( 0, 0, 0 ); Ogre::RenderWindow *window( getRenderWindow() ); m_viewport = window->addViewport( m_camera ); m_viewport->setBackgroundColour( Ogre::ColourValue( 0.0f, 0.4f, 0.0f ) ); m_camera->setAspectRatio( Ogre::Real( m_viewport->getActualWidth() ) / Ogre::Real( m_viewport->getActualHeight() ) ); m_frame_listener = new DisplayFrameListener( window ); m_frame_listener->setCamera( m_camera ); root->addFrameListener( m_frame_listener ); }
bool Game::initialise() { registerStates(); m_stateStack.pushState(States::MyFirstState); getRenderWindow()->setKeyRepeatEnabled(false); return true; }
//------------------------------------------------------------------ void DefaultInputSystem::shutdown() { if(mOgreListener) { Ogre::Root::getSingleton().removeFrameListener(this); Ogre::WindowEventUtilities::removeWindowEventListener(getRenderWindow(), this); mWindow = nullptr; mOgreListener = false; } }
void ApplicationContextAndroid::_fireInputEventAndroid(AInputEvent* event, int wheel) { Event evt = {0}; static TouchFingerEvent lastTouch = {0}; if(wheel) { evt.type = MOUSEWHEEL; evt.wheel.y = wheel; _fireInputEvent(evt, 0); lastTouch.fingerId = -1; // prevent move-jump after pinch is over return; } if (AInputEvent_getType(event) == AINPUT_EVENT_TYPE_MOTION) { int32_t action = AMOTION_EVENT_ACTION_MASK & AMotionEvent_getAction(event); switch (action) { case AMOTION_EVENT_ACTION_DOWN: evt.type = FINGERDOWN; break; case AMOTION_EVENT_ACTION_UP: evt.type = FINGERUP; break; case AMOTION_EVENT_ACTION_MOVE: evt.type = FINGERMOTION; break; default: return; } Ogre::RenderWindow* win = getRenderWindow(); evt.tfinger.fingerId = AMotionEvent_getPointerId(event, 0); evt.tfinger.x = AMotionEvent_getRawX(event, 0) / win->getWidth(); evt.tfinger.y = AMotionEvent_getRawY(event, 0) / win->getHeight(); if(evt.type == FINGERMOTION) { if(evt.tfinger.fingerId != lastTouch.fingerId) return; // wrong finger evt.tfinger.dx = evt.tfinger.x - lastTouch.x; evt.tfinger.dy = evt.tfinger.y - lastTouch.y; } lastTouch = evt.tfinger; } else { if(AKeyEvent_getKeyCode(event) != AKEYCODE_BACK) return; evt.type = AKeyEvent_getAction(event) == AKEY_EVENT_ACTION_DOWN ? KEYDOWN : KEYUP; evt.key.keysym.sym = SDLK_ESCAPE; } _fireInputEvent(evt, 0); }
//------------------------------------------------------------------ void DefaultInputSystem::initialise(RenderWindow* _window) { mExit = false; mWindow = _window; if(!mOgreListener) { Ogre::Root::getSingleton().addFrameListener(this); Ogre::WindowEventUtilities::addWindowEventListener(getRenderWindow(), this); mOgreListener = true; } }
//------------------------------------------------------------------ void WinOISInputSupport::initialise(RenderWindow* _window) { // call parent's initialisation OISInputSupport::initialise(_window, _window->isFullScreen()); if(sizeof(String::value_type) != sizeof(WCHAR)) mUtf16Converter = UnicodeUtil::openConverter("UTF16-LE"); // shutdown mouse if the mode was changed if(!mOISMouse) { // replace standard Ogre's window procedure with WinOISInputSupport::sWindowProc // if it has not been replaced yet GOTHOGRE_INFO("WinOISInputSupport: Replacing window procedure"); getRenderWindow()->getCustomAttribute("WINDOW", &mHwnd); ms_PtrsByHwnd.insert(std::make_pair(mHwnd, this)); mOldWindowProc = (WNDPROC) ::GetWindowLong((HWND)mHwnd, GWL_WNDPROC); ::SetWindowLong(mHwnd, GWL_WNDPROC, (LONG) sWindowProc); enableMouseTracking(); } }
//------------------------------------------------------------------ bool DefaultInputSystem::frameStarted( const Ogre::FrameEvent& _evt ) { if(mExit) { if(mOgreListener) { Ogre::Root::getSingleton().removeFrameListener(this); Ogre::WindowEventUtilities::removeWindowEventListener(getRenderWindow(), this); mOgreListener = false; } return false; } FrameListeners::Iterator it = mFrameListeners.getIterator(); while(it.hasMoreElements()) { BaseFrameListener* frameListener = it.getNext(); frameListener->frameStarted(_evt); } return true; }
Application::Application() { getRenderWindow()->SetTitle("Set"); Gaza::FrameSheet frameSheet(&imageManager); bool success = frameSheet.loadFromFile("cardFrames.xml"); if(!success) { setRunning(false); return; } // frameSheet.saveToMemory(); // setRunning(false); CardFrameSheetGenerator generator(&imageManager, &frameSheet); cardFrames = generator.generate(); changeState(new GameState(this, cardFrames)); }
Game::Game() : xy::App (/*sf::ContextSettings(0, 0, 0, 3, 2, sf::ContextSettings::Core)*/), m_stateStack({ *getRenderWindow(), *this }) { }
//------------------------------------------------------------------------- int DefaultInputSystem::getHeight() const { RenderWindow* win = getRenderWindow(); return win ? win->getHeight() : 0; }