diff options
Diffstat (limited to 'platform')
| -rw-r--r-- | platform/android/godot_android.cpp | 2 | ||||
| -rw-r--r-- | platform/haiku/audio_driver_media_kit.cpp | 2 | ||||
| -rw-r--r-- | platform/iphone/os_iphone.cpp | 2 | ||||
| -rw-r--r-- | platform/iphone/rasterizer_iphone.cpp | 2 | ||||
| -rw-r--r-- | platform/javascript/SCsub | 2 | ||||
| -rw-r--r-- | platform/javascript/audio_server_javascript.cpp | 3 | ||||
| -rw-r--r-- | platform/javascript/audio_server_javascript.h | 3 | ||||
| -rw-r--r-- | platform/javascript/detect.py | 41 | ||||
| -rw-r--r-- | platform/javascript/javascript_main.cpp | 2 | ||||
| -rw-r--r-- | platform/javascript/os_javascript.cpp | 2 | ||||
| -rw-r--r-- | platform/uwp/export/export.cpp | 2 | ||||
| -rw-r--r-- | platform/windows/os_windows.cpp | 17 | ||||
| -rw-r--r-- | platform/x11/godot_x11.cpp | 9 | ||||
| -rw-r--r-- | platform/x11/os_x11.cpp | 2 |
14 files changed, 59 insertions, 32 deletions
diff --git a/platform/android/godot_android.cpp b/platform/android/godot_android.cpp index 3c7f7f585..83d5a413c 100644 --- a/platform/android/godot_android.cpp +++ b/platform/android/godot_android.cpp @@ -43,7 +43,7 @@ #include <unistd.h> #include <stdlib.h> #include "os_android.h" -#include "globals.h" +#include "global_config.h" #include "main/main.h" #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "godot", __VA_ARGS__)) #define LOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, "godot", __VA_ARGS__)) diff --git a/platform/haiku/audio_driver_media_kit.cpp b/platform/haiku/audio_driver_media_kit.cpp index c6afe7a26..bd485214c 100644 --- a/platform/haiku/audio_driver_media_kit.cpp +++ b/platform/haiku/audio_driver_media_kit.cpp @@ -30,7 +30,7 @@ #ifdef MEDIA_KIT_ENABLED -#include "globals.h" +#include "global_config.h" int32_t* AudioDriverMediaKit::samples_in = NULL; diff --git a/platform/iphone/os_iphone.cpp b/platform/iphone/os_iphone.cpp index e34dbae01..816e45683 100644 --- a/platform/iphone/os_iphone.cpp +++ b/platform/iphone/os_iphone.cpp @@ -40,7 +40,7 @@ #include "core/os/dir_access.h" #include "core/os/file_access.h" #include "core/io/file_access_pack.h" -#include "core/globals.h" +#include "core/global_config.h" #include "sem_iphone.h" diff --git a/platform/iphone/rasterizer_iphone.cpp b/platform/iphone/rasterizer_iphone.cpp index ee0457cfb..b8f3dd0d0 100644 --- a/platform/iphone/rasterizer_iphone.cpp +++ b/platform/iphone/rasterizer_iphone.cpp @@ -30,7 +30,7 @@ #include "rasterizer_iphone.h" #include "os/os.h" -#include "globals.h" +#include "global_config.h" #include <stdio.h> _FORCE_INLINE_ static void _gl_load_transform(const Transform& tr) { diff --git a/platform/javascript/SCsub b/platform/javascript/SCsub index 7224557b5..bd7b0c304 100644 --- a/platform/javascript/SCsub +++ b/platform/javascript/SCsub @@ -32,7 +32,7 @@ basename = "godot" + env["PROGSUFFIX"] # output file name without file extension # placeholder while leaving extension; also change `.html.mem` to just `.mem` fixup_html = env.Substfile(html_file, SUBST_DICT=[(basename, '$$GODOT_BASE'), ('.html.mem', '.mem')], SUBSTFILESUFFIX='.fixup.html') -zip_dir = env.Dir('#bin/js_zip') +zip_dir = env.Dir('#bin/.javascript_zip') zip_files = [] js_file = env.SideEffect(html_file.File(basename+'.js'), html_file) zip_files.append(env.InstallAs( diff --git a/platform/javascript/audio_server_javascript.cpp b/platform/javascript/audio_server_javascript.cpp index d5940fb10..bb238ede0 100644 --- a/platform/javascript/audio_server_javascript.cpp +++ b/platform/javascript/audio_server_javascript.cpp @@ -27,7 +27,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ #include "audio_server_javascript.h" - +#if 0 #include "emscripten.h" AudioMixer *AudioServerJavascript::get_mixer() { @@ -847,3 +847,4 @@ AudioServerJavascript::AudioServerJavascript() { stream_volume_scale=1.0; } +#endif diff --git a/platform/javascript/audio_server_javascript.h b/platform/javascript/audio_server_javascript.h index f8c8774e4..2f48e7e79 100644 --- a/platform/javascript/audio_server_javascript.h +++ b/platform/javascript/audio_server_javascript.h @@ -28,7 +28,7 @@ /*************************************************************************/ #ifndef AUDIO_SERVER_JAVASCRIPT_H #define AUDIO_SERVER_JAVASCRIPT_H - +#if 0 #include "servers/audio_server.h" class AudioServerJavascript : public AudioServer { @@ -223,3 +223,4 @@ public: }; #endif // AUDIO_SERVER_JAVASCRIPT_H +#endif diff --git a/platform/javascript/detect.py b/platform/javascript/detect.py index 723729816..799b55089 100644 --- a/platform/javascript/detect.py +++ b/platform/javascript/detect.py @@ -12,8 +12,6 @@ def get_name(): def can_build(): - - import os return os.environ.has_key("EMSCRIPTEN_ROOT") @@ -35,23 +33,41 @@ def get_flags(): ] +def create(env): + # remove Windows' .exe suffix + return env.Clone(PROGSUFFIX='') + + +def escape_sources_backslashes(target, source, env, for_signature): + return [path.replace('\\','\\\\') for path in env.GetBuildPath(source)] + +def escape_target_backslashes(target, source, env, for_signature): + return env.GetBuildPath(target[0]).replace('\\','\\\\') + + def configure(env): env['ENV'] = os.environ - env.use_windows_spawn_fix('javascript') env.Append(CPPPATH=['#platform/javascript']) - em_path = os.environ["EMSCRIPTEN_ROOT"] - - env['ENV']['PATH'] = em_path + ":" + env['ENV']['PATH'] - env['CC'] = em_path + '/emcc' - env['CXX'] = em_path + '/em++' - env['LINK'] = em_path + '/emcc' - env['AR'] = em_path + '/emar' - env['RANLIB'] = em_path + '/emranlib' + env.PrependENVPath('PATH', os.environ['EMSCRIPTEN_ROOT']) + env['CC'] = 'emcc' + env['CXX'] = 'em++' + env['LINK'] = 'emcc' + env['RANLIB'] = 'emranlib' + # Emscripten's ar has issues with duplicate file names, so use cc + env['AR'] = 'emcc' + env['ARFLAGS'] = '-o' + if (os.name == 'nt'): + # use TempFileMunge on Windows since some commands get too long for + # cmd.exe even with spawn_fix + # need to escape backslashes for this + env['ESCAPED_SOURCES'] = escape_sources_backslashes + env['ESCAPED_TARGET'] = escape_target_backslashes + env['ARCOM'] = '${TEMPFILE("%s")}' % env['ARCOM'].replace('$SOURCES', '$ESCAPED_SOURCES').replace('$TARGET', '$ESCAPED_TARGET') env['OBJSUFFIX'] = '.bc' - env['LIBSUFFIX'] = '.a' + env['LIBSUFFIX'] = '.bc' if (env["target"] == "release"): env.Append(CCFLAGS=['-O2']) @@ -70,7 +86,6 @@ def configure(env): env.Append(CPPFLAGS=["-fno-exceptions", '-DNO_SAFE_CAST', '-fno-rtti']) env.Append(CPPFLAGS=['-DJAVASCRIPT_ENABLED', '-DUNIX_ENABLED', '-DPTHREAD_NO_RENAME', '-DNO_FCNTL', '-DMPC_FIXED_POINT', '-DTYPED_METHOD_BIND', '-DNO_THREADS']) env.Append(CPPFLAGS=['-DGLES3_ENABLED']) - env.Append(CPPFLAGS=['-DGLES_NO_CLIENT_ARRAYS']) if env['wasm'] == 'yes': env.Append(LINKFLAGS=['-s', 'BINARYEN=1']) diff --git a/platform/javascript/javascript_main.cpp b/platform/javascript/javascript_main.cpp index e096e96a3..076f93f0d 100644 --- a/platform/javascript/javascript_main.cpp +++ b/platform/javascript/javascript_main.cpp @@ -151,7 +151,7 @@ int main(int argc, char *argv[]) { /* Initialize the window */ - printf("let it go!\n"); + printf("let it go dude!\n"); glutInit(&argc, argv); os = new OS_JavaScript(_gfx_init,NULL,NULL); #if 0 diff --git a/platform/javascript/os_javascript.cpp b/platform/javascript/os_javascript.cpp index 931f60ea8..201008b1d 100644 --- a/platform/javascript/os_javascript.cpp +++ b/platform/javascript/os_javascript.cpp @@ -282,6 +282,8 @@ void OS_JavaScript::initialize(const VideoMode& p_desired,int p_video_driver,int javascript_eval = memnew(JavaScript); GlobalConfig::get_singleton()->add_singleton(GlobalConfig::Singleton("JavaScript", javascript_eval)); #endif + + visual_server->init(); } void OS_JavaScript::set_main_loop( MainLoop * p_main_loop ) { diff --git a/platform/uwp/export/export.cpp b/platform/uwp/export/export.cpp index 112942c32..496648918 100644 --- a/platform/uwp/export/export.cpp +++ b/platform/uwp/export/export.cpp @@ -79,7 +79,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "io/sha256.h" #include "io/base64.h" #include "bind/core_bind.h" -#include "globals.h" +#include "global_config.h" #include "io/marshalls.h" #include <zlib.h> diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index 1afbfd523..0ef964522 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -1255,6 +1255,10 @@ void OS_Windows::finalize() { main_loop=NULL; + for (int i = 0; i < get_audio_driver_count(); i++) { + AudioDriverManager::get_driver(i)->finish(); + } + memdelete(joypad); memdelete(input); @@ -1282,13 +1286,8 @@ void OS_Windows::finalize() { memdelete(physics_2d_server); monitor_info.clear(); - - for (int i = 0; i < get_audio_driver_count(); i++) - { - AudioDriverManager::get_driver(i)->finish(); - } - } + void OS_Windows::finalize_core() { memdelete(process_map); @@ -1969,10 +1968,10 @@ Error OS_Windows::execute(const String& p_path, const List<String>& p_arguments, String argss; argss="\"\""+p_path+"\""; + + for (const List<String>::Element* E=p_arguments.front(); E; E=E->next()) { - for(int i=0;i<p_arguments.size();i++) { - - argss+=String(" \"")+p_arguments[i]+"\""; + argss+=String(" \"")+E->get()+"\""; } //print_line("ARGS: "+argss); diff --git a/platform/x11/godot_x11.cpp b/platform/x11/godot_x11.cpp index f85ba1702..b727ecbd1 100644 --- a/platform/x11/godot_x11.cpp +++ b/platform/x11/godot_x11.cpp @@ -26,6 +26,9 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ +#include <unistd.h> +#include <limits.h> + #include "main/main.h" #include "os_x11.h" @@ -33,6 +36,9 @@ int main(int argc, char* argv[]) { OS_X11 os; + char *cwd = (char*)malloc(PATH_MAX); + getcwd(cwd, PATH_MAX); + Error err = Main::setup(argv[0],argc-1,&argv[1]); if (err!=OK) return 255; @@ -41,5 +47,8 @@ int main(int argc, char* argv[]) { os.run(); // it is actually the OS that decides how to run Main::cleanup(); + chdir(cwd); + free(cwd); + return os.get_exit_code(); } diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp index 27df28092..a4ed08f33 100644 --- a/platform/x11/os_x11.cpp +++ b/platform/x11/os_x11.cpp @@ -1241,7 +1241,7 @@ static Property read_property(Display* p_display, Window p_window, Atom p_proper }while(bytes_after != 0); - Property p = {ret, actual_format, nitems, actual_type}; + Property p = {ret, actual_format, (int)nitems, actual_type}; return p; } |
