Commit Graph

104 Commits

Author SHA1 Message Date
sunzhuoshi d4c4170368 Removed bad comment 2013-05-06 12:02:17 +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
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