Common::Error WintermuteEngine::run() { // Initialize graphics using following: Graphics::PixelFormat format(4, 8, 8, 8, 8, 24, 16, 8, 0); if (_gameDescription->adDesc.flags & GF_LOWSPEC_ASSETS) { initGraphics(320, 240, &format); } else { initGraphics(800, 600, &format); } if (g_system->getScreenFormat() != format) { error("Wintermute currently REQUIRES 32bpp"); } // Create debugger console. It requires GFX to be initialized _dbgController = new DebuggerController(this); _debugger = new Console(this); // DebugMan.enableDebugChannel("enginelog"); debugC(1, kWintermuteDebugLog, "Engine Debug-LOG enabled"); debugC(2, kWintermuteDebugSaveGame , "Savegame debugging-enabled"); int ret = 1; // Additional setup. debugC(kWintermuteDebugLog, "WintermuteEngine::init"); ret = init(); debugC(kWintermuteDebugLog, "WintermuteEngine::messageLoop"); if (ret == 0) { ret = messageLoop(); } deinit(); return Common::kNoError; }
Common::Error WintermuteEngine::run() { // Initialize graphics using following: Graphics::PixelFormat format(4, 8, 8, 8, 8, 16, 8, 0, 24); initGraphics(800, 600, true, &format); if (g_system->getScreenFormat() != format) { error("Wintermute currently REQUIRES 32bpp"); } // Create debugger console. It requires GFX to be initialized _console = new Console(this); // DebugMan.enableDebugChannel("enginelog"); debugC(1, kWintermuteDebugLog, "Engine Debug-LOG enabled"); debugC(2, kWintermuteDebugSaveGame , "Savegame debugging-enabled"); int ret = 1; // Additional setup. debugC(kWintermuteDebugLog, "WintermuteEngine::init"); ret = init(); debugC(kWintermuteDebugLog, "WintermuteEngine::messageLoop"); if (ret == 0) { ret = messageLoop(); } deinit(); return Common::kNoError; }
void run() { registerWindowClass(); createWindow(); createOpenGLContext(); messageLoop(); }
/* * VxDUnLink - terminate link */ int __pascal VxDUnLink( void ) { #ifdef SERVER #ifdef __WINDOWS__ messageLoop(); #endif return( UnregisterName( linkName ) ); #else return( UnaccessName( linkName ) ); #endif } /* VxDUnLink */
/* * VxDPut - put some data to client/server */ void __pascal VxDPut( const void __far *rec, unsigned len ) { #ifdef __WINDOWS__ int rc; while( 1 ) { rc = ConvPut( __ConvId,rec, len, NO_BLOCK ); if( rc == BLOCK ) { messageLoop(); } else { break; } } #else ConvPut( __ConvId,rec, len, BLOCK ); #endif } /* VxDPut */
bool X11Window::resize(int width, int height) { XResizeWindow(mDisplay, mWindow, width, height); XFlush(mDisplay); Timer* timer = CreateTimer(); timer->start(); // Wait until the window as actually been resized so that the code calling resize // can assume the window has been resized. const double kResizeWaitDelay = 0.2; while (mHeight != height && mWidth != width && timer->getElapsedTime() < kResizeWaitDelay) { messageLoop(); angle::Sleep(10); } return true; }
/* * VxDGet - get some data from a client/server */ unsigned __pascal VxDGet( void __far *rec, unsigned len ) { _dword rc; #ifdef __WINDOWS__ while( 1 ) { rc = ConvGet( __ConvId,rec, len, NO_BLOCK ); if( (rc & 0xffff) == BLOCK ) { messageLoop(); } else { break; } } #else rc = ConvGet( __ConvId,rec, len, BLOCK ); #endif return( rc >> 16 ); } /* VxDGet */
void run() { messageLoop(); }
// WinMain int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int cmdShow){ argv =CommandLineToArgvW(GetCommandLineW(),&argc); directory = getDirectory(); srand(time(0)); #ifdef _DEBUG console(); #endif loadSaves(); int height=768,width =1024; calcSizes(768-menuHeight,1024-border); WNDCLASSEX wc; //HDC hDC; HGLRC hRC; // register window class //definere et vindues classe og dens parametre/udsende wc.cbSize = sizeof(WNDCLASSEX); wc.style = 0; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; //alt tab icon + windows linie icon wc.hIcon = LoadIcon( GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ICON1) ); //look of the cursor wc.hCursor = LoadCursor( NULL, IDC_ARROW ); //background color wc.hbrBackground = (HBRUSH)GetSysColorBrush(COLOR_3DFACE); //menu bar wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU1); wc.lpszClassName = "main"; //icon venstre top hjørne //følgende virker også, loader dog default 32x32 icon //LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ICON1)); wc.hIconSm = (HICON)LoadImage(GetModuleHandle(NULL),MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 16, 16, 0); if(!RegisterClassEx(&wc)){ MessageBox(NULL, "Window Registration Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK); return 0; } // create main window hWnd = CreateWindowEx( WS_EX_CLIENTEDGE, "main", "Walking With Dinosaurs", WS_THICKFRAME | WS_CAPTION | WS_VISIBLE | WS_OVERLAPPED | WS_SYSMENU | WS_MINIMIZEBOX |WS_CLIPCHILDREN |WS_MAXIMIZEBOX, GetSystemMetrics(SM_CXMAXIMIZED)/2-SM_CXFIXEDFRAME/2-width/2-listWidth, GetSystemMetrics(SM_CYMAXIMIZED)/2-SM_CYFIXEDFRAME/2-height/2, 1024, 768, NULL, NULL, hInstance, NULL ); //simulations window // register window class wc.cbSize = sizeof(WNDCLASSEX); //cs_owndc svaes the cach, used for painting outside normal routine wc.style = CS_OWNDC; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = LoadIcon( NULL, IDI_APPLICATION ); wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject( BLACK_BRUSH ); wc.lpszMenuName = NULL; wc.lpszClassName = "blank"; if(!RegisterClassEx(&wc)){ MessageBox(NULL, "Window Registration Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK); return 0; } blank = CreateWindowEx(WS_EX_CLIENTEDGE, TEXT("blank"), "", WS_CHILD | WS_VISIBLE ,listWidth,bAreaHeight,simWidth,simHeight, hWnd,(HMENU)IDC_SIM, GetModuleHandle(NULL), NULL); EnableOpenGL( blank, &hDC, &hRC ); //selection listbox hWndList = CreateWindowEx(WS_EX_CLIENTEDGE, TEXT("listbox"), "", WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_AUTOVSCROLL|LBS_NOTIFY,0, 0, listWidth, listHeight, hWnd, (HMENU)IDC_LISTBOX, GetModuleHandle(NULL), NULL); for(int i=0;i<(int)saves.size();i++){ SendMessage(hWndList, LB_ADDSTRING, 0, (LPARAM)saves.at(i)->name.c_str()); } SendMessage(hWndList,LB_SETCURSEL,0,0); //init creature/world WWDPhysics = new Physics(); readDNA(&saves.at(0)->dna,WWDPhysics); WWDPhysics->runSimStartUp(); WWDPhysics->reshape(simWidth,simHeight); //settings area int row1=10,row2=35, row3 =60; int col1 =160,col2=col1+170,col3=500,col4=col3+170, col5=340,col6=col5+170; HWND hWndFitS=CreateWindowEx(NULL,TEXT("STATIC"), "Fitness Test",WS_CHILD|WS_VISIBLE, col1, row1, 100, 18, hWnd, (HMENU)IDC_TEST_STATIC, GetModuleHandle(NULL), NULL); HWND hwndCombo = CreateWindowEx(WS_EX_CLIENTEDGE, TEXT("combobox"), "", WS_CHILD | WS_VISIBLE| CBS_DROPDOWNLIST ,col2, row1-5, 150, 24, hWnd, (HMENU)IDC_FITNESSTYPE_COMBOBOX, GetModuleHandle(NULL), NULL); SendMessage(hwndCombo,CB_ADDSTRING, 0, (LPARAM)"Move"); SendMessage(hwndCombo,CB_SETITEMDATA, 0, move); SendMessage(hwndCombo,CB_ADDSTRING, 0, (LPARAM)"Iterative Move"); SendMessage(hwndCombo,CB_SETITEMDATA, 1, iterateMove); SendMessage(hwndCombo,CB_ADDSTRING, 0, (LPARAM)"Dwarfslayer Move"); SendMessage(hwndCombo,CB_SETITEMDATA, 2, dwarfslayerMove); SendMessage(hwndCombo,CB_ADDSTRING, 0, (LPARAM)"Fat Loving Move"); SendMessage(hwndCombo,CB_SETITEMDATA, 3, fatLovingMove); SendMessage(hwndCombo,CB_ADDSTRING, 0, (LPARAM)"Box Loving Move"); SendMessage(hwndCombo,CB_SETITEMDATA, 4, boxLovingMove); SendMessage(hwndCombo,CB_ADDSTRING, 0, (LPARAM)"Jump"); SendMessage(hwndCombo,CB_SETITEMDATA, 5, jump); SendMessage(hwndCombo,CB_ADDSTRING, 0, (LPARAM)"Combi"); SendMessage(hwndCombo,CB_SETITEMDATA, 6, combi); SendMessage(hwndCombo,CB_ADDSTRING, 0, (LPARAM)"None"); SendMessage(hwndCombo,CB_SETITEMDATA, 7, none); SendMessage(hwndCombo,CB_SETCURSEL,0,0); WWDPhysics->addFitnessFunction(move,1); HWND hWndButton=CreateWindowEx(NULL,TEXT("BUTTON"), "RUN", WS_TABSTOP|WS_VISIBLE|WS_CHILD|BS_DEFPUSHBUTTON, col1, row3, 100, 24, hWnd, (HMENU)IDC_RUN_BUTTON, GetModuleHandle(NULL), NULL); HWND hWndResetButton=CreateWindowEx(NULL,TEXT("BUTTON"), "Reset Simulation", WS_TABSTOP|WS_VISIBLE|WS_CHILD|BS_DEFPUSHBUTTON, col3, row3, 150, 24, hWnd, (HMENU)IDC_RESET_BUTTON, GetModuleHandle(NULL), NULL); HGDIOBJ hfDefault=GetStockObject(DEFAULT_GUI_FONT); SendMessage(hWndButton,WM_SETFONT, (WPARAM)hfDefault, MAKELPARAM(FALSE,0)); HWND hWndNoG=CreateWindowEx(NULL,TEXT("STATIC"),"Number of Generations",WS_CHILD|WS_VISIBLE, col1, row2, 150, 18, hWnd, (HMENU)IDC_NOG_STATIC, GetModuleHandle(NULL), NULL); HWND hWndNoGS=CreateWindowEx(NULL,TEXT("EDIT"), "50",WS_CHILD|WS_VISIBLE|ES_NUMBER, col2, row2, 42, 18, hWnd, (HMENU)IDC_NOG_EDIT, GetModuleHandle(NULL), NULL); HWND hWndPopS=CreateWindowEx(NULL,TEXT("STATIC"), "Population Size",WS_CHILD|WS_VISIBLE, col3, row1, 150, 18, hWnd, (HMENU)IDC_POP_STATIC, GetModuleHandle(NULL), NULL); HWND hWndPop=CreateWindowEx(NULL,TEXT("EDIT"), "100",WS_CHILD|WS_VISIBLE |ES_NUMBER, col4, row1, 42, 18, hWnd, (HMENU)IDC_POP_EDIT, GetModuleHandle(NULL), NULL); HWND hWndViewRate=CreateWindowEx(NULL,TEXT("STATIC"), "Simulation view precision",WS_CHILD|WS_VISIBLE, col3, row2, 200, 18, hWnd, (HMENU)IDC_VIEW_STATIC, GetModuleHandle(NULL), NULL); HWND hWndViewRateB=CreateWindowEx(NULL,TEXT("BUTTON"), "",WS_CHILD|WS_VISIBLE | BS_CHECKBOX, col4, row2, 100, 18, hWnd, (HMENU)IDC_VIEW_CHECKBOX, GetModuleHandle(NULL), NULL); SendMessage(hWndViewRateB, BM_SETCHECK, BST_CHECKED,0); fixedSteps=true; EnableWindow(hWndViewRateB,false); MSG msg = messageLoop(hDC, hRC); return msg.wParam; }
void GWindow::doModal() { messageLoop(this); }