#pragma once #ifndef SCREENWIDTH #define SCREENWIDTH 1280 #endif #ifndef SCREENHEIGHT #define SCREENHEIGHT 720 #endif #ifndef WINDOWED #define WINDOWED FALSE #endif #pragma bss_seg(".windowbss") static float windowWidth = SCREENWIDTH; static float windowHeight = SCREENHEIGHT; static HWND windowHandle; #pragma data_seg(".aspectRatio") static float aspectRatio = (float)SCREENWIDTH / (float)SCREENHEIGHT; #ifdef VIDEO #define windowTitle "Intro (rendering to video)" #endif #ifdef RELEASE #define windowTitle "Intro (release)" #endif #ifdef SHADERDEBUG #define windowTitle "Intro (shader debug)" #endif #ifdef AUTHORING #define windowTitle "Intro (authoring)" #endif #ifndef windowTitle #define windowTitle "Intro (unknown configuration)" #endif #ifndef COMPRESS #undef WINDOWED #define WINDOWED TRUE #endif #pragma code_seg(".windowInit") INLINE void WindowInit() { Log("WindowInit"); #ifdef RELEASE windowHandle = CreateWindowExA(0, (LPCSTR)0x0000C019, 0, WS_OVERLAPPEDWINDOW | WS_VISIBLE, 0, 0, windowWidth + 16, windowHeight + 39, 0, 0, 0, 0); ShowCursor(false); #else WNDCLASSEX wndclass; wndclass.cbSize = sizeof(wndclass); wndclass.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; wndclass.lpfnWndProc = (WNDPROC)DefWindowProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.hInstance = NULL; wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); wndclass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); wndclass.lpszMenuName = NULL; wndclass.lpszClassName = "IntroWindowClass"; wndclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION); RegisterClassEx(&wndclass); #ifndef AUTHORING windowHandle = CreateWindowExA(0, wndclass.lpszClassName, windowTitle, WS_EX_APPWINDOW, GetSystemMetrics(SM_CXSCREEN) - windowWidth - 16, 0, windowWidth + 16, windowHeight + 39, NULL, NULL, GetModuleHandle(NULL), NULL ); ShowWindow(windowHandle, SW_NORMAL); SetWindowPos(windowHandle, 0, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); #else windowHandle = CreateWindowExA(0, wndclass.lpszClassName, windowTitle, 0, 0, 0, SCREENWIDTH + 16, SCREENHEIGHT + 39, 0, 0, GetModuleHandle(NULL), 0); #endif #endif }