diff options
Diffstat (limited to 'platform/windows')
-rw-r--r-- | platform/windows/os_windows.cpp | 22 | ||||
-rw-r--r-- | platform/windows/os_windows.h | 3 |
2 files changed, 15 insertions, 10 deletions
diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index b230dda9cb..1e51c18b63 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -400,14 +400,15 @@ LRESULT OS_Windows::WndProc(HWND hWnd,UINT uMsg, WPARAM wParam, LPARAM lParam) { if (mouse_mode==MOUSE_MODE_CAPTURED) { Point2i c(video_mode.width/2,video_mode.height/2); + old_x = c.x; + old_y = c.y; + if (Point2i(mm.x,mm.y)==c) { center=c; return 0; } Point2i ncenter(mm.x,mm.y); - mm.x = old_x + (mm.x-center.x); - mm.y = old_y + (mm.y-center.y); center=ncenter; POINT pos = { (int) c.x, (int) c.y }; ClientToScreen(hWnd, &pos); @@ -1092,11 +1093,6 @@ void OS_Windows::initialize(const VideoMode& p_desired,int p_video_driver,int p_ RasterizerGLES3::register_config(); RasterizerGLES3::make_current(); -#else - // FIXME: Does DX support still work now that rasterizer is no longer used? -#ifdef DX9_ENABLED - rasterizer = memnew( RasterizerDX9(hWnd) ); -#endif #endif visual_server = memnew( VisualServerRaster ); @@ -1268,8 +1264,6 @@ void OS_Windows::finalize() { if (gl_context) memdelete(gl_context); #endif - if (rasterizer) - memdelete(rasterizer); if (user_proc) { SetWindowLongPtr(hWnd, GWLP_WNDPROC, (LONG_PTR)user_proc); @@ -1289,6 +1283,11 @@ void OS_Windows::finalize() { monitor_info.clear(); + for (int i = 0; i < get_audio_driver_count(); i++) + { + AudioDriverManager::get_driver(i)->finish(); + } + } void OS_Windows::finalize_core() { @@ -2395,6 +2394,11 @@ bool OS_Windows::is_vsync_enabled() const{ return true; } +bool OS_Windows::check_feature_support(const String& p_feature) { + + return VisualServer::get_singleton()->has_os_feature(p_feature); + +} OS_Windows::OS_Windows(HINSTANCE _hInstance) { diff --git a/platform/windows/os_windows.h b/platform/windows/os_windows.h index 2c8fa64f8e..73a2d5f451 100644 --- a/platform/windows/os_windows.h +++ b/platform/windows/os_windows.h @@ -92,7 +92,6 @@ class OS_Windows : public OS { ContextGL_Win *gl_context; #endif VisualServer *visual_server; - Rasterizer *rasterizer; PhysicsServer *physics_server; Physics2DServer *physics_2d_server; int pressrc; @@ -286,6 +285,8 @@ public: virtual void set_use_vsync(bool p_enable); virtual bool is_vsync_enabled() const; + virtual bool check_feature_support(const String& p_feature); + OS_Windows(HINSTANCE _hInstance); ~OS_Windows(); |