#pragma once

// header files
#define D3D_DEBUG_INFO

#include "GameWindow.h"


// libraries
//#pragma comment (lib, "d3d9.lib")
//#pragma comment (lib, "d3dx9.lib")
//#pragma comment (lib, "dxerr9.lib")
//// #pragma comment (lib, "dinput.lib")
//#pragma comment (lib, "dinput8.lib")
//#pragma comment (lib, "dxguid.lib")
//#pragma comment (lib, "winmm.lib")      // timeGetTime()

// prototypes for...
// WinMain.cpp                                
LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
void DisplayWindow(GAMEWINDOW* gw, HINSTANCE hInstance, int nCmdShow);
bool HandleMessages();


// GLOBAL CONSTANTS


//#define USE_LIGHT_GRAPHICS                    // use simple models for faster loading during development

#define FILEPATH_RESOURCES                          L"res"

#ifdef USE_LIGHT_GRAPHICS
    #define FILENAME_MODEL_PLAYER                 L"airplane2.x"
    #define SUBDIR_MODEL_PLAYER                   L"airplane2"
#else
    #define FILENAME_MODEL_PLAYER                 L"F4U1_L.3DS"
    #define SUBDIR_MODEL_PLAYER                   L"jet"
#endif

#define FILENAME_MODEL_ENEMY1                       L"airplane2.x"
#define FILEPATH_MODEL_ENEMY1						L"airplane2"
//#define BACKGROUND_FILENAME_PREFIX                  "himmel005c4dartde_s_"     // daran wird als suffix noch die zweistellige Nummer angehängt
#define BACKGROUND_FILENAME_PREFIX                  "background/himmel005_quad_"     // daran wird als suffix noch die zweistellige Nummer angehängt
#define BACKGROUND_FILEEXTENSION                    ".jpg"

#define SUNLIGHT_INITIAL_DIRECTION                  -2.1f, 4.6f, 4.6f      
#define SUNLIGHT_COLOR								D3DCOLOR_XRGB(255,255,255)
#define SUNLIGHT_SPEED                              0.001f

static const int SCREEN_WIDTH						= 1920;
static const int SCREEN_HEIGHT						= 1200;
static const int BACKGROUND_SLICE_WIDTH				= 256;         // das Hintergrundbild besteht aus mehreren slices.
static const int BACKGROUND_SLICE_HEIGHT			= 256;          
static const int BACKGROUND_COLS					= 12;          // aus wievielen slices das komplette hintergrundbild vertikal zusammengepuzzelt ist
static const int BACKGROUND_ROWS					= 8;
