diff options
Diffstat (limited to 'platform')
| -rw-r--r-- | platform/android/godot_android.cpp | 4 | ||||
| -rw-r--r-- | platform/android/java/src/org/godotengine/godot/Godot.java | 4 | ||||
| -rw-r--r-- | platform/android/java_glue.cpp | 4 | ||||
| -rw-r--r-- | platform/android/thread_jandroid.cpp | 3 | ||||
| -rw-r--r-- | platform/haiku/context_gl_haiku.cpp | 12 | ||||
| -rw-r--r-- | platform/haiku/context_gl_haiku.h | 5 | ||||
| -rw-r--r-- | platform/haiku/detect.py | 6 | ||||
| -rw-r--r-- | platform/windows/joystick.cpp | 2 | ||||
| -rw-r--r-- | platform/windows/os_windows.cpp | 8 | ||||
| -rw-r--r-- | platform/winrt/thread_winrt.cpp | 2 | ||||
| -rw-r--r-- | platform/x11/detect.py | 4 |
11 files changed, 40 insertions, 14 deletions
diff --git a/platform/android/godot_android.cpp b/platform/android/godot_android.cpp index edb051575f..9f909d7041 100644 --- a/platform/android/godot_android.cpp +++ b/platform/android/godot_android.cpp @@ -910,7 +910,7 @@ static Variant::Type get_jni_type(const String& p_type) { {"java.lang.String",Variant::STRING}, {"[I",Variant::INT_ARRAY}, {"[F",Variant::REAL_ARRAY}, - {"[java.lang.String",Variant::STRING_ARRAY}, + {"[Ljava.lang.String;",Variant::STRING_ARRAY}, {NULL,Variant::NIL} }; @@ -941,7 +941,7 @@ static const char* get_jni_sig(const String& p_type) { {"java.lang.String","Ljava/lang/String;"}, {"[I","[I"}, {"[F","[F"}, - {"[java.lang.String","[Ljava/lang/String;"}, + {"[Ljava.lang.String;","[Ljava/lang/String;"}, {NULL,"V"} }; diff --git a/platform/android/java/src/org/godotengine/godot/Godot.java b/platform/android/java/src/org/godotengine/godot/Godot.java index cdf17e3161..4c0f4878f5 100644 --- a/platform/android/java/src/org/godotengine/godot/Godot.java +++ b/platform/android/java/src/org/godotengine/godot/Godot.java @@ -602,8 +602,8 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC } mView.onResume(); - mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL); - mSensorManager.registerListener(this, mMagnetometer, SensorManager.SENSOR_DELAY_NORMAL); + mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_GAME); + mSensorManager.registerListener(this, mMagnetometer, SensorManager.SENSOR_DELAY_GAME); GodotLib.focusin(); if(use_immersive && Build.VERSION.SDK_INT >= 19.0){ // check if the application runs on an android 4.4+ Window window = getWindow(); diff --git a/platform/android/java_glue.cpp b/platform/android/java_glue.cpp index 1ea7cd7ebb..5fd2ab8910 100644 --- a/platform/android/java_glue.cpp +++ b/platform/android/java_glue.cpp @@ -1563,7 +1563,7 @@ static Variant::Type get_jni_type(const String& p_type) { {"[I",Variant::INT_ARRAY}, {"[B",Variant::RAW_ARRAY}, {"[F",Variant::REAL_ARRAY}, - {"[java.lang.String",Variant::STRING_ARRAY}, + {"[Ljava.lang.String;",Variant::STRING_ARRAY}, {"org.godotengine.godot.Dictionary", Variant::DICTIONARY}, {NULL,Variant::NIL} }; @@ -1599,7 +1599,7 @@ static const char* get_jni_sig(const String& p_type) { {"[I","[I"}, {"[B","[B"}, {"[F","[F"}, - {"[java.lang.String","[Ljava/lang/String;"}, + {"[Ljava.lang.String;","[Ljava/lang/String;"}, {NULL,"V"} }; diff --git a/platform/android/thread_jandroid.cpp b/platform/android/thread_jandroid.cpp index 1425e23c73..61ee237586 100644 --- a/platform/android/thread_jandroid.cpp +++ b/platform/android/thread_jandroid.cpp @@ -29,6 +29,7 @@ #include "thread_jandroid.h" #include "os/memory.h" +#include "script_language.h" Thread::ID ThreadAndroid::get_ID() const { @@ -44,8 +45,10 @@ void *ThreadAndroid::thread_callback(void *userdata) { ThreadAndroid *t=reinterpret_cast<ThreadAndroid*>(userdata); setup_thread(); + ScriptServer::thread_enter(); //scripts may need to attach a stack t->id=(ID)pthread_self(); t->callback(t->user); + ScriptServer::thread_exit(); return NULL; } diff --git a/platform/haiku/context_gl_haiku.cpp b/platform/haiku/context_gl_haiku.cpp index 2fedd1532a..bf890d14bf 100644 --- a/platform/haiku/context_gl_haiku.cpp +++ b/platform/haiku/context_gl_haiku.cpp @@ -35,6 +35,8 @@ ContextGL_Haiku::ContextGL_Haiku(HaikuDirectWindow* p_window) { uint32 type = BGL_RGB | BGL_DOUBLE | BGL_DEPTH; view = new HaikuGLView(window->Bounds(), type); + + use_vsync = false; } ContextGL_Haiku::~ContextGL_Haiku() { @@ -57,7 +59,7 @@ void ContextGL_Haiku::make_current() { } void ContextGL_Haiku::swap_buffers() { - view->SwapBuffers(); + view->SwapBuffers(use_vsync); } int ContextGL_Haiku::get_window_width() { @@ -68,4 +70,12 @@ int ContextGL_Haiku::get_window_height() { return window->Bounds().IntegerHeight(); } +void ContextGL_Haiku::set_use_vsync(bool p_use) { + use_vsync = p_use; +} + +bool ContextGL_Haiku::is_using_vsync() const { + return use_vsync; +} + #endif diff --git a/platform/haiku/context_gl_haiku.h b/platform/haiku/context_gl_haiku.h index 91aae6b382..c7f80543aa 100644 --- a/platform/haiku/context_gl_haiku.h +++ b/platform/haiku/context_gl_haiku.h @@ -40,6 +40,8 @@ class ContextGL_Haiku : public ContextGL { private: HaikuGLView* view; HaikuDirectWindow* window; + + bool use_vsync; public: ContextGL_Haiku(HaikuDirectWindow* p_window); @@ -51,6 +53,9 @@ public: virtual void swap_buffers(); virtual int get_window_width(); virtual int get_window_height(); + + virtual void set_use_vsync(bool p_use); + virtual bool is_using_vsync() const; }; #endif diff --git a/platform/haiku/detect.py b/platform/haiku/detect.py index 6d1a96a8da..f36b0c567e 100644 --- a/platform/haiku/detect.py +++ b/platform/haiku/detect.py @@ -24,7 +24,7 @@ def get_opts(): def get_flags(): return [ ('builtin_zlib', 'no'), - #('glew', 'yes'), # TODO: investigate the GLEW situation on Haiku + ('glew', 'yes'), ] def configure(env): @@ -38,8 +38,8 @@ def configure(env): env.Append(CPPPATH = ['#platform/haiku']) - env["CC"] = "gcc" - env["CXX"] = "g++" + env["CC"] = "gcc-x86" + env["CXX"] = "g++-x86" if (env["target"]=="release"): if (env["debug_release"]=="yes"): diff --git a/platform/windows/joystick.cpp b/platform/windows/joystick.cpp index 663bbe3b9b..e69bfe6a52 100644 --- a/platform/windows/joystick.cpp +++ b/platform/windows/joystick.cpp @@ -283,7 +283,7 @@ void joystick_windows::close_joystick(int id) { d_joysticks[id].attached = false; attached_joysticks[d_joysticks[id].id] = false; d_joysticks[id].guid.Data1 = d_joysticks[id].guid.Data2 = d_joysticks[id].guid.Data3 = 0; - input->joy_connection_changed(id, false, ""); + input->joy_connection_changed(d_joysticks[id].id, false, ""); joystick_count--; } diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index 630d5715e9..9421e0d48e 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -604,8 +604,12 @@ LRESULT OS_Windows::WndProc(HWND hWnd,UINT uMsg, WPARAM wParam, LPARAM lParam) { } break; case WM_SIZE: { - video_mode.width=LOWORD(lParam); - video_mode.height=HIWORD(lParam); + int window_w = LOWORD(lParam); + int window_h = HIWORD(lParam); + if (window_w > 0 && window_h > 0) { + video_mode.width = window_w; + video_mode.height = window_h; + } //return 0; // Jump Back } break; case WM_SYSKEYDOWN: diff --git a/platform/winrt/thread_winrt.cpp b/platform/winrt/thread_winrt.cpp index 097050e511..e7028bd9dc 100644 --- a/platform/winrt/thread_winrt.cpp +++ b/platform/winrt/thread_winrt.cpp @@ -33,6 +33,8 @@ Thread* ThreadWinrt::create_func_winrt(ThreadCreateCallback p_callback,void *p_user,const Settings&) { ThreadWinrt* thread = memnew(ThreadWinrt); + + std::thread new_thread(p_callback, p_user); std::swap(thread->thread, new_thread); diff --git a/platform/x11/detect.py b/platform/x11/detect.py index 5f272536ba..54940866b2 100644 --- a/platform/x11/detect.py +++ b/platform/x11/detect.py @@ -209,5 +209,7 @@ def configure(env): if (env["use_static_cpp"]=="yes"): env.Append(LINKFLAGS=['-static-libstdc++']) - env["x86_opt_gcc"]=True + list_of_x86 = ['x86_64', 'x86', 'i386', 'i586'] + if any(platform.machine() in s for s in list_of_x86): + env["x86_opt_gcc"]=True |