diff options
Diffstat (limited to 'drivers/unix')
| -rw-r--r-- | drivers/unix/SCsub | 10 | ||||
| -rw-r--r-- | drivers/unix/ip_unix.cpp | 5 | ||||
| -rw-r--r-- | drivers/unix/os_unix.cpp | 50 | ||||
| -rw-r--r-- | drivers/unix/os_unix.h | 12 | ||||
| -rw-r--r-- | drivers/unix/rw_lock_posix.cpp | 2 | ||||
| -rw-r--r-- | drivers/unix/stream_peer_tcp_posix.cpp | 4 | 
6 files changed, 28 insertions, 55 deletions
diff --git a/drivers/unix/SCsub b/drivers/unix/SCsub index c560e1289f..ada8255580 100644 --- a/drivers/unix/SCsub +++ b/drivers/unix/SCsub @@ -2,16 +2,6 @@  Import('env') -g_set_p = '#ifdef UNIX_ENABLED\n' -g_set_p += '#include "os_unix.h"\n' -g_set_p += 'String OS_Unix::get_global_settings_path() const {\n' -g_set_p += '\treturn "' + env["unix_global_settings_path"] + '";\n' -g_set_p += '}\n' -g_set_p += '#endif' -f = open("os_unix_global_settings_path.gen.cpp", "w") -f.write(g_set_p) -f.close() -  env.add_source_files(env.drivers_sources, "*.cpp")  env["check_c_headers"] = [ [ "mntent.h", "HAVE_MNTENT" ] ] diff --git a/drivers/unix/ip_unix.cpp b/drivers/unix/ip_unix.cpp index 77c942c673..6254466efc 100644 --- a/drivers/unix/ip_unix.cpp +++ b/drivers/unix/ip_unix.cpp @@ -149,10 +149,7 @@ void IP_Unix::get_local_addresses(List<IP_Address> *r_addresses) const {  	while (true) {  		addrs = (IP_ADAPTER_ADDRESSES *)memalloc(buf_size); -		int err = GetAdaptersAddresses(AF_UNSPEC, GAA_FLAG_SKIP_ANYCAST | -														  GAA_FLAG_SKIP_MULTICAST | -														  GAA_FLAG_SKIP_DNS_SERVER | -														  GAA_FLAG_SKIP_FRIENDLY_NAME, +		int err = GetAdaptersAddresses(AF_UNSPEC, GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_MULTICAST | GAA_FLAG_SKIP_DNS_SERVER | GAA_FLAG_SKIP_FRIENDLY_NAME,  				NULL, addrs, &buf_size);  		if (err == NO_ERROR) {  			break; diff --git a/drivers/unix/os_unix.cpp b/drivers/unix/os_unix.cpp index 729abd57ef..5a06a58b80 100644 --- a/drivers/unix/os_unix.cpp +++ b/drivers/unix/os_unix.cpp @@ -133,15 +133,6 @@ void OS_Unix::initialize_core() {  	}  } -void OS_Unix::initialize_logger() { -	Vector<Logger *> loggers; -	loggers.push_back(memnew(UnixTerminalLogger)); -	// FIXME: Reenable once we figure out how to get this properly in user:// -	// instead of littering the user's working dirs (res:// + pwd) with log files (GH-12277) -	//loggers.push_back(memnew(RotatedFileLogger("user://logs/log.txt"))); -	_set_logger(memnew(CompositeLogger(loggers))); -} -  void OS_Unix::finalize_core() {  } @@ -400,7 +391,7 @@ String OS_Unix::get_locale() const {  	return locale;  } -Error OS_Unix::open_dynamic_library(const String p_path, void *&p_library_handle) { +Error OS_Unix::open_dynamic_library(const String p_path, void *&p_library_handle, bool p_also_set_library_path) {  	p_library_handle = dlopen(p_path.utf8().get_data(), RTLD_NOW);  	if (!p_library_handle) {  		ERR_EXPLAIN("Can't open dynamic library: " + p_path + ". Error: " + dlerror()); @@ -454,32 +445,25 @@ int OS_Unix::get_processor_count() const {  	return sysconf(_SC_NPROCESSORS_CONF);  } -String OS_Unix::get_data_dir() const { - -	String an = get_safe_application_name(); -	if (an != "") { - -		if (has_environment("HOME")) { - -			bool use_godot = ProjectSettings::get_singleton()->get("application/config/use_shared_user_dir"); -			if (use_godot) -				return get_environment("HOME") + "/.godot/app_userdata/" + an; -			else -				return get_environment("HOME") + "/." + an; +String OS_Unix::get_user_data_dir() const { + +	String appname = get_safe_dir_name(ProjectSettings::get_singleton()->get("application/config/name")); +	if (appname != "") { +		bool use_custom_dir = ProjectSettings::get_singleton()->get("application/config/use_custom_user_dir"); +		if (use_custom_dir) { +			String custom_dir = get_safe_dir_name(ProjectSettings::get_singleton()->get("application/config/custom_user_dir_name"), true); +			if (custom_dir == "") { +				custom_dir = appname; +			} +			return get_data_path().plus_file(custom_dir); +		} else { +			return get_data_path().plus_file(get_godot_dir_name()).plus_file("app_userdata").plus_file(appname);  		}  	}  	return ProjectSettings::get_singleton()->get_resource_path();  } -String OS_Unix::get_installed_templates_path() const { -	String p = get_global_settings_path(); -	if (p != "") -		return p + "/templates/"; -	else -		return ""; -} -  String OS_Unix::get_executable_path() const {  #ifdef __linux__ @@ -554,4 +538,10 @@ void UnixTerminalLogger::log_error(const char *p_function, const char *p_file, i  UnixTerminalLogger::~UnixTerminalLogger() {} +OS_Unix::OS_Unix() { +	Vector<Logger *> loggers; +	loggers.push_back(memnew(UnixTerminalLogger)); +	_set_logger(memnew(CompositeLogger(loggers))); +} +  #endif diff --git a/drivers/unix/os_unix.h b/drivers/unix/os_unix.h index 82c7dee3b9..1a4c73ce4c 100644 --- a/drivers/unix/os_unix.h +++ b/drivers/unix/os_unix.h @@ -53,7 +53,6 @@ protected:  	virtual int get_audio_driver_count() const;  	virtual const char *get_audio_driver_name(int p_driver) const; -	virtual void initialize_logger();  	virtual void initialize_core();  	virtual int unix_initialize_audio(int p_audio_driver);  	//virtual void initialize(int p_video_driver,int p_audio_driver); @@ -62,9 +61,9 @@ protected:  	String stdin_buf; -	String get_global_settings_path() const; -  public: +	OS_Unix(); +  	virtual void alert(const String &p_alert, const String &p_title = "ALERT!");  	virtual String get_stdin_string(bool p_block); @@ -78,7 +77,7 @@ public:  	//virtual VideoMode get_video_mode() const;  	//virtual void get_fullscreen_mode_list(List<VideoMode> *p_list) const; -	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); @@ -108,11 +107,8 @@ public:  	virtual void debug_break(); -	virtual String get_installed_templates_path() const;  	virtual String get_executable_path() const; -	virtual String get_data_dir() const; - -	//virtual void run( MainLoop * p_main_loop ); +	virtual String get_user_data_dir() const;  };  class UnixTerminalLogger : public StdLogger { diff --git a/drivers/unix/rw_lock_posix.cpp b/drivers/unix/rw_lock_posix.cpp index ab2d6495bd..00125809c0 100644 --- a/drivers/unix/rw_lock_posix.cpp +++ b/drivers/unix/rw_lock_posix.cpp @@ -39,7 +39,7 @@ void RWLockPosix::read_lock() {  	int err = pthread_rwlock_rdlock(&rwlock);  	if (err != 0) { -		perror("wtf: "); +		perror("Acquiring lock failed");  	}  	ERR_FAIL_COND(err != 0);  } diff --git a/drivers/unix/stream_peer_tcp_posix.cpp b/drivers/unix/stream_peer_tcp_posix.cpp index 3bc2397e6f..e88a7d7de1 100644 --- a/drivers/unix/stream_peer_tcp_posix.cpp +++ b/drivers/unix/stream_peer_tcp_posix.cpp @@ -213,7 +213,7 @@ Error StreamPeerTCPPosix::write(const uint8_t *p_data, int p_bytes, int &r_sent,  			if (errno != EAGAIN) { -				perror("shit?"); +				perror("Nothing sent");  				disconnect_from_host();  				ERR_PRINT("Server disconnected!\n");  				return FAILED; @@ -270,7 +270,7 @@ Error StreamPeerTCPPosix::read(uint8_t *p_buffer, int p_bytes, int &r_received,  			if (errno != EAGAIN) { -				perror("shit?"); +				perror("Nothing read");  				disconnect_from_host();  				ERR_PRINT("Server disconnected!\n");  				return FAILED;  |