diff --git a/frameworks/cocos2d-html5 b/frameworks/cocos2d-html5 index b3d7c70d05..86cf76b562 160000 --- a/frameworks/cocos2d-html5 +++ b/frameworks/cocos2d-html5 @@ -1 +1 @@ -Subproject commit b3d7c70d057ab58b423c00585c88003c5e5ffa53 +Subproject commit 86cf76b5627be037729f79520d46e86c46a1d102 diff --git a/frameworks/js-bindings/bindings/Android.mk b/frameworks/js-bindings/bindings/Android.mk index 505bbda869..c0819bbb7e 100644 --- a/frameworks/js-bindings/bindings/Android.mk +++ b/frameworks/js-bindings/bindings/Android.mk @@ -6,6 +6,8 @@ LOCAL_MODULE := cocos_jsb_static LOCAL_MODULE_FILENAME := libcocos2dxjsb +LOCAL_ARM_MODE := arm + LOCAL_SRC_FILES := auto/jsb_cocos2dx_auto.cpp \ auto/jsb_cocos2dx_builder_auto.cpp \ auto/jsb_cocos2dx_extension_auto.cpp \ diff --git a/frameworks/js-bindings/bindings/manual/ScriptingCore.h b/frameworks/js-bindings/bindings/manual/ScriptingCore.h index ab28bf6766..8d56c6bcc2 100644 --- a/frameworks/js-bindings/bindings/manual/ScriptingCore.h +++ b/frameworks/js-bindings/bindings/manual/ScriptingCore.h @@ -39,7 +39,7 @@ #include #include -#define ENGINE_VERSION "Cocos2d-JS v3.4 Beta0" +#define ENGINE_VERSION "Cocos2d-JS v3.4" void js_log(const char *format, ...); diff --git a/frameworks/js-bindings/bindings/script/jsb_cocos2d.js b/frameworks/js-bindings/bindings/script/jsb_cocos2d.js index 883887e0a9..bf9ded4bc5 100644 --- a/frameworks/js-bindings/bindings/script/jsb_cocos2d.js +++ b/frameworks/js-bindings/bindings/script/jsb_cocos2d.js @@ -26,7 +26,7 @@ // CCConfig.js // -cc.ENGINE_VERSION = "Cocos2d-JS v3.4 Beta0"; +cc.ENGINE_VERSION = "Cocos2d-JS v3.4"; cc.FIX_ARTIFACTS_BY_STRECHING_TEXEL = 0; cc.DIRECTOR_STATS_POSITION = {x: 0, y: 0}; diff --git a/frameworks/js-bindings/cocos2d-x b/frameworks/js-bindings/cocos2d-x index 9919f0b76a..a4548b8b06 160000 --- a/frameworks/js-bindings/cocos2d-x +++ b/frameworks/js-bindings/cocos2d-x @@ -1 +1 @@ -Subproject commit 9919f0b76abd54a955dbfd6b738004f1e8f4263d +Subproject commit a4548b8b06d837698d789b17f2cb9113523f1640 diff --git a/templates/js-template-runtime/frameworks/runtime-src/Classes/runtime/Runtime.cpp b/templates/js-template-runtime/frameworks/runtime-src/Classes/runtime/Runtime.cpp index 22ea6b1bbb..8e8add7430 100644 --- a/templates/js-template-runtime/frameworks/runtime-src/Classes/runtime/Runtime.cpp +++ b/templates/js-template-runtime/frameworks/runtime-src/Classes/runtime/Runtime.cpp @@ -28,6 +28,7 @@ THE SOFTWARE. #include "ConsoleCommand.h" #include "cocos2d_specifics.hpp" +#include "jsb_cocos2dx_auto.hpp" #include "cocos2d.h" #include "ConfigParser.h" @@ -95,9 +96,9 @@ bool startScript() bool runtime_FileUtils_addSearchPath(JSContext *cx, uint32_t argc, jsval *vp) { - jsval *argv = JS_ARGV(cx, vp); + JS::CallArgs args = JS::CallArgsFromVp(argc, vp); bool ok = true; - JSObject *obj = JS_THIS_OBJECT(cx, vp); + JS::RootedObject obj(cx, args.thisv().toObjectOrNull()); js_proxy_t *proxy = jsb_get_js_proxy(obj); cocos2d::FileUtils* cobj = (cocos2d::FileUtils *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, false, "cocos2dx_FileUtils_addSearchPath : Invalid Native Object"); @@ -105,12 +106,12 @@ bool runtime_FileUtils_addSearchPath(JSContext *cx, uint32_t argc, jsval *vp) std::string arg0; bool arg1 = false; - ok &= jsval_to_std_string(cx, argv[0], &arg0); + ok &= jsval_to_std_string(cx, args.get(0), &arg0); JSB_PRECONDITION2(ok, cx, false, "cocos2dx_FileUtils_addSearchPath : Error processing arguments"); if (argc == 2) { - arg1 = JS::ToBoolean(JS::RootedValue(cx, argv[1])); + arg1 = JS::ToBoolean(args.get(1)); } if (! FileUtils::getInstance()->isAbsolutePath(arg0)) @@ -130,7 +131,7 @@ bool runtime_FileUtils_addSearchPath(JSContext *cx, uint32_t argc, jsval *vp) #endif } - JS_SET_RVAL(cx, vp, JSVAL_VOID); + args.rval().setUndefined(); return true; } @@ -140,15 +141,15 @@ bool runtime_FileUtils_addSearchPath(JSContext *cx, uint32_t argc, jsval *vp) bool runtime_FileUtils_setSearchPaths(JSContext *cx, uint32_t argc, jsval *vp) { - jsval *argv = JS_ARGV(cx, vp); + JS::CallArgs args = JS::CallArgsFromVp(argc, vp); bool ok = true; - JSObject *obj = JS_THIS_OBJECT(cx, vp); + JS::RootedObject obj(cx, args.thisv().toObjectOrNull()); js_proxy_t *proxy = jsb_get_js_proxy(obj); cocos2d::FileUtils* cobj = (cocos2d::FileUtils *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_FileUtils_setSearchPaths : Invalid Native Object"); if (argc == 1) { std::vector vecPaths, writePaths; - ok &= jsval_to_std_vector_string(cx, argv[0], &vecPaths); + ok &= jsval_to_std_vector_string(cx, args.get(0), &vecPaths); JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_FileUtils_setSearchPaths : Error processing arguments"); std::vector originPath; // for IOS platform. @@ -175,8 +176,8 @@ bool runtime_FileUtils_setSearchPaths(JSContext *cx, uint32_t argc, jsval *vp) } cobj->setSearchPaths(vecPaths); - - JS_SET_RVAL(cx, vp, JSVAL_VOID); + + args.rval().setUndefined(); return true; } @@ -184,20 +185,10 @@ bool runtime_FileUtils_setSearchPaths(JSContext *cx, uint32_t argc, jsval *vp) return false; } -void register_FileUtils(JSContext *cx, JSObject *global) { - JS::RootedValue nsval(cx); - JS::RootedObject ns(cx); - JS_GetProperty(cx, global, "cc", &nsval); - if (nsval == JSVAL_VOID) { - return; - } else { - JS_ValueToObject(cx, nsval, &ns); - } - global = ns; - - JSObject *tmpObj = JSVAL_TO_OBJECT(anonEvaluate(cx, global, "(function () { return cc.FileUtils.getInstance(); })()")); - JS_DefineFunction(cx, tmpObj, "addSearchPath", runtime_FileUtils_addSearchPath, 1, JSPROP_PERMANENT | JSPROP_ENUMERATE); - JS_DefineFunction(cx, tmpObj, "setSearchPaths", runtime_FileUtils_setSearchPaths, 1, JSPROP_PERMANENT | JSPROP_ENUMERATE); +void register_FileUtils(JSContext* cx, JS::HandleObject global) { + JS::RootedObject proto(cx, jsb_cocos2d_FileUtils_prototype); + JS_DefineFunction(cx, proto, "addSearchPath", runtime_FileUtils_addSearchPath, 1, JSPROP_PERMANENT | JSPROP_ENUMERATE); + JS_DefineFunction(cx, proto, "setSearchPaths", runtime_FileUtils_setSearchPaths, 1, JSPROP_PERMANENT | JSPROP_ENUMERATE); } void initRuntime() diff --git a/tools/bindings-generator b/tools/bindings-generator index b097bf6156..a4888131c2 160000 --- a/tools/bindings-generator +++ b/tools/bindings-generator @@ -1 +1 @@ -Subproject commit b097bf61564687d8c35d4b814bb64996dbb0d403 +Subproject commit a4888131c2aeb24b86ad8e1056f951310d02595c