James Chen
4657ef716c
Merge branch 'master' of https://github.com/sunzhuoshi/cocos2d-x into iss2106-js-bytecode
2013-05-06 11:43:40 +08:00
sunzhuoshi
de27f1137a
Changed byte code file ext to ".jsc"
...
Modified loading logic to load js file first
2013-05-06 11:32:23 +08:00
James Chen
0718e6cf70
Merge branch 'master' of https://github.com/sunzhuoshi/cocos2d-x into iss2106-js-bytecode
2013-05-06 11:15:19 +08:00
minggo
0c721096ec
fixed #2099:fixed a bug in ScriptingCore::evalString not setting the outval
2013-05-02 09:03:24 +08:00
sunzhuoshi
077214c419
Modified to ensure no popup notify when no byte code file
2013-04-30 20:39:06 +08:00
sunzhuoshi
d4832e3f46
Merge branch 'master' of https://github.com/cocos2d/cocos2d-x into cocos2d-master
...
Conflicts:
scripting/javascript/bindings/ScriptingCore.cpp
2013-04-30 03:51:07 +08:00
sunzhuoshi
163c19fac2
Added support for javascript byte code
2013-04-30 03:29:56 +08:00
James Chen
5572990e5d
Synchronizing some JSB changes in cocos2d-iphone. Fix a bug of "Too much recursion" in loop.
2013-04-25 20:56:27 +08:00
James Chen
556d95d922
Removing an unused comment in ccaffinetransform_to_jsval.
2013-04-18 14:13:26 +08:00
James Chen
642d1746f9
issue #2064 : Adding conversation for "jsval ~> CCAffineTransform" and "CCAffineTransform ~> jsval".
2013-04-18 13:50:58 +08:00
James Chen
63ce8adfad
fixed #2059 : Fix complication errors on Android.
2013-04-17 17:05:39 +08:00
James Chen
ddd6d9d155
fixed #2059 : cc.FileUtils.getInstance().getStringFromFile(filename) doesn't return a whole string.
2013-04-17 16:08:48 +08:00
akira_cn
e1f9e1a300
update keypad support
2013-04-17 10:40:46 +08:00
akira_cn
54f18be09a
add back key support
2013-04-16 10:19:36 +08:00
James Chen
d80d68f7e0
fixed #1855 : std_string_to_jsval generates messy js string when passing non-ascii UTF8 std::string.
2013-03-22 12:01:08 +08:00
James Chen
6a98553633
Synchronizing the submodule reference of cocos2d-js-test to the latest one.
2013-03-18 18:24:37 +08:00
James Chen
3aeb22292b
Reverting ccarray_to_jsval.
2013-03-16 21:23:33 +08:00
James Chen
09757428e7
fixed #1836 : JS target of "cc.Scheduler().scheduleCallbackForTarget" should not depend on CCNode or its subclass.
2013-03-16 21:14:39 +08:00
James Chen
529e65787a
Fix the crash CrystalCraze, we should check whether the arr parameter is valid for ccarray_to_jsval.
2013-03-15 22:22:44 +08:00
James Chen
3e33868a63
fixed #1824 : Exposed cc.EditBox to js.
2013-03-14 18:14:16 +08:00
James Chen
29aa62d923
fixed #1830 : Using JS::CompileOptions::setUTF8(true) to compile script.
2013-03-13 18:10:54 +08:00
James Chen
f7e60e290f
fixed #1811 : Adding a method to get file data for JSB. Updating the way of encoding cpp string to jsval or jsval to cpp string.
2013-03-08 14:34:59 +08:00
James Chen
537abaec42
fixed #1753 : Android works ok now.
2013-02-27 16:57:36 +08:00
James Chen
473e8e6139
issue #1753 : Upgrading SpiderMonkey to Firefox19.0, iOS works ok.
2013-02-27 15:16:49 +08:00
James Chen
9c9e64283e
fixed #1747 : Crash occurs when passing null to cc.AnimationFrame.initWithSpriteFrame.
2013-02-25 14:20:38 +08:00
James Chen
486f7941a7
Merge pull request #2023 from nicolasgramlich/patch-7
...
fixed #1740 : Added cleanup and reset methods to ScriptingCore.
2013-02-21 17:56:55 -08:00
Nicolas Gramlich
84aae750a9
Converted tabs to spaces since that seemed to be the predominant choice in this file.
2013-02-21 08:34:51 -08:00
Nicolas Gramlich
b993c6fa08
Added cleanup and reset methods to ScriptingCore.
2013-02-21 08:33:37 -08:00
Sergej Tatarincev
0b8713c80c
Make ScriptingCore.cpp compile with C++11 on iOS
...
When compiling with clang -stdlib=libc++ -std=c++11, write, read, and close functions are part of the unistd.h header file.
2013-02-18 09:12:39 +02:00
James Chen
6f3b22031f
Using new API of getting full path for file name.
2013-01-25 20:51:52 +08:00
Rohan Kuruvilla
578b1c741e
Fixing bug in resetting context that fails because of setting UTf8 string twice
2013-01-24 18:37:24 -08:00
James Chen
a3dbfaafd3
Merge pull request #1856 from funkaster/master
...
fixed #1660 : Some fixes to the js debugger.
2013-01-21 17:54:39 -08:00
James Chen
31e91e554e
issue #1661 : Added CrystalCraze for win32 and fix some compilation errors.
2013-01-17 17:07:18 +08:00
Rolando Abarca
7ab43b9dfc
adds missing runLoop for cc2dx (debug)
2013-01-16 14:02:05 -08:00
Rolando Abarca
49432ef742
removes old header file reference
2013-01-16 13:42:41 -08:00
Rolando Abarca
e94d8d1693
Merge branch 'gles20' of git://github.com/cocos2d/cocos2d-x into gles20
...
Conflicts:
scripting/javascript/bindings/ScriptingCore.h
scripting/javascript/bindings/js_bindings_config.h
2013-01-15 16:52:47 -08:00
Rolando Abarca
320068930e
more debug stuff
2013-01-11 14:29:40 -08:00
Rolando Abarca
5df4b4d997
adding debug support for js
2013-01-11 14:01:36 -08:00
James Chen
d15561e826
issue #1653 : Checking the return value of jsapi. Return JSVAL_VOID if jsapi has no return value.
2013-01-11 18:57:33 +08:00
James Chen
a8361bf703
issue #1653 : Checking return value for 'native --> jsval'.
2013-01-11 13:54:57 +08:00
James Chen
b662d5c569
fixed #1620 : Added license. Removed LocalStorage.h from cocos-ext.h.
2013-01-07 18:06:53 +08:00
James Chen
1d59a36ee9
fixed #1620 : Invoking localStorageFree in the destructor of ScriptingCore. Added header file to cocos-ext.h
2013-01-07 17:34:22 +08:00
James Chen
8a21f4fa3c
issue #1640 : Added some files to iOS Project.
2013-01-05 17:41:19 +08:00
James Chen
421cf31b34
issue #1640 : Updated jsbinding for CCPhysicsSprite .
2013-01-05 15:09:19 +08:00
James Chen
9bd302e35b
fixed #1627 : VS version check in project file.
2012-12-29 13:54:46 +08:00
James Chen
7d9f06b48c
fixed #1625 : Updated TestCpp. 'ccg' --> 'CCSizeMake' . And exchanged the parameter order for 3D action tests.
2012-12-27 10:55:25 +08:00
James Chen
9a0a5e6b31
issue #1603 : fixed some warnings.
2012-12-20 17:18:49 +08:00
James Chen
e8c0844dd5
fixed #1617 : Some improvements for JS Bindings.
...
1) Changed cc.REPEAT_FOREVER = - 1 to cc.REPEAT_FOREVER = 0xffffffff
[Reason]: If cc.REPEAT_FOREVER = -1, it will be a very big double value after converting it to double by JS_ValueToNumber on android.
Then cast it to unsigned int, the value will be 0. The schedule will not be able to work.
I don't know why this occurs only on android.
[Solution]: Instead of passing -1 to it, I assign it with max value of unsigned int in c++.
2) Added two helper function, cc.ArrayGetIndexOfObject and cc.ArrayContainsObject.
3) Added JSScheduleWrapper::removeTargetForNativeNode to avoid memory leaks.
4) Improvments for JSTouchDelegate. Added four functions as follows:
// Set the touch delegate to map by using the key (pJSObj).
static void setDelegateForJSObject(JSObject* pJSObj, JSTouchDelegate* pDelegate);
// Get the touch delegate by the key (pJSObj).
static JSTouchDelegate* getDelegateForJSObject(JSObject* pJSObj);
// Remove the delegate by the key (pJSObj).
static void removeDelegateForJSObject(JSObject* pJSObj);
void unregisterTouchDelegate();
And exported cc.unregisterTouchDelegate(); to js.
Fix a memory leak for JSTouchDelegate by making it as an autorelease object.
5) Don't add js callback function to the reserved slot of object.
[Reason]: The target object may execute more than one schedule.
Therefore, previous js callback function will be replaced
by the current one. For example:
this.scheduleOnce(function() { temporary function 1 }, 0.5);
this.scheduleOnce(function() { temporary function 2 }, 0.5);
In this case, the temporary function 1 will be removed from reserved slot 0.
And temporary function 2 will be set to reserved slot 0 of this object.
If gc is triggered before the JSScheduleWrapper::scheduleFunc is invoked,
crash will happen. You could simply reproduce it by adding jsc.garbageCollect(); after scheduleOnce.
[Solution] Because one schedule corresponds to one JSScheduleWrapper, we root
the js callback function in JSScheduleWrapper::setJSCallbackFunc and unroot it
at the destructor of JSScheduleWrapper.
2012-12-18 11:56:44 +08:00
dualface
268aa45d2c
rename CCNode:scheduleUpdateScriptHandlerWithPriority() to CCNode::scheduleUpdateWhitPriorityLua()
...
remove unused functions
2012-12-10 16:09:23 +08:00
dualface
c8753f72ef
[scripting] add CCNode::scheduleUpdateScriptHandlerWithPriority()
2012-12-10 13:48:27 +08:00
James Chen
34eb3a88c2
Commented JS_SetGCZeal.
2012-12-04 17:23:08 +08:00
minggo
4e7fca3185
merge dualface's pull request for fixing CCLayer script support and fix error for js-binding
2012-12-04 10:52:49 +08:00
James Chen
7c074d4ced
issue #1550 : fixed a memory leak in jsbinding.
2012-12-03 22:17:53 +08:00
James Chen
e3615e2fb1
fixed #1586 : Invoking removeAllRoots in ScriptingCore destructor to avoid crash when app exits.
2012-12-01 11:41:50 +08:00
James Chen
36bc0ab0bb
Invoking JS_SetGCZeal only when the macros DEBUG and JS_GC_ZEAL is defined.
2012-12-01 11:41:50 +08:00
James Chen
07661a1e21
issue #1581 : Added jsb_set_reserved_slot and jsb_get_reserved_slot,
2012-11-30 22:00:30 +08:00
James Chen
15d02e4db8
Merge branch 'iss1581-fix-jsbinding-bugs' of https://github.com/dumganhar/cocos2d-x into iss1583-js-tests
...
Conflicts:
scripting/javascript/bindings/cocos2d_specifics.cpp
2012-11-30 21:43:44 +08:00
James Chen
96e2707f39
issue #1583 : Added jsvals_variadic_to_ccarray function.
2012-11-30 21:12:14 +08:00
James Chen
a814066601
issue #1581 : JSBinding bug fixes.
...
Some fixes of JSBinding codes:
[1] Check whether the proxy was already added in JS_NEW_PROXY
[2] In struct schedFunc_proxy_t, JSScheduleWrapper* --> CCArray*
Reason: One js function may correspond to many targets. To debug this, you could refer to JSScheduleWrapper::dump function. It will prove that i'm right. :)
[3] In ScriptingCore::cleanupSchedulesAndActions function, we must invoke unschedule for all targets and remove the proxy both in _schedFunc_target_ht and _schedTarget_native_ht, otherwise the hash tables will grow bigger and bigger, so I added a new function JSScheduleWrapper::removeAllTargetsForNatiaveNode to make this things easier.
[4] To easily find out the bugs of binding codes, I add JS_SetGCZeal in ScriptingCore::createGlobalContext, it only works in DEBUG mode.
[5] In js_cocos2dx_CCNode_getChildren, we should add the generated array to root to avoid gc happen when invoking JS_SetElement.
[6] The JSCallFuncWrapper isn't needed since an action will be run by a cc.Node and it will be released at the CCNode::cleanup.
[7] Some improvements of JSScheduleWrapper class.
[8] Added a new function JSScheduleWrapper::setTarget, it's for js_CCNode_unschedule to find out which target need to be unscheduled.
[9] Commented JS_SetReservedSlot in js_CCNode_scheduleOnce and js_CCNode_schedule.
Reason:
For js_CCNode_scheduleOnce: Don't add the callback function to the reserved slot of this js object.Since the class of js object may be inherited from cocos class(e.g. cc.Sprite). The subclass will not contain reserved slots. It will crash if invoking this.
For js_CCNode_schedule: Don't add js callback function to the reserved slot of scheduler js object. Since the scheduler is an object always rooted.
So the callback function might not be released when gc comes.I looked inside the implementation of cc.Node.schedule, and it doesn't use JS_SetReservedSlot there.
2012-11-28 22:04:55 +08:00
James Chen
7c1e860d78
issue #1573 : Added CocosDragonJS. Made it compiled ok on iOS,android and win32.
2012-11-23 15:09:03 +08:00
James Chen
692d16f296
Minor fix in ScriptingCore::log.
2012-11-22 17:34:58 +08:00
James Chen
89a51433b8
issue #1564 : Make TestJavascript works on windows.
2012-11-22 10:24:26 +08:00
Rolando Abarca
d9baa8a24d
fixes merge conflict
2012-11-19 11:23:08 -08:00
Rolando Abarca
ac539667f4
Merge remote-tracking branch 'origin/gles20' into gles20
...
Conflicts:
scripting/javascript/bindings/ScriptingCore.cpp
scripting/javascript/bindings/js_bindings_chipmunk_manual.cpp
2012-11-16 09:44:34 -08:00
James Chen
34f359384c
issue #1530 : Minor fixes in ScriptingCore.cpp, js_bindings_chipmunk_auto_classes.cpp and js_bindings_chipmunk_funcitons.cpp.
2012-11-16 15:58:20 +08:00
Rohan Kuruvilla
6d59009953
Adding executeAccelerometerEvent for to CCScriptSupport and ScriptingCore
2012-11-16 15:56:29 +08:00
Rohan Kuruvilla
66f85468e5
Adding JS conversion of CCDictionary objects, also modified CCArray conversion
2012-11-16 15:56:27 +08:00
Rohan Kuruvilla
672bed3ed0
Updating bindings for ONE_BY_ONE touch handling
2012-11-16 15:56:27 +08:00
Rolando Abarca
6e9d2e808c
improved debugger
2012-11-15 11:14:57 -08:00
Rolando Abarca
c9df076378
new JSStringWrapper
2012-11-15 11:14:37 -08:00
Rolando Abarca
b894524ed0
removing some warnings
2012-11-15 11:13:21 -08:00
James Chen
449c719d96
issue #1549 : Added "ccdictionary_to_jsval" function, now TMXOrthoObjectsTest and TMXIsoObjectsTest don't crash.
2012-11-06 16:11:45 +08:00
James Chen
21e4f80fbd
Added "executeAccelerometerEvent" for CCScriptEngineProtocol class. Exported Accelerometer event to JS.
2012-11-06 14:18:13 +08:00
Rohan Kuruvilla
b3c6f1a2e1
Adding bindings for CCBReader and other improvements.
...
1. Added additional CCBReader bindings, including callback support for animationCompleted
2. Improved design for JS CallbackWrappers
3. Added bindings for pDistance
4. Updating cocos2dx.ini
2012-11-01 15:34:23 +08:00
James Chen
bdbb70bea5
Merge branch 'gles20' of https://github.com/funkaster/cocos2d-x into js-surith-gnu
2012-10-31 10:04:35 +08:00
James Chen
1ede7b6434
Modifying action/schedules cleanup, ignoring libjs_static.a of debugging version.
2012-10-29 15:10:13 +08:00
Rohan Kuruvilla
c24acd4733
Changing ScriptingCore flow of execution of targetted Touch events
2012-10-29 15:06:34 +08:00
Rohan Kuruvilla
7ede1373f7
Adding function to cleanup actions and schedule to ScriptingCore
2012-10-29 15:06:10 +08:00
Rolando Abarca
463ae31180
upgrades to new spidermonkey API
...
FF beta - this fixes the auto-compartment issue
2012-10-24 11:14:15 -07:00
Rolando Abarca
003f6e4cf3
fixes ScriptingCore for FF 16 API
2012-10-19 09:54:21 -07:00
James Chen
871541ac6b
Updated one comment.
2012-10-19 15:03:10 +08:00
James Chen
e5096ce091
Made TestJavascript and MoonWarriors work ok on android after merging Rolando's commit.
2012-10-19 15:01:05 +08:00
James Chen
1a373f70ff
issue #1517 : Upgrading js engine to FF 16.0.1 for IOS.
2012-10-19 13:41:03 +08:00
James Chen
de3376b43f
issue #1517:[Win32]Upgrading SpiderMonkey js engine to FF 16.0.1
2012-10-19 11:15:23 +08:00
Rolando Abarca
b0f02a0773
updates on the js front
2012-10-18 17:44:41 -07:00
Rohan Kuruvilla
eafd6ebf08
Fixing restart of context to not leak memory
2012-10-11 18:48:37 -07:00
Rohan Kuruvilla
0c1c5a432d
Adding support to pass array of CCPoints from JS
2012-10-11 18:44:46 -07:00
James Chen
9f93b609e8
issue #1469 : Added cc.config for js-bindings.
2012-10-10 15:24:20 +08:00
Rohan Kuruvilla
12292afee6
Adding CCSchedule bindings. Also adding CCOrbitCamera bindings and modifying cocos2dx.ini
2012-10-09 15:03:14 -07:00
James Chen
426915dd4a
fixed some compilation error for win32 platform.
2012-09-24 11:05:15 +08:00
minggo
29fad4d570
Merge branch 'gles20-android-refactoring' of https://github.com/nicolasgramlich/cocos2d-x into merge_nicolas
2012-09-21 11:05:31 +08:00
Rohan Kuruvilla
9e1e64509b
Copying changes previously made into cxx-generator/targets/spidermonkey/common
...
1. Fixed memory leak while removing proxy objects
2. Fixed JS Context restart
3. Added JS conversion for CCArray
4. Updated generated bindings with some more classes
2012-09-20 18:02:17 -07:00
Rohan Kuruvilla
dde8d50d15
Adding member function executeFunctionWithOwner to ScriptingCore
2012-09-20 14:45:35 -07:00
Nicolas Gramlich
c2a62875cf
Added ANDROID_SCRIPTINGCORE_LOAD_SCRIPTS_FROM_EXTERNAL_ASSET_DIRECTORY flag, that allows to load from external assets directory instead of from internal apk assets directory.
2012-09-13 11:13:02 -07:00
James Chen
7d8b261ced
fixed #1477 : Abstracts Lua and JS binding protocol, some bugs fixes in lua-binding, adding custom menu on win32 and mac for switching resolutions.
2012-09-11 14:02:33 +08:00
James Chen
708be4e474
Remove 'readFileInMemory' to make it compile ok on win32, initialized the member variables for ScriptingCore class.
2012-08-29 14:49:03 -07:00
folecr
3c11684bf7
Remove commented code
2012-08-28 17:56:01 -07:00
folecr
6c604f02d3
Fix typo and add logs
2012-08-28 17:44:01 -07:00
James Chen
71b147ce2f
Use CCFileUtils and CCString to load file contents
2012-08-28 17:43:59 -07:00
James Chen
60dae250f2
Use CCLOG to implement js_log
2012-08-28 17:43:59 -07:00