91 lines
2.1 KiB
C
91 lines
2.1 KiB
C
#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
|
|
} |