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; }
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; }