Example #1
0
    //--------------------------------------------------------------------------
    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 );
    }
Example #2
0
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));
}
Example #9
0
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;
	}