Пример #1
0
int HugMe::Initialize(void)
{
	HugMe_Err err = HUGME_ERR_NO_ERR;
	HugMe_Err result_err = HUGME_ERR_NO_ERR;

	if(m_config.m_bUseImageDevice) {
		err = InitImageDevice();
		if(err != HUGME_ERR_NO_ERR) {
			//AfxMessageBox("Failed to connect to a depth camera!!!");
			m_config.m_bUseImageDevice = false;
			result_err |= err;
		} else
			//m_localHumanModel.setTactileArray(m_pTactileDisplay);
			m_localHumanModel.m_ar.SetImageSize(DEPTH_IMAGE_WIDTH, DEPTH_IMAGE_HEIGHT);

	} else if(m_device.m_bOnImageDevice)
		UninitImageDevice();

	if(m_config.m_bUseInputDevice) {
		err = InitInputDevice();
		if(err != HUGME_ERR_NO_ERR) {
			//AfxMessageBox("Failed to connect to a input device");
			m_config.m_bUseInputDevice = false;
			result_err |= err;
		}
		m_localHumanModel.m_contactInfo.isContacted = false;
	} else if(m_device.m_bOnInputDevice)
		UninitInputDevice();
	
	if(m_config.m_bUseDisplayDevice) {
		err = InitDisplayDevice();
	}

	SaveConfig();
	
	
	return result_err;
}
Пример #2
0
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	HWND hWnd;
	WNDCLASSEX wcex;

	ZeroMemory(&wcex, sizeof(WNDCLASSEX));
	wcex.cbSize = sizeof(WNDCLASSEX);
	wcex.style = CS_HREDRAW | CS_VREDRAW;
	wcex.lpszClassName = L"Snake";
	wcex.lpfnWndProc = &WindowProc;
	wcex.hInstance = hInstance;

	RegisterClassEx(&wcex);

	hWnd = CreateWindowEx(NULL,
		wcex.lpszClassName,
		wcex.lpszClassName,
		WS_OVERLAPPEDWINDOW,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		NULL,
		NULL,
		hInstance,
		NULL);

	ShowWindow(hWnd, nCmdShow);
	UpdateWindow(hWnd);

	InitGameTime();

	InitDevice(hWnd);
	InitInputDevice(hWnd);
	InitQuad();
	InitGame();

	float last = GetGameTime();

	MSG msg;
	while (true)
	{
		if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE | PM_NOYIELD))
		{
			TranslateMessage(&msg);
			DispatchMessage(&msg);
		}

		if (msg.message == WM_QUIT)
			break;

		float time = GetGameTime();
		float dt = (time - last);
		deltaTime = dt;
		float fps = 1 / dt;

		char title[50];
		sprintf_s(title, 50 * sizeof(char), "%f", fps);

		SetWindowTextA(hWnd, title);

		Update();
		Render();

		last = time;
	}

	Destroy();

	UnregisterClass(wcex.lpszClassName, hInstance);

	return (int) msg.wParam;
}