diff --git a/Bundled/common/config.arm b/Bundled/common/config.arm index d4e79a86..488c6048 100644 --- a/Bundled/common/config.arm +++ b/Bundled/common/config.arm @@ -2,18 +2,17 @@ "rp_bloom": false, "rp_gi": false, "rp_motionblur": false, - "rp_shadowmap_cube": 0, - "rp_shadowmap_cascade": 0, "rp_ssgi": true, "rp_ssr": false, "rp_supersample": 1.0, + "window_w": 1600, "window_h": 900, + "window_x": -1, + "window_y": -1, "window_maximizable": true, "window_minimizable": true, "window_mode": 0, - "window_msaa": 1, "window_resizable": true, "window_scale": 1.0, - "window_vsync": true, - "window_w": 1600 + "window_vsync": true } diff --git a/Sources/Main.hx b/Sources/Main.hx index 97019852..b6ec7c98 100644 --- a/Sources/Main.hx +++ b/Sources/Main.hx @@ -34,8 +34,9 @@ class Main { if (c.window_maximizable == null) c.window_maximizable = true; if (c.window_w == null) c.window_w = 1600; if (c.window_h == null) c.window_h = 900; + if (c.window_x == null) c.window_x = -1; + if (c.window_y == null) c.window_y = -1; if (c.window_scale == null) c.window_scale = 1.0; - if (c.window_msaa == null) c.window_msaa = 1; if (c.window_vsync == null) c.window_vsync = true; var windowMode = c.window_mode == 0 ? WindowMode.Windowed : WindowMode.Fullscreen; @@ -54,7 +55,7 @@ class Main { var title = "untitled - ArmorPaint"; #end - System.start({title: title, width: c.window_w, height: c.window_h, window: {mode: windowMode, windowFeatures: windowFeatures}, framebuffer: {samplesPerPixel: c.window_msaa, verticalSync: c.window_vsync}}, function(window:Window) { + System.start({title: title, window: {width: c.window_w, height: c.window_h, x: c.window_x, y: c.window_y, mode: windowMode, windowFeatures: windowFeatures}, framebuffer: {samplesPerPixel: 1, verticalSync: c.window_vsync}}, function(window:Window) { iron.App.init(function() { Scene.setActive("Scene", function(o:Object) { Uniforms.init(); diff --git a/Sources/arm/App.hx b/Sources/arm/App.hx index 485e6c34..462ee2fb 100644 --- a/Sources/arm/App.hx +++ b/Sources/arm/App.hx @@ -217,19 +217,21 @@ class App { winw = System.windowWidth(); winh = System.windowHeight(); - - // Save window size - // Config.raw.window_w = System.windowWidth(); - // Config.raw.window_h = System.windowHeight(); - // Cap height, window is not centered properly - // var disp = kha.Display.primary; - // if (disp.height > 0 && Config.raw.window_h > disp.height - 140) { - // Config.raw.window_h = disp.height - 140; - // } - // Config.save(); + + saveWindowRect(); } #end + static function saveWindowRect() { + #if krom_windows + Config.raw.window_w = System.windowWidth(); + Config.raw.window_h = System.windowHeight(); + Config.raw.window_x = kha.Window.get(0).x; + Config.raw.window_y = kha.Window.get(0).y; + Config.save(); + #end + } + public static function resize() { if (System.windowWidth() == 0 || System.windowHeight() == 0) return; diff --git a/Sources/arm/Config.hx b/Sources/arm/Config.hx index c0b86a66..672e5312 100644 --- a/Sources/arm/Config.hx +++ b/Sources/arm/Config.hx @@ -38,8 +38,6 @@ class Config { raw.rp_bloom = false; raw.rp_gi = false; raw.rp_motionblur = false; - raw.rp_shadowmap_cube = 0; - raw.rp_shadowmap_cascade = 0; raw.rp_ssgi = true; raw.rp_ssr = false; raw.rp_supersample = 1.0; @@ -179,19 +177,17 @@ class Config { } typedef TConfig = { - @:optional var debug_console:Null; @:optional var window_mode:Null; // window, fullscreen @:optional var window_w:Null; @:optional var window_h:Null; + @:optional var window_x:Null; + @:optional var window_y:Null; @:optional var window_resizable:Null; @:optional var window_maximizable:Null; @:optional var window_minimizable:Null; @:optional var window_vsync:Null; - @:optional var window_msaa:Null; @:optional var window_scale:Null; @:optional var rp_supersample:Null; - @:optional var rp_shadowmap_cube:Null; // size - @:optional var rp_shadowmap_cascade:Null; // size for single cascade @:optional var rp_ssgi:Null; @:optional var rp_ssr:Null; @:optional var rp_bloom:Null;