Beispiel #1
0
String OS_Android::get_data_dir() const {

	if (get_data_dir_func)
		return get_data_dir_func();
	return ".";
	//return Globals::get_singleton()->get_singleton_object("GodotOS")->call("get_data_dir");
};
Beispiel #2
0
String OS_Android::get_data_dir() const {

	if (data_dir_cache!=String())
		return data_dir_cache;

	if (get_data_dir_func) {
		String data_dir=get_data_dir_func();

		//store current dir
		char real_current_dir_name[2048];
		getcwd(real_current_dir_name,2048);

		//go to data dir
		chdir(data_dir.utf8().get_data());

		//get actual data dir, so we resolve potential symlink (Android 6.0+ seems to use symlink)
		char data_current_dir_name[2048];
		getcwd(data_current_dir_name,2048);

		//cache by parsing utf8
		data_dir_cache.parse_utf8(data_current_dir_name);

		//restore original dir so we don't mess things up
		chdir(real_current_dir_name);

		return data_dir_cache;
	}


	return ".";
	//return Globals::get_singleton()->get_singleton_object("GodotOS")->call("get_data_dir");
};