diff options
Diffstat (limited to 'platform')
| -rw-r--r-- | platform/SCsub | 3 | ||||
| -rw-r--r-- | platform/android/SCsub | 3 | ||||
| -rw-r--r-- | platform/haiku/SCsub | 2 | ||||
| -rw-r--r-- | platform/iphone/SCsub | 2 | ||||
| -rw-r--r-- | platform/iphone/export/export.cpp | 6 | ||||
| -rw-r--r-- | platform/javascript/SCsub | 2 | ||||
| -rw-r--r-- | platform/javascript/os_javascript.cpp | 4 | ||||
| -rw-r--r-- | platform/osx/SCsub | 5 | ||||
| -rw-r--r-- | platform/server/SCsub | 2 | ||||
| -rw-r--r-- | platform/uwp/SCsub | 2 | ||||
| -rw-r--r-- | platform/uwp/logo.png | bin | 1882 -> 1519 bytes | |||
| -rw-r--r-- | platform/windows/SCsub | 4 | ||||
| -rw-r--r-- | platform/windows/os_windows.cpp | 31 | ||||
| -rw-r--r-- | platform/windows/os_windows.h | 2 | ||||
| -rw-r--r-- | platform/x11/SCsub | 5 |
15 files changed, 43 insertions, 30 deletions
diff --git a/platform/SCsub b/platform/SCsub index 4ef23ab053..e624f8e90f 100644 --- a/platform/SCsub +++ b/platform/SCsub @@ -25,6 +25,7 @@ f.write(unreg_apis) f.close() platform_sources.append('register_platform_apis.gen.cpp') -env.Prepend(LIBS=env.Library('platform', platform_sources)) +lib = env.add_library('platform', platform_sources) +env.Prepend(LIBS=lib) Export('env') diff --git a/platform/android/SCsub b/platform/android/SCsub index 7fa0262359..0cd91276ef 100644 --- a/platform/android/SCsub +++ b/platform/android/SCsub @@ -144,8 +144,7 @@ manifest = manifest.replace("$$ADD_APPATTRIBUTE_CHUNKS$$", env.android_appattrib pp_baseout.write(manifest) -env_android.SharedLibrary("#bin/libgodot", [android_objects], SHLIBSUFFIX=env["SHLIBSUFFIX"]) - +lib = env_android.add_shared_library("#bin/libgodot", [android_objects], SHLIBSUFFIX=env["SHLIBSUFFIX"]) lib_arch_dir = '' if env['android_arch'] == 'armv6': diff --git a/platform/haiku/SCsub b/platform/haiku/SCsub index d0c244a194..592f56bbbf 100644 --- a/platform/haiku/SCsub +++ b/platform/haiku/SCsub @@ -12,7 +12,7 @@ common_haiku = [ 'audio_driver_media_kit.cpp' ] -target = env.Program( +target = env.add_program( '#bin/godot', ['godot_haiku.cpp'] + common_haiku ) diff --git a/platform/iphone/SCsub b/platform/iphone/SCsub index 550dfdd7d6..6b5f30dc41 100644 --- a/platform/iphone/SCsub +++ b/platform/iphone/SCsub @@ -17,7 +17,7 @@ iphone_lib = [ ] env_ios = env.Clone() -ios_lib = env_ios.Library('iphone', iphone_lib) +ios_lib = env_ios.add_library('iphone', iphone_lib) def combine_libs(target=None, source=None, env=None): lib_path = target[0].srcnode().abspath diff --git a/platform/iphone/export/export.cpp b/platform/iphone/export/export.cpp index 8ab1cbc435..b05bb9ab09 100644 --- a/platform/iphone/export/export.cpp +++ b/platform/iphone/export/export.cpp @@ -37,7 +37,7 @@ #include "io/zip_io.h" #include "os/file_access.h" #include "os/os.h" -#include "platform/osx/logo.gen.h" +#include "platform/iphone/logo.gen.h" #include "project_settings.h" #include "string.h" #include "version.h" @@ -977,9 +977,7 @@ bool EditorExportPlatformIOS::can_export(const Ref<EditorExportPreset> &p_preset EditorExportPlatformIOS::EditorExportPlatformIOS() { - ///@TODO need to create the correct logo - // Ref<Image> img = memnew(Image(_iphone_logo)); - Ref<Image> img = memnew(Image(_osx_logo)); + Ref<Image> img = memnew(Image(_iphone_logo)); logo.instance(); logo->create_from_image(img); } diff --git a/platform/javascript/SCsub b/platform/javascript/SCsub index 8d505a5829..05992ebac8 100644 --- a/platform/javascript/SCsub +++ b/platform/javascript/SCsub @@ -22,7 +22,7 @@ for x in javascript_files: env.Append(LINKFLAGS=["-s", "EXPORTED_FUNCTIONS=\"['_main','_main_after_fs_sync','_send_notification']\""]) target_dir = env.Dir("#bin") -build = env.Program(['#bin/godot', target_dir.File('godot' + env['PROGSUFFIX'] + '.wasm')], javascript_objects, PROGSUFFIX=env['PROGSUFFIX'] + '.js'); +build = env.add_program(['#bin/godot', target_dir.File('godot' + env['PROGSUFFIX'] + '.wasm')], javascript_objects, PROGSUFFIX=env['PROGSUFFIX'] + '.js'); js_libraries = [] js_libraries.append(env.File('http_request.js')) diff --git a/platform/javascript/os_javascript.cpp b/platform/javascript/os_javascript.cpp index d5c675d9e0..3b02bfd862 100644 --- a/platform/javascript/os_javascript.cpp +++ b/platform/javascript/os_javascript.cpp @@ -201,7 +201,7 @@ static EM_BOOL _mousemove_callback(int event_type, const EmscriptenMouseEvent *m ev->set_position(pos); ev->set_global_position(ev->get_position()); - ev->set_relative(_input->get_mouse_position() - ev->get_position()); + ev->set_relative(ev->get_position() - _input->get_mouse_position()); _input->set_mouse_position(ev->get_position()); ev->set_speed(_input->get_last_mouse_speed()); @@ -336,7 +336,7 @@ static EM_BOOL _touchmove_callback(int event_type, const EmscriptenTouchEvent *t ev_mouse->set_position(Point2(first_touch.canvasX, first_touch.canvasY)); ev_mouse->set_global_position(ev_mouse->get_position()); - ev_mouse->set_relative(_input->get_mouse_position() - ev_mouse->get_position()); + ev_mouse->set_relative(ev_mouse->get_position() - _input->get_mouse_position()); _input->set_mouse_position(ev_mouse->get_position()); ev_mouse->set_speed(_input->get_last_mouse_speed()); diff --git a/platform/osx/SCsub b/platform/osx/SCsub index be3950bc6d..cb88bc470a 100644 --- a/platform/osx/SCsub +++ b/platform/osx/SCsub @@ -16,7 +16,8 @@ files = [ 'power_osx.cpp', ] -binary = env.Program('#bin/godot', files) +prog = env.add_program('#bin/godot', files) + if env["debug_symbols"] == "full" or env["debug_symbols"] == "yes": - env.AddPostAction(binary, make_debug) + env.AddPostAction(prog, make_debug) diff --git a/platform/server/SCsub b/platform/server/SCsub index 30195bb908..30d8cc8064 100644 --- a/platform/server/SCsub +++ b/platform/server/SCsub @@ -7,4 +7,4 @@ common_server = [\ "os_server.cpp",\ ] -env.Program('#bin/godot_server', ['godot_server.cpp'] + common_server) +prog = env.add_program('#bin/godot_server', ['godot_server.cpp'] + common_server) diff --git a/platform/uwp/SCsub b/platform/uwp/SCsub index bbd329a7e5..f0d69fef33 100644 --- a/platform/uwp/SCsub +++ b/platform/uwp/SCsub @@ -19,7 +19,7 @@ files = [ if "build_angle" in env and env["build_angle"]: cmd = env.AlwaysBuild(env.ANGLE('libANGLE.lib', None)) -prog = env.Program('#bin/godot', files) +prog = env.add_program('#bin/godot', files) if "build_angle" in env and env["build_angle"]: env.Depends(prog, [cmd]) diff --git a/platform/uwp/logo.png b/platform/uwp/logo.png Binary files differindex 4376abd563..9017a30636 100644 --- a/platform/uwp/logo.png +++ b/platform/uwp/logo.png diff --git a/platform/windows/SCsub b/platform/windows/SCsub index aa9eb3e69b..5a253d5db5 100644 --- a/platform/windows/SCsub +++ b/platform/windows/SCsub @@ -28,7 +28,7 @@ obj = env.RES(restarget, 'godot_res.rc') common_win.append(obj) -binary = env.Program('#bin/godot', ['godot_win.cpp'] + common_win, PROGSUFFIX=env["PROGSUFFIX"]) +prog = env.add_program('#bin/godot', ['godot_win.cpp'] + common_win, PROGSUFFIX=env["PROGSUFFIX"]) # Microsoft Visual Studio Project Generation if env['vsproj']: @@ -38,4 +38,4 @@ if env['vsproj']: if not os.getenv("VCINSTALLDIR"): if env["debug_symbols"] == "full" or env["debug_symbols"] == "yes": - env.AddPostAction(binary, make_debug_mingw) + env.AddPostAction(prog, make_debug_mingw) diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index 284dfaf904..3bdc307c3a 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -1044,12 +1044,6 @@ void OS_Windows::initialize(const VideoMode &p_desired, int p_video_driver, int visual_server = memnew(VisualServerWrapMT(visual_server, get_render_thread_mode() == RENDER_SEPARATE_THREAD)); } - if (!is_no_window_mode_enabled()) { - ShowWindow(hWnd, SW_SHOW); // Show The Window - SetForegroundWindow(hWnd); // Slightly Higher Priority - SetFocus(hWnd); // Sets Keyboard Focus To - } - /* DEVMODE dmScreenSettings; // Device Mode memset(&dmScreenSettings,0,sizeof(dmScreenSettings)); // Makes Sure Memory's Cleared @@ -1087,6 +1081,12 @@ void OS_Windows::initialize(const VideoMode &p_desired, int p_video_driver, int DragAcceptFiles(hWnd, true); move_timer_id = 1; + + if (!is_no_window_mode_enabled()) { + ShowWindow(hWnd, SW_SHOW); // Show The Window + SetForegroundWindow(hWnd); // Slightly Higher Priority + SetFocus(hWnd); // Sets Keyboard Focus To + } } void OS_Windows::set_clipboard(const String &p_text) { @@ -1588,8 +1588,21 @@ void OS_Windows::_update_window_style(bool repaint) { } } -Error OS_Windows::open_dynamic_library(const String p_path, void *&p_library_handle) { - p_library_handle = (void *)LoadLibrary(p_path.utf8().get_data()); +Error OS_Windows::open_dynamic_library(const String p_path, void *&p_library_handle, bool p_also_set_library_path) { + + + DLL_DIRECTORY_COOKIE cookie; + + if (p_also_set_library_path) { + cookie = AddDllDirectory(p_path.get_base_dir().c_str()); + } + + p_library_handle = (void *)LoadLibraryExW(p_path.c_str(), NULL, p_also_set_library_path ? LOAD_LIBRARY_SEARCH_DEFAULT_DIRS : 0); + + if (p_also_set_library_path) { + RemoveDllDirectory(cookie); + } + if (!p_library_handle) { ERR_EXPLAIN("Can't open dynamic library: " + p_path + ". Error: " + String::num(GetLastError())); ERR_FAIL_V(ERR_CANT_OPEN); @@ -1954,7 +1967,7 @@ void OS_Windows::set_icon(const Ref<Image> &p_icon) { bool OS_Windows::has_environment(const String &p_var) const { - return getenv(p_var.utf8().get_data()) != NULL; + return _wgetenv(p_var.c_str()) != NULL; }; String OS_Windows::get_environment(const String &p_var) const { diff --git a/platform/windows/os_windows.h b/platform/windows/os_windows.h index 4367297262..e98f8277df 100644 --- a/platform/windows/os_windows.h +++ b/platform/windows/os_windows.h @@ -212,7 +212,7 @@ public: virtual void set_borderless_window(int p_borderless); virtual bool get_borderless_window(); - virtual Error open_dynamic_library(const String p_path, void *&p_library_handle); + virtual Error open_dynamic_library(const String p_path, void *&p_library_handle,bool p_also_set_library_path=false); virtual Error close_dynamic_library(void *p_library_handle); virtual Error get_dynamic_library_symbol_handle(void *p_library_handle, const String p_name, void *&p_symbol_handle, bool p_optional = false); diff --git a/platform/x11/SCsub b/platform/x11/SCsub index aabc49149f..6378553638 100644 --- a/platform/x11/SCsub +++ b/platform/x11/SCsub @@ -17,6 +17,7 @@ common_x11 = [ "power_x11.cpp", ] -binary = env.Program('#bin/godot', ['godot_x11.cpp'] + common_x11) +prog = env.add_program('#bin/godot', ['godot_x11.cpp'] + common_x11) + if env["debug_symbols"] == "full" or env["debug_symbols"] == "yes": - env.AddPostAction(binary, make_debug) + env.AddPostAction(prog, make_debug) |