From d72d3085ba31ab2cb4ddfc9153aa144211cd31d8 Mon Sep 17 00:00:00 2001 From: pandamicro Date: Sat, 28 Mar 2015 09:11:32 +0800 Subject: [PATCH 1/4] Update submodules --- frameworks/cocos2d-html5 | 2 +- frameworks/js-bindings/cocos2d-x | 2 +- tools/bindings-generator | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/cocos2d-html5 b/frameworks/cocos2d-html5 index b3d7c70d05..948d4bfd09 160000 --- a/frameworks/cocos2d-html5 +++ b/frameworks/cocos2d-html5 @@ -1 +1 @@ -Subproject commit b3d7c70d057ab58b423c00585c88003c5e5ffa53 +Subproject commit 948d4bfd099aa0a62fbe34ecb4e0bbc7e01edc9b diff --git a/frameworks/js-bindings/cocos2d-x b/frameworks/js-bindings/cocos2d-x index 9955419d80..9919f0b76a 160000 --- a/frameworks/js-bindings/cocos2d-x +++ b/frameworks/js-bindings/cocos2d-x @@ -1 +1 @@ -Subproject commit 9955419d804549d4ecba155ca7678703198279d8 +Subproject commit 9919f0b76abd54a955dbfd6b738004f1e8f4263d diff --git a/tools/bindings-generator b/tools/bindings-generator index b097bf6156..b00bd4297a 160000 --- a/tools/bindings-generator +++ b/tools/bindings-generator @@ -1 +1 @@ -Subproject commit b097bf61564687d8c35d4b814bb64996dbb0d403 +Subproject commit b00bd4297af47a12f338eb3d3148abecb0c7d79d From a8beb8f24d55a53bb71a3d825f9f751afdba2ee3 Mon Sep 17 00:00:00 2001 From: pandamicro Date: Mon, 30 Mar 2015 17:47:48 +0800 Subject: [PATCH 2/4] Fix relocation overflow --- frameworks/js-bindings/bindings/Android.mk | 2 ++ frameworks/js-bindings/cocos2d-x | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) 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/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 From ffe7e000f09d160956b490828fd9a9664875c81d Mon Sep 17 00:00:00 2001 From: pandamicro Date: Mon, 30 Mar 2015 17:48:22 +0800 Subject: [PATCH 3/4] Update engine version and submodule --- frameworks/cocos2d-html5 | 2 +- frameworks/js-bindings/bindings/manual/ScriptingCore.h | 2 +- frameworks/js-bindings/bindings/script/jsb_cocos2d.js | 2 +- tools/bindings-generator | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frameworks/cocos2d-html5 b/frameworks/cocos2d-html5 index 948d4bfd09..05cdfd64d4 160000 --- a/frameworks/cocos2d-html5 +++ b/frameworks/cocos2d-html5 @@ -1 +1 @@ -Subproject commit 948d4bfd099aa0a62fbe34ecb4e0bbc7e01edc9b +Subproject commit 05cdfd64d4ba10b4fd9e0e3da4e3ab888aa92af8 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/tools/bindings-generator b/tools/bindings-generator index b00bd4297a..a4888131c2 160000 --- a/tools/bindings-generator +++ b/tools/bindings-generator @@ -1 +1 @@ -Subproject commit b00bd4297af47a12f338eb3d3148abecb0c7d79d +Subproject commit a4888131c2aeb24b86ad8e1056f951310d02595c From ca4fb40fe0a594312d9ff8e35e8bc8d6ac9c8e44 Mon Sep 17 00:00:00 2001 From: pandamicro Date: Tue, 31 Mar 2015 10:57:21 +0800 Subject: [PATCH 4/4] Fix runtime bindings issue --- frameworks/cocos2d-html5 | 2 +- .../runtime-src/Classes/runtime/Runtime.cpp | 39 +++++++------------ 2 files changed, 16 insertions(+), 25 deletions(-) diff --git a/frameworks/cocos2d-html5 b/frameworks/cocos2d-html5 index 05cdfd64d4..86cf76b562 160000 --- a/frameworks/cocos2d-html5 +++ b/frameworks/cocos2d-html5 @@ -1 +1 @@ -Subproject commit 05cdfd64d4ba10b4fd9e0e3da4e3ab888aa92af8 +Subproject commit 86cf76b5627be037729f79520d46e86c46a1d102 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()