|
@@ -25,9 +25,10 @@ int windowHeight = 600;
|
|
|
|
|
|
#define color_buffer frameBuffer;
|
|
|
|
|
|
-bool initialiseWindow()
|
|
|
+bool initialiseWindow(bool fullScreen)
|
|
|
{
|
|
|
bool ret = false;
|
|
|
+ int windowFlags = 0;
|
|
|
|
|
|
if (SDL_Init(SDL_INIT_EVERYTHING))
|
|
|
{
|
|
@@ -37,10 +38,22 @@ bool initialiseWindow()
|
|
|
|
|
|
log(TLOG_DEBUG, NULL, "SDL properly initialised!");
|
|
|
|
|
|
+ if (fullScreen)
|
|
|
+ {
|
|
|
+ log(TLOG_DEBUG, NULL, "Will go fullscreen! Fasten your seatbelts!");
|
|
|
+ SDL_DisplayMode displayMode;
|
|
|
+ SDL_GetCurrentDisplayMode(0, &displayMode);
|
|
|
+
|
|
|
+ windowWidth = displayMode.w;
|
|
|
+ windowHeight = displayMode.h;
|
|
|
+
|
|
|
+ windowFlags = SDL_WINDOW_BORDERLESS;
|
|
|
+ }
|
|
|
+
|
|
|
window = SDL_CreateWindow(NULL,
|
|
|
SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
|
|
|
windowWidth, windowHeight,
|
|
|
- SDL_WINDOW_BORDERLESS);
|
|
|
+ windowFlags);
|
|
|
if (window == NULL)
|
|
|
{
|
|
|
log(TLOG_PANIC, NULL, "SDL Window creation error: %s", SDL_GetError());
|
|
@@ -48,7 +61,6 @@ bool initialiseWindow()
|
|
|
}
|
|
|
log(TLOG_DEBUG, NULL, "SDL Window created!");
|
|
|
|
|
|
-
|
|
|
renderer = SDL_CreateRenderer(window, -1, 0);
|
|
|
if (renderer == NULL)
|
|
|
{
|
|
@@ -57,6 +69,11 @@ bool initialiseWindow()
|
|
|
}
|
|
|
log(TLOG_DEBUG, NULL, "SDL Renderer created!");
|
|
|
|
|
|
+ if (fullScreen)
|
|
|
+ {
|
|
|
+ SDL_SetWindowFullscreen(window, SDL_WINDOW_FULLSCREEN);
|
|
|
+ }
|
|
|
+
|
|
|
ret = true;
|
|
|
exit:
|
|
|
return ret;
|
|
@@ -158,10 +175,29 @@ void destroy_window()
|
|
|
|
|
|
int main(int argc, char *argv[])
|
|
|
{
|
|
|
+ int param_i;
|
|
|
+ bool fullScreen = false;
|
|
|
MAX_DEBUG_LEVEL = TLOG_DEBUG;
|
|
|
|
|
|
log(TLOG_ALWAYS, NULL, "Booting 3D Engine (version %s)!", VERSION);
|
|
|
- isRunning = initialiseWindow();
|
|
|
+
|
|
|
+ for (param_i = 1 ; (param_i < argc) && (argv[param_i][0] == '-'); param_i++)
|
|
|
+ {
|
|
|
+ switch (argv[param_i][1])
|
|
|
+ {
|
|
|
+ default: exit(-1); /* Option not recognized */
|
|
|
+ case 'f': fullScreen = true; break;
|
|
|
+ case 'w': windowWidth = atoi(argv[++param_i]); break;
|
|
|
+ case 'h': windowHeight = atoi(argv[++param_i]); break;
|
|
|
+#ifdef DYNA_LOG_LEVEL
|
|
|
+ case 'l': MAX_DEBUG_LEVEL = atoi(argv[++param_i]); break;
|
|
|
+#endif
|
|
|
+ case '-': goto no_more_params;
|
|
|
+ }
|
|
|
+ }
|
|
|
+no_more_params:
|
|
|
+
|
|
|
+ isRunning = initialiseWindow(fullScreen);
|
|
|
|
|
|
setup();
|
|
|
|