Commit Graph

232 Commits

Author SHA1 Message Date
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 344fc5ca6f issue #1583: Updated tools/tojs/cocos2dx.ini. 2012-11-30 21:16:34 +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 a1ebfd9ed8 Don't add CCNode::removeChild to skip field. 2012-11-23 15:12:42 +08:00
Rohan Kuruvilla 36bbd80b68 Adding changes to CCBreader 2012-11-23 15:08:55 +08:00
James Chen f701248e58 issue #1564: Updated tools/tojs/cocos2dx.ini. 2012-11-22 17:19:15 +08:00
James Chen 1a3891970f Updated tools/tojs/cocos2dx.ini. 2012-11-22 15:35:42 +08:00
folecr f111602adf Don't generate JS bindings for CCTimer::getSelector 2012-11-19 15:56:11 -08:00
James Chen b95ff53747 Updated cocos2dx.ini. 2012-11-16 16:00:25 +08:00
James Chen 682faa5870 issue #1530: Don't export CCUserDefault to js since it has a private constructor. Do it in the future. 2012-11-16 15:58:21 +08:00
James Chen bb6df91749 issue #1530: Exported CCUserDefault to js. 2012-11-16 15:58:18 +08:00
Rohan Kuruvilla 39a4e6a19e Fixing bindings bug for CCScheduler. Also adding custom bindings for TMXLayer. Also updating ini 2012-11-16 15:56:27 +08:00
James Chen 26af535521 issue #1549: Updated cocos2dx.ini. Renamed some functions. 2012-11-06 14:19:27 +08:00
James Chen 4a6d922ea4 issue #1549: Updated tools/tojs/cocos2dx.ini. 2012-11-05 18:45:39 +08:00
James Chen f88aa5058d Merge branch 'gles20' of https://github.com/rohankuruvilla/cocos2d-x into rohan-ccb
Conflicts:
	scripting/javascript/bindings/cocos2d_specifics.cpp
	scripting/javascript/bindings/cocos2d_specifics.hpp
	tools/tojs/cocos2dx.ini
2012-11-02 18:15:25 +08:00
James Chen 05b1b7c2c3 Updated cocos2dx.ini. Renamed some methods exported to js. 2012-11-02 15:13:12 +08:00
Rohan Kuruvilla ea92936c1f 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 00:08:01 -07:00
Rohan Kuruvilla 2fbb748b7c Adding sections for CCBReader bindings generation as well as renaming other bindings 2012-11-01 00:06:24 -07:00
Rohan Kuruvilla e7ac758b9f Updating bindings to match cocos2d-html5 2012-10-11 18:45:22 -07:00
James Chen bb135e49d1 issue #1469: Ignored 'getBlendFunc' and 'setBlendFunc' for CCSpriteBatchNode,CCMotionStreak,CCAtlasNode,CCParticleBatchNode,CCLayerColor,CCParticleSystem. 2012-10-10 15:23:13 +08:00
Rohan Kuruvilla 12292afee6 Adding CCSchedule bindings. Also adding CCOrbitCamera bindings and modifying cocos2dx.ini 2012-10-09 15:03:14 -07:00
folecr d57842bec5 Generate bindings for CocosDenshion's SimpleAudioEngine
* Bindings configured to rename SimpleAudioEngine to AudioEngine
2012-09-27 13:39:49 -07:00
folecr d01b6093d8 gendbings.sh generates userconf.ini
* ... and reads userconf.ini from current working directory
 * ... also specify that this script is run by /bin/bash
2012-09-24 21:48:12 -07:00
folecr 1a6581383c Spidermonkey headers are not used for generation 2012-09-24 21:48:11 -07:00
folecr 5ff4d73688 Use new directives for renaming functions and classes 2012-09-21 11:41:08 -07:00
folecr 901146e2ee Synchronize cocos2dx.ini 2012-09-21 11:41:08 -07:00
Rohan Kuruvilla bc35e73179 Updating cocos2dx.ini including,
1. Adding key "rename_classes"
2. Renaming key "rename" to "rename_functions"
3. Adding CCParticleSystemQuad specific stuff
2012-09-20 18:02:17 -07: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
folecr 92ce4d4783 Update cocos2dx.ini so that the generated bindings and the TestJavascript app compile. 2012-09-19 13:21:26 -07:00
folecr 2c1c58eeb9 Update path calculation. 2012-09-18 17:02:21 -07:00
folecr 4c1fad1c6c chmod u+x genbindings.sh 2012-09-18 17:02:21 -07:00
folecr 8a688ef424 Script and config file for generating bindings 2012-09-18 17:02:21 -07:00