diff options
| -rw-r--r-- | core/bind/core_bind.cpp | 21 | ||||
| -rw-r--r-- | core/bind/core_bind.h | 6 | ||||
| -rw-r--r-- | core/os/os.cpp | 29 | ||||
| -rw-r--r-- | core/os/os.h | 17 | ||||
| -rw-r--r-- | drivers/unix/os_unix.cpp | 9 | ||||
| -rw-r--r-- | drivers/unix/os_unix.h | 6 | ||||
| -rw-r--r-- | platform/android/os_android.cpp | 4 | ||||
| -rw-r--r-- | platform/iphone/os_iphone.cpp | 3 | ||||
| -rw-r--r-- | platform/javascript/os_javascript.cpp | 3 | ||||
| -rw-r--r-- | platform/osx/os_osx.h | 8 | ||||
| -rw-r--r-- | platform/osx/os_osx.mm | 20 | ||||
| -rw-r--r-- | platform/windows/os_windows.cpp | 20 | ||||
| -rw-r--r-- | platform/windows/os_windows.h | 6 | ||||
| -rw-r--r-- | platform/x11/os_x11.cpp | 28 | ||||
| -rw-r--r-- | platform/x11/os_x11.h | 11 | ||||
| -rw-r--r-- | scene/2d/sprite.cpp | 4 | 
16 files changed, 77 insertions, 118 deletions
diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp index b57b24ee7d..a81301e8ea 100644 --- a/core/bind/core_bind.cpp +++ b/core/bind/core_bind.cpp @@ -205,6 +205,22 @@ String _OS::get_clipboard() const {  	return OS::get_singleton()->get_clipboard();  } +int _OS::get_video_driver_count() const { +	return OS::get_singleton()->get_video_driver_count(); +} + +String _OS::get_video_driver_name(int p_driver) const { +	return OS::get_singleton()->get_video_driver_name(p_driver); +} + +int _OS::get_audio_driver_count() const { +	return OS::get_singleton()->get_audio_driver_count(); +} + +String _OS::get_audio_driver_name(int p_driver) const { +	return OS::get_singleton()->get_audio_driver_name(p_driver); +} +  void _OS::set_video_mode(const Size2 &p_size, bool p_fullscreen, bool p_resizeable, int p_screen) {  	OS::VideoMode vm; @@ -1015,6 +1031,11 @@ void _OS::_bind_methods() {  	//ClassDB::bind_method(D_METHOD("is_video_mode_resizable","screen"),&_OS::is_video_mode_resizable,DEFVAL(0));  	//ClassDB::bind_method(D_METHOD("get_fullscreen_mode_list","screen"),&_OS::get_fullscreen_mode_list,DEFVAL(0)); +	ClassDB::bind_method(D_METHOD("get_video_driver_count"), &_OS::get_video_driver_count); +	ClassDB::bind_method(D_METHOD("get_video_driver_name"), &_OS::get_video_driver_name); +	ClassDB::bind_method(D_METHOD("get_audio_driver_count"), &_OS::get_audio_driver_count); +	ClassDB::bind_method(D_METHOD("get_audio_driver_name"), &_OS::get_audio_driver_name); +  	ClassDB::bind_method(D_METHOD("get_screen_count"), &_OS::get_screen_count);  	ClassDB::bind_method(D_METHOD("get_current_screen"), &_OS::get_current_screen);  	ClassDB::bind_method(D_METHOD("set_current_screen", "screen"), &_OS::set_current_screen); diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h index 734b57937a..8ce7b4f7fe 100644 --- a/core/bind/core_bind.h +++ b/core/bind/core_bind.h @@ -146,6 +146,12 @@ public:  	bool is_video_mode_resizable(int p_screen = 0) const;  	Array get_fullscreen_mode_list(int p_screen = 0) const; +	virtual int get_video_driver_count() const; +	virtual String get_video_driver_name(int p_driver) const; + +	virtual int get_audio_driver_count() const; +	virtual String get_audio_driver_name(int p_driver) const; +  	virtual int get_screen_count() const;  	virtual int get_current_screen() const;  	virtual void set_current_screen(int p_screen); diff --git a/core/os/os.cpp b/core/os/os.cpp index 422acf95dc..618a4bbac3 100644 --- a/core/os/os.cpp +++ b/core/os/os.cpp @@ -34,6 +34,7 @@  #include "input.h"  #include "os/file_access.h"  #include "project_settings.h" +#include "servers/audio_server.h"  #include "version_generated.gen.h"  #include <stdarg.h> @@ -627,6 +628,34 @@ void OS::center_window() {  	set_window_position(Vector2(x, y));  } +int OS::get_video_driver_count() const { + +	return 2; +} + +const char *OS::get_video_driver_name(int p_driver) const { + +	switch (p_driver) { +		case VIDEO_DRIVER_GLES2: +			return "GLES2"; +		case VIDEO_DRIVER_GLES3: +		default: +			return "GLES3"; +	} +} + +int OS::get_audio_driver_count() const { + +	return AudioDriverManager::get_driver_count(); +} + +const char *OS::get_audio_driver_name(int p_driver) const { + +	AudioDriver *driver = AudioDriverManager::get_driver(p_driver); +	ERR_FAIL_COND_V(!driver, ""); +	return AudioDriverManager::get_driver(p_driver)->get_name(); +} +  OS::OS() {  	void *volatile stack_bottom; diff --git a/core/os/os.h b/core/os/os.h index 38e55fa3b7..f8033c2546 100644 --- a/core/os/os.h +++ b/core/os/os.h @@ -44,6 +44,11 @@  	@author Juan Linietsky <reduzio@gmail.com>  */ +enum VideoDriver { +	VIDEO_DRIVER_GLES3, +	VIDEO_DRIVER_GLES2 +}; +  class OS {  	static OS *singleton; @@ -115,12 +120,6 @@ protected:  	RenderThreadMode _render_thread_mode;  	// functions used by main to initialize/deintialize the OS -	virtual int get_video_driver_count() const = 0; -	virtual const char *get_video_driver_name(int p_driver) const = 0; - -	virtual int get_audio_driver_count() const = 0; -	virtual const char *get_audio_driver_name(int p_driver) const = 0; -  	void add_logger(Logger *p_logger);  	virtual void initialize_core() = 0; @@ -175,6 +174,12 @@ public:  	virtual VideoMode get_video_mode(int p_screen = 0) const = 0;  	virtual void get_fullscreen_mode_list(List<VideoMode> *p_list, int p_screen = 0) const = 0; +	virtual int get_video_driver_count() const; +	virtual const char *get_video_driver_name(int p_driver) const; + +	virtual int get_audio_driver_count() const; +	virtual const char *get_audio_driver_name(int p_driver) const; +  	virtual int get_screen_count() const { return 1; }  	virtual int get_current_screen() const { return 0; }  	virtual void set_current_screen(int p_screen) {} diff --git a/drivers/unix/os_unix.cpp b/drivers/unix/os_unix.cpp index aa01f22673..20722557e7 100644 --- a/drivers/unix/os_unix.cpp +++ b/drivers/unix/os_unix.cpp @@ -73,15 +73,6 @@ void OS_Unix::debug_break() {  	assert(false);  }; -int OS_Unix::get_audio_driver_count() const { - -	return 1; -} -const char *OS_Unix::get_audio_driver_name(int p_driver) const { - -	return "dummy"; -} -  int OS_Unix::unix_initialize_audio(int p_audio_driver) {  	return 0; diff --git a/drivers/unix/os_unix.h b/drivers/unix/os_unix.h index a7c9015330..db0fe1e00b 100644 --- a/drivers/unix/os_unix.h +++ b/drivers/unix/os_unix.h @@ -48,12 +48,6 @@ protected:  	// UNIX only handles the core functions.  	// inheriting platforms under unix (eg. X11) should handle the rest -	//virtual int get_video_driver_count() const; -	//virtual const char * get_video_driver_name(int p_driver) const; - -	virtual int get_audio_driver_count() const; -	virtual const char *get_audio_driver_name(int p_driver) const; -  	virtual void initialize_core();  	virtual int unix_initialize_audio(int p_audio_driver);  	//virtual Error initialize(int p_video_driver,int p_audio_driver); diff --git a/platform/android/os_android.cpp b/platform/android/os_android.cpp index 67ce796279..5557c1de44 100644 --- a/platform/android/os_android.cpp +++ b/platform/android/os_android.cpp @@ -130,8 +130,6 @@ Error OS_Android::initialize(const VideoMode &p_desired, int p_video_driver, int  	if (gfx_init_func)  		gfx_init_func(gfx_init_ud, use_gl2); -	AudioDriverManager::add_driver(&audio_driver_android); -  	RasterizerGLES3::register_config();  	RasterizerGLES3::make_current(); @@ -775,6 +773,8 @@ OS_Android::OS_Android(GFXInitFunc p_gfx_init_func, void *p_gfx_init_ud, OpenURI  	Vector<Logger *> loggers;  	loggers.push_back(memnew(AndroidLogger));  	_set_logger(memnew(CompositeLogger(loggers))); + +	AudioDriverManager::add_driver(&audio_driver_android);  }  OS_Android::~OS_Android() { diff --git a/platform/iphone/os_iphone.cpp b/platform/iphone/os_iphone.cpp index c284ab6905..c4c59431f2 100644 --- a/platform/iphone/os_iphone.cpp +++ b/platform/iphone/os_iphone.cpp @@ -123,7 +123,6 @@ Error OSIPhone::initialize(const VideoMode &p_desired, int p_video_driver, int p  	// reset this to what it should be, it will have been set to 0 after visual_server->init() is called  	RasterizerStorageGLES3::system_fbo = gl_view_base_fb; -	AudioDriverManager::add_driver(&audio_driver);  	AudioDriverManager::initialize(p_audio_driver);  	input = memnew(InputDefault); @@ -632,6 +631,8 @@ OSIPhone::OSIPhone(int width, int height, String p_data_dir) {  	loggers.push_back(memnew(StdLogger));  #endif  	_set_logger(memnew(CompositeLogger(loggers))); + +	AudioDriverManager::add_driver(&audio_driver);  };  OSIPhone::~OSIPhone() { diff --git a/platform/javascript/os_javascript.cpp b/platform/javascript/os_javascript.cpp index e226ab6332..5ae232d8f3 100644 --- a/platform/javascript/os_javascript.cpp +++ b/platform/javascript/os_javascript.cpp @@ -447,7 +447,6 @@ Error OS_JavaScript::initialize(const VideoMode &p_desired, int p_video_driver,  	print_line("Init Audio"); -	AudioDriverManager::add_driver(&audio_driver_javascript);  	AudioDriverManager::initialize(p_audio_driver);  	RasterizerGLES3::register_config(); @@ -1012,6 +1011,8 @@ OS_JavaScript::OS_JavaScript(const char *p_execpath, GetUserDataDirFunc p_get_us  	Vector<Logger *> loggers;  	loggers.push_back(memnew(StdLogger));  	_set_logger(memnew(CompositeLogger(loggers))); + +	AudioDriverManager::add_driver(&audio_driver_javascript);  }  OS_JavaScript::~OS_JavaScript() { diff --git a/platform/osx/os_osx.h b/platform/osx/os_osx.h index 04463a81f0..486d7af1c1 100644 --- a/platform/osx/os_osx.h +++ b/platform/osx/os_osx.h @@ -50,11 +50,6 @@  	@author Juan Linietsky <reduzio@gmail.com>  */ -enum VideoDriver { -	VIDEO_DRIVER_GLES3, -	VIDEO_DRIVER_GLES2 -}; -  class OS_OSX : public OS_Unix {  public:  	struct KeyEvent { @@ -139,9 +134,6 @@ public:  	void _update_window();  protected: -	virtual int get_video_driver_count() const; -	virtual const char *get_video_driver_name(int p_driver) const; -  	virtual void initialize_core();  	virtual Error initialize(const VideoMode &p_desired, int p_video_driver, int p_audio_driver);  	virtual void finalize(); diff --git a/platform/osx/os_osx.mm b/platform/osx/os_osx.mm index f530da8b71..a811ff585d 100644 --- a/platform/osx/os_osx.mm +++ b/platform/osx/os_osx.mm @@ -1026,22 +1026,6 @@ void OS_OSX::set_ime_position(const Point2 &p_pos) {  	im_position = p_pos;  } -int OS_OSX::get_video_driver_count() const { - -	return 2; -} - -const char *OS_OSX::get_video_driver_name(int p_driver) const { - -	switch (p_driver) { -		case VIDEO_DRIVER_GLES2: -			return "GLES2"; -		case VIDEO_DRIVER_GLES3: -		default: -			return "GLES3"; -	} -} -  void OS_OSX::initialize_core() {  	crash_handler.initialize(); @@ -1215,8 +1199,6 @@ Error OS_OSX::initialize(const VideoMode &p_desired, int p_video_driver, int p_a  	/*** END OSX INITIALIZATION ***/ -	AudioDriverManager::add_driver(&audio_driver); -  	// only opengl support here...  	if (p_video_driver == VIDEO_DRIVER_GLES2) {  		RasterizerGLES2::register_config(); @@ -2445,6 +2427,8 @@ OS_OSX::OS_OSX() {  		[NSApp sendEvent:event];  	} + +	AudioDriverManager::add_driver(&audio_driver);  }  bool OS_OSX::_check_internal_feature_support(const String &p_feature) { diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index 8df4306729..910010187d 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -151,26 +151,6 @@ void RedirectIOToConsole() {  	// point to console as well  } -int OS_Windows::get_video_driver_count() const { - -	return 1; -} -const char *OS_Windows::get_video_driver_name(int p_driver) const { - -	return "GLES3"; -} - -int OS_Windows::get_audio_driver_count() const { - -	return AudioDriverManager::get_driver_count(); -} -const char *OS_Windows::get_audio_driver_name(int p_driver) const { - -	AudioDriver *driver = AudioDriverManager::get_driver(p_driver); -	ERR_FAIL_COND_V(!driver, ""); -	return AudioDriverManager::get_driver(p_driver)->get_name(); -} -  void OS_Windows::initialize_core() {  	crash_handler.initialize(); diff --git a/platform/windows/os_windows.h b/platform/windows/os_windows.h index 4c4fbcf8f0..3d13627bfa 100644 --- a/platform/windows/os_windows.h +++ b/platform/windows/os_windows.h @@ -142,12 +142,6 @@ class OS_Windows : public OS {  	// functions used by main to initialize/deintialize the OS  protected: -	virtual int get_video_driver_count() const; -	virtual const char *get_video_driver_name(int p_driver) const; - -	virtual int get_audio_driver_count() const; -	virtual const char *get_audio_driver_name(int p_driver) const; -  	virtual void initialize_core();  	virtual Error initialize(const VideoMode &p_desired, int p_video_driver, int p_audio_driver); diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp index 0cdd0f338b..c06c7516d0 100644 --- a/platform/x11/os_x11.cpp +++ b/platform/x11/os_x11.cpp @@ -77,34 +77,6 @@  #include <X11/XKBlib.h> -int OS_X11::get_video_driver_count() const { - -	return 2; -} - -const char *OS_X11::get_video_driver_name(int p_driver) const { - -	switch (p_driver) { -		case VIDEO_DRIVER_GLES2: -			return "GLES2"; -		case VIDEO_DRIVER_GLES3: -		default: -			return "GLES3"; -	} -} - -int OS_X11::get_audio_driver_count() const { - -	return AudioDriverManager::get_driver_count(); -} - -const char *OS_X11::get_audio_driver_name(int p_driver) const { - -	AudioDriver *driver = AudioDriverManager::get_driver(p_driver); -	ERR_FAIL_COND_V(!driver, ""); -	return AudioDriverManager::get_driver(p_driver)->get_name(); -} -  void OS_X11::initialize_core() {  	crash_handler.initialize(); diff --git a/platform/x11/os_x11.h b/platform/x11/os_x11.h index 9aa742b0a7..610dba0716 100644 --- a/platform/x11/os_x11.h +++ b/platform/x11/os_x11.h @@ -53,11 +53,6 @@  #include <X11/extensions/XInput2.h>  #endif -enum VideoDriver { -	VIDEO_DRIVER_GLES3, -	VIDEO_DRIVER_GLES2 -}; -  // Hints for X11 fullscreen  typedef struct {  	unsigned long flags; @@ -193,12 +188,6 @@ class OS_X11 : public OS_Unix {  	Bool xrandr_ext_ok;  protected: -	virtual int get_video_driver_count() const; -	virtual const char *get_video_driver_name(int p_driver) const; - -	virtual int get_audio_driver_count() const; -	virtual const char *get_audio_driver_name(int p_driver) const; -  	virtual void initialize_core();  	virtual Error initialize(const VideoMode &p_desired, int p_video_driver, int p_audio_driver);  	virtual void finalize(); diff --git a/scene/2d/sprite.cpp b/scene/2d/sprite.cpp index 796969be1e..0dd02a982c 100644 --- a/scene/2d/sprite.cpp +++ b/scene/2d/sprite.cpp @@ -73,8 +73,8 @@ void Sprite::_get_rects(Rect2 &r_src_rect, Rect2 &r_dst_rect, bool &r_filter_cli  		s = s / Size2(hframes, vframes);  		r_src_rect.size = s; -		r_src_rect.position.x += float(frame % hframes) * s.x; -		r_src_rect.position.y += float(frame / hframes) * s.y; +		r_src_rect.position.x = float(frame % hframes) * s.x; +		r_src_rect.position.y = float(frame / hframes) * s.y;  	}  	Point2 ofs = offset;  |