WinInputDeviceMouse::WinInputDeviceMouse(HINSTANCE _poHInst, HWND _poHWnd, WinInputManager* _poParent)
		:m_poInst(_poHInst)
		,m_poWnd(_poHWnd)
		,m_poManager(_poParent)
	{
		m_eInputDeviceType = E_IDT_Mouse;

		//set mouse active for default
		SetActive(true);

		HRESULT l_HR;
		l_HR = DirectInput8Create(_poHInst, DIRECTINPUT_VERSION, IID_IDirectInput8, (void**)&m_poDXInput, NULL);
		if(FAILED(l_HR))
			D_FatalError("DirectInputCreateEx failed");

		l_HR = m_poDXInput->CreateDevice(GUID_SysMouse, &m_poDXMouseDevice, NULL);
		if(FAILED(l_HR))
			D_FatalError("Mouse CreateDeviceEx failed");

		l_HR = m_poDXMouseDevice->SetDataFormat(&c_dfDIMouse2);
		if(FAILED(l_HR))
			D_FatalError("Mouse SetDataFormat failed");

		l_HR = m_poDXMouseDevice->SetCooperativeLevel(_poHWnd, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE );
		if(FAILED(l_HR))
			D_FatalError("Mouse SetCooperativeLevel failed");

		DIPROPDWORD dipdw;
		dipdw.diph.dwSize       = sizeof(DIPROPDWORD);
		dipdw.diph.dwHeaderSize = sizeof(DIPROPHEADER);
		dipdw.diph.dwObj        = 0;
		dipdw.diph.dwHow        = DIPH_DEVICE;
		dipdw.dwData            = 16;

		l_HR = m_poDXMouseDevice->SetProperty(DIPROP_BUFFERSIZE, &dipdw.diph);
		if(FAILED(l_HR))
			D_FatalError("SetProperty failed");

		l_HR = m_poDXMouseDevice->Acquire();
		if(FAILED(l_HR))
		{
			SetPlugged(false);
		}
		else
		{
			SetPlugged(true);
		}
	}
	void WinDxRenderer::SetProjectionMatrix(const Mat4 &p_ProjectionMatrix)
	{
		D_CHECK(m_poMainD3DDevice);

		D3DXMATRIX l_ProjectionMatrix = WinDxMapping::MappingMat4(p_ProjectionMatrix);
		HRESULT hr;
		if(FAILED( hr = m_poMainD3DDevice->SetTransform(D3DTS_PROJECTION, &l_ProjectionMatrix) ))
			D_FatalError("Cannot set Projection Matrix");
	}
	void WinDxRenderer::SetViewMatrix(const Mat4 &p_ViewMat)
	{
		D_CHECK(m_poMainD3DDevice);

		D3DXMATRIX l_ViewMat = WinDxMapping::MappingMat4(p_ViewMat);
		HRESULT hr;
		if(FAILED( hr = m_poMainD3DDevice->SetTransform(D3DTS_VIEW, &l_ViewMat) ))
			D_FatalError("Cannot set View Matrix");
	}
	void WinDxRenderer::Clear(const D_Color& p_Color, u32 p_uiClearFlag)
	{
		D_CHECK(m_poMainD3DDevice);
		if(FAILED(m_poMainD3DDevice->Clear(0, NULL,
			WinDxMapping::MappingClearFlag(p_uiClearFlag),
			WinDxMapping::MappingColor(p_Color),
			1.f, 0)))
				D_FatalError("Clear Failed");
	}
Beispiel #5
0
int main(int argc, char* argv[])
#endif
{
#if PLATFORM_TYPE == PLATFORM_WIN32
	::SetPriorityClass(::GetCurrentProcess(), NORMAL_PRIORITY_CLASS);
#endif
	
	TsiULibSettings libSettings;

	InitLibSettings(&libSettings);

#if PLATFORM_TYPE == PLATFORM_WIN32
	libSettings.SetupCreator(new T_Creator<WinPanic>,				E_CreatorType_Panic);
	libSettings.SetupCreator(new T_Creator<WinTick>,				E_CreatorType_Tick);
	libSettings.SetupCreator(new T_Creator<WinGDIRenderWindow>,		E_CreatorType_RenderWindow);
	libSettings.SetupCreator(new T_Creator<WinGDIRenderer>,			E_CreatorType_Renderer);
	libSettings.SetupCreator(new T_Creator<WinRenderGUIWindowMsg>,	E_CreatorType_RenderWindowMsg);
	libSettings.SetupCreator(new T_Creator<WinInputManager>,		E_CreatorType_Input);
	libSettings.SetupCreator(new T_Creator<DefaultFile>,			E_CreatorType_File);
#endif
	libSettings.DefineMacro(E_LS_Has_GUI);

#ifndef USE_UDT_LIB
	libSettings.DefineMacro(E_LS_Has_Network);
#endif

	g_poEngine = new GameEngine(1140, 800, "VUP Manager (Ver.Beta 0.8.1)", false);

	D_CHECK(g_poEngine);

	if(!g_poEngine->Init())
		D_FatalError("Init Scene Error");

	g_poEngine->MainLoop();

	if(!g_poEngine->UnInit())
		D_FatalError("UnInit Scene Error");

	D_SafeDelete(g_poEngine);

	UninitLibSettings(&libSettings);

	return 0;
}
Beispiel #6
0
int main(int argc, char* argv[])
#endif
{
#if PLATFORM_TYPE == PLATFORM_WIN32
	::SetPriorityClass(::GetCurrentProcess(), NORMAL_PRIORITY_CLASS);
#endif

	TsiULibSettings libSettings;

	InitLibSettings(&libSettings);

#if PLATFORM_TYPE == PLATFORM_WIN32
	libSettings.SetupCreator(new T_Creator<WinPanic>, E_CreatorType_Panic);
	libSettings.SetupCreator(new T_Creator<WinTick>, E_CreatorType_Tick);
	libSettings.SetupCreator(new T_Creator<WinGDIRenderWindow>, E_CreatorType_RenderWindow);
	libSettings.SetupCreator(new T_Creator<WinGDIRenderer>, E_CreatorType_Renderer);
	libSettings.SetupCreator(new T_Creator<WinRenderGUIWindowMsg>, E_CreatorType_RenderWindowMsg);
	libSettings.SetupCreator(new T_Creator<WinInputManager>, E_CreatorType_Input);
	libSettings.SetupCreator(new T_Creator<DefaultFile>, E_CreatorType_File);
#endif
	libSettings.DefineMacro(E_LS_Has_GDI);
	libSettings.DefineMacro(E_LS_Has_GUI);

	g_poEngine = new MyEngine(g_WindowWidth, g_WindowHeight, "SoccerDebugger(SSO version) V2.5", g_bIsAlwaysOnTop);

	D_CHECK(g_poEngine);

	if(!g_poEngine->Init())
		D_FatalError("Init Scene Error");

	g_poEngine->MainLoop();

	if(!g_poEngine->UnInit())
		D_FatalError("UnInit Scene Error");

	D_SafeDelete(g_poEngine);

	UninitLibSettings(&libSettings);

	return 0;
}
	WinInputDeviceKeyBoard::WinInputDeviceKeyBoard(HINSTANCE _poHInst, HWND _poHWnd, WinInputManager* _poParent)
		:m_poInst(_poHInst)
		,m_poWnd(_poHWnd)
		,m_poManager(_poParent)
	{
		m_eInputDeviceType = E_IDT_KeyBoard;

		//set keyboard active for default
		SetActive(true);

		HRESULT l_HR;
		l_HR = DirectInput8Create(_poHInst, DIRECTINPUT_VERSION, IID_IDirectInput8, (void**)&m_poDXInput, NULL);
		if(FAILED(l_HR))
			D_FatalError("DirectInputCreateEx failed");

		l_HR = m_poDXInput->CreateDevice(GUID_SysKeyboard, &m_poDXKBDevice, NULL);
		if(FAILED(l_HR))
			D_FatalError("KeyBoard CreateDeviceEx failed");

		l_HR = m_poDXKBDevice->SetDataFormat(&c_dfDIKeyboard);
		if(FAILED(l_HR))
			D_FatalError("KeyBoard SetDataFormat failed");

		l_HR = m_poDXKBDevice->SetCooperativeLevel(_poHWnd, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE );
		if(FAILED(l_HR))
			D_FatalError("KeyBoard SetCooperativeLevel failed");

		l_HR = m_poDXKBDevice->Acquire();
		if(FAILED(l_HR))
		{
			SetPlugged(false);
		}
		else
		{
			SetPlugged(true);
		}
	}
	void WinDxRenderer::SetWorldMatrix(const Mat4 &p_WorldMat)
	{
		D_CHECK(m_poMainD3DDevice);
		
		/*Mat4 mRotFromGUI;
		mRotFromGUI.Rotation(m_qRotationFromGUI);
		Mat4 mTrans = p_WorldMat;

		Vec3 v = m_vTranslationFromGUI;
		mTrans.Translation(v.x, v.y, v.z);
		
		mTrans = mTrans * mRotFromGUI;*/

		D3DXMATRIX l_WorldMat = WinDxMapping::MappingMat4(p_WorldMat);
		HRESULT hr;
		if(FAILED( hr = m_poMainD3DDevice->SetTransform(D3DTS_WORLD, &l_WorldMat) ))
			D_FatalError("Cannot set World Matrix");
	}