Add support for WebXR

This commit is contained in:
David Snopek
2020-09-26 17:15:21 -05:00
parent ee903becc8
commit 22cfa90ef5
16 changed files with 2312 additions and 1 deletions

View File

@@ -18,5 +18,8 @@ module.exports = {
"GodotRuntime": true,
"GodotFS": true,
"IDHandler": true,
"Browser": true,
"GL": true,
"XRWebGLLayer": true,
},
};

View File

@@ -66,6 +66,16 @@ else:
sys_env.Depends(build[0], sys_env["JS_LIBS"])
if "JS_PRE" in env:
for js in env["JS_PRE"]:
env.Append(LINKFLAGS=["--pre-js", env.File(js).path])
env.Depends(build, env["JS_PRE"])
if "JS_EXTERNS" in env:
for ext in env["JS_EXTERNS"]:
env["ENV"]["EMCC_CLOSURE_ARGS"] += " --externs " + ext.path
env.Depends(build, env["JS_EXTERNS"])
engine = [
"js/engine/preloader.js",
"js/engine/utils.js",

View File

@@ -1,7 +1,7 @@
import os
import sys
from emscripten_helpers import run_closure_compiler, create_engine_file, add_js_libraries
from emscripten_helpers import run_closure_compiler, create_engine_file, add_js_libraries, add_js_pre, add_js_externs
from methods import get_compiler_version
from SCons.Util import WhereIs
@@ -133,6 +133,8 @@ def configure(env):
# Add helper method for adding libraries.
env.AddMethod(add_js_libraries, "AddJSLibraries")
env.AddMethod(add_js_pre, "AddJSPre")
env.AddMethod(add_js_externs, "AddJSExterns")
# Add method that joins/compiles our Engine files.
env.AddMethod(create_engine_file, "CreateEngineFile")

View File

@@ -25,3 +25,15 @@ def add_js_libraries(env, libraries):
if "JS_LIBS" not in env:
env["JS_LIBS"] = []
env.Append(JS_LIBS=env.File(libraries))
def add_js_pre(env, js_pre):
if "JS_PRE" not in env:
env["JS_PRE"] = []
env.Append(JS_PRE=env.File(js_pre))
def add_js_externs(env, externs):
if "JS_EXTERNS" not in env:
env["JS_EXTERNS"] = []
env.Append(JS_EXTERNS=env.File(externs))