Commit Graph

391 Commits

Author SHA1 Message Date
James Chen 121519b7cd Merge pull request #1831 from dumganhar/iss1653-jsb-int
fixed #1653: Handling correctly when parsing int value in JSB.
2013-01-14 17:49:57 -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
johnangel a1155f52e6 Merge remote branch 'upstream/gles20' into gles20 2013-01-11 21:48:47 +01:00
James Chen 800e65b6fc fixed #1653: Using JSB_PRECONDITION2 to check return value in js_bindings_ccbreader.cpp and js_bindings_chipmunk_manual.cpp. 2013-01-11 22:00:42 +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 7f4146f3e2 issue #1653: JS_ValueToInt32, JS_ValueToECMAInt32 --> jsval_to_int32
Using JSB_PRECONDITION2 to check the return value of js api.
Reporting an error when binding api return JS_FALSE.
2013-01-11 17:44:39 +08:00
James Chen a8361bf703 issue #1653: Checking return value for 'native --> jsval'. 2013-01-11 13:54:57 +08:00
johnangel 16269d952d Detect VS2012 Update 1 2013-01-10 11:55:30 +01:00
James Chen c9c8ee66b9 issue #1646: Using GNU libstdc++ to build spiderMonkey on Android. 2013-01-09 14:45:36 +08:00
James Chen ad9138685e issue #1646: Updated spiderMonkey to FF18.0. 2013-01-09 13:42:21 +08:00
johnangel 674bb8e728 Setting PlatformToolSet to v110_xp instead of default v110 in Visual Studio 2012 for Windows XP support, leaving default v100 in Visual Studio 2010. 2013-01-07 11:51:05 +01: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 1882ca30f5 issue #1620: Binding sqlite3 to sys.localStorage. And updated win32 project configuration. 2013-01-06 14:42:24 +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 4bd15af2a2 issue #1640: Updated js files for jsbindings 2013-01-05 13:58:56 +08:00
minggo ffd0ca6c0e Merge pull request #1804 from dualface/fix_ccassert_lua_compatibility
[luabinding] fix CCAssert Lua compatibility
2013-01-03 23:51:47 -08:00
dualface e74e597dba [luabinding] fix CCAssert Lua compatibility 2012-12-30 02:27:25 +08:00
James Chen 0ee9cf027b Merge pull request #1803 from dumganhar/iss1627-vs2012
fixed #1627: VS version check in project file.
2012-12-28 22:54:04 -08:00
James Chen 9bd302e35b fixed #1627: VS version check in project file. 2012-12-29 13:54:46 +08:00
dualface d1e39a9c00 [luabinding] add CCDirector::setDisplayStats() 2012-12-29 11:16:07 +08:00
James Chen f2f3aa55bf Merge branch 'gles20' of https://github.com/johnangel/cocos2d-x into iss-vs2012
Conflicts:
	samples/Cpp/HelloCpp/proj.win32/HelloCpp.vcxproj
	samples/Cpp/TestCpp/proj.win32/TestCpp.vcxproj
	samples/Javascript/CocosDragonJS/proj.win32/CocosDragonJS.vcxproj
	samples/Javascript/MoonWarriors/proj.win32/MoonWarriors.vcxproj
	samples/Javascript/TestJavascript/proj.win32/TestJavascript.vcxproj
	samples/Javascript/WatermelonWithMe/proj.win32/WatermelonWithMe.vcxproj
	samples/Lua/HelloLua/proj.win32/HelloLua.vcxproj
	samples/Lua/TestLua/proj.win32/TestLua.win32.vcxproj
	scripting/javascript/bindings/generated
	scripting/lua/proj.win32/liblua.vcxproj
2012-12-29 09:48:22 +08:00
minggo 0adc6abe30 Merge pull request #1776 from dualface/make_ccassert_compatible_lua
[luabinding] make CCAssert compatible Lua
2012-12-26 23:28:32 -08:00
CocosRobot 38e5b67cb5 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2012-12-27 13:43:19 +08:00
James Chen 023b32a618 issue #1625: Updated LuaCocos2d.cpp. 2012-12-27 11:48:14 +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
dualface 09b1d9f520 Merge branch 'gles20' of git://github.com/cocos2d/cocos2d-x into make_ccassert_compatible_lua 2012-12-26 18:37:51 +08:00
dualface 57bccc7e4a remove CC_LUA_ENGINE_ENABLED macro 2012-12-26 18:33:55 +08:00
James Chen a6ded65f59 Added COCOS2D_DEBUG=1 for libJSBinding.vcxproj of debug mode. 2012-12-25 11:33:36 +08:00
James Chen bdb4df293b Merge branch 'gles20' of https://github.com/cocos2d/cocos2d-x into iss1602-jsb-sys 2012-12-25 10:01:48 +08:00
CocosRobot 3de95c9362 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2012-12-25 09:54:52 +08:00
johnangel 08cd9e37fc Setting PlatformToolSet to v110_xp for Visual Studio 2012 only. 2012-12-24 10:27:56 +01:00
James Chen cc7d383737 fixed #1622: Crash occurs when cc.Node.getChildren is invoked if there are no children. 2012-12-24 11:55:04 +08:00
James Chen 22a2b34637 issue #1620: Made sys.localStorage support for jsb, works ok on android. 2012-12-24 11:46:27 +08:00
ivzave fcce930188 repair linux eclipse build & add 64-bit project configurations 2012-12-22 07:14:59 +04:00
dualface cc69e39c8a [luabinding] make CCAssert compatible Lua 2012-12-22 10:13:37 +08:00
James Chen f26ce4fb84 Made sys.localStorage support for jsb, works ok on win32. 2012-12-21 18:07:45 +08:00
James Chen 6700a1c4ce issue #1603: fixed some warnings for liblua.vcxproj. 2012-12-20 17:28:49 +08:00
James Chen 9a0a5e6b31 issue #1603: fixed some warnings. 2012-12-20 17:18:49 +08:00
James Chen 1562658bd8 issue #1603: Added libJSBinding project for win32 platform. 2012-12-20 17:18:02 +08:00
James Chen 4660e72eda issue #1603: Moved the position of some projects. 2012-12-20 12:58:21 +08:00
unknown adb68ddbb6 Enable Windows XP support in Visual Studio 2012 Update 1.
Not tested with Visual Studio 2010, not sure will it work with PlatformToolset v110_xp.
2012-12-19 19:28:25 +01:00
unknown fdd67d37c9 Missing subproject 2012-12-18 23:01:22 +01: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
CocosRobot 13b04e3ee4 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2012-12-17 15:26:28 +08:00
dualface 98ea80329e fix android compile warning 2012-12-14 18:01:54 +08:00
James Chen e7328cf3ba fixed #1614: DrawNodeTest crashes on JSB. 2012-12-14 10:31:31 +08:00
Nicolas Gramlich 9537389949 Added cc.DrawNode.extend. 2012-12-12 21:49:29 +08:00
James Chen 190e6c1de5 Merge branch 'linux-lua' of https://github.com/dumganhar/cocos2d-x into lua-linux
Conflicts:
	scripting/lua/cocos2dx_support/LuaCocos2d.cpp
2012-12-10 17:25:23 +08:00
dualface f815cdc423 merge gles20 2012-12-10 17:00:16 +08:00
dualface 268aa45d2c rename CCNode:scheduleUpdateScriptHandlerWithPriority() to CCNode::scheduleUpdateWhitPriorityLua()
remove unused functions
2012-12-10 16:09:23 +08:00
dualface 77d4da6e22 [lua] remove va_list 2012-12-10 14:28:26 +08:00
dualface b6e605b9ae [lua] fix CCSequence export 2012-12-10 14:19:18 +08:00
dualface 4ca6cf8c7a [lua] update LuaCocos2d.cpp 2012-12-10 14:09:00 +08:00
dualface c8753f72ef [scripting] add CCNode::scheduleUpdateScriptHandlerWithPriority() 2012-12-10 13:48:27 +08:00
CocosRobot f7e87f2269 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2012-12-07 09:51:17 +08:00
CocosRobot fe9e6ba688 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2012-12-06 17:22:53 +08:00
James Chen 6a7a365365 Updated eclipse project configurations for linux 2012-12-06 14:57:03 +08:00
James Chen b044a89d6f Merge branch 'gles20' of https://github.com/ivzave/cocos2d-x into linux-lua
Conflicts:
	scripting/lua/cocos2dx_support/LuaCocos2d.cpp
2012-12-06 14:55:18 +08:00
James Chen 34eb3a88c2 Commented JS_SetGCZeal. 2012-12-04 17:23:08 +08:00
James Chen b5ae1f6d2a Updated MoonWarriors/Classes/AppDelegate.cpp.
Updated the submodule reference of cocos2d-js-tests to the latest one.
Fixed duplicate define in js_bindings_ccbreader.cpp.
2012-12-04 11:36:45 +08:00
CocosRobot 545002b3a9 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2012-12-04 10:59:58 +08:00
minggo 75845b56c0 Merge pull request #1694 from dualface/update_luabinding
Update luabinding
2012-12-03 18:59:23 -08:00
minggo bbcbfa71ef Merge pull request #1704 from minggo/cclayer_script_support
Cclayer script support
2012-12-03 18:55:11 -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 9f168faeb0 Merge pull request #1696 from fape/lua_marmalade
fixed #1591: Update for Lua marmalade.
* Add ignore marmalade generated Visual Studio directory
* Update Lua and HelloLua marmalade project file
* Add TestLua marmalade project
2012-12-03 18:51:39 -08:00
minggo c21ad515bd Merge pull request #1693 from dualface/add_tolua_isnull
add tolua.isnull()
2012-12-03 18:08:21 -08:00
minggo 7ad2484a91 Merge branch 'fix_CCLayer_script_support' of https://github.com/dualface/cocos2d-x into cclayer_script_support 2012-12-04 09:50:01 +08:00
James Chen 7c074d4ced issue #1550: fixed a memory leak in jsbinding. 2012-12-03 22:17:53 +08:00
James Chen 478791a472 Added CCBReader::setCCBRootPath. 2012-12-03 18:27:50 +08:00
James Chen f6185844a9 fixed #1588: Get the right js callback function in js_CCScheduler_schedule. 2012-12-03 15:59:29 +08:00
James Chen d97dfe162a fixed #1588: RescheduleCallback support for JSBinding. 2012-12-03 15:33:36 +08:00
fape aac98975da update lua marmalade project 2012-12-02 15:29:10 +01:00
dualface 0e65257bc2 [luabinding] remove duplicate ccLanguageType 2012-12-02 16:17:17 +08:00
dualface 5bc95780c0 update luabinding 2012-12-02 15:48:15 +08:00
dualface 308a01e629 [luabinding] add tolua.isnull() 2012-12-02 15:29:00 +08:00
dualface e0ee27cb17 [luabinding] fix CCLayer:getScriptTOuchHandlerEntry()
[luabinding] add CCLayer keypad, accelerometer support
2012-12-02 15:17:34 +08:00
James Chen 399fb53452 fixed #1586: Native object need to be an autorelease object. 2012-12-01 11:41:51 +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
Rohan Kuruvilla 745392ad6c Changing chipmunk manual bindings to fix GC issues 2012-11-30 16:08:19 -08:00
James Chen 94b1d39b2c Using release version of spidermonkey for win32, otherwise jsbinding project can't be run on other machines. 2012-11-30 22:45:51 +08:00
CocosRobot 3533358049 cocos2dxmatoMac-mini : updating submodule reference to latest autogenerated bindings 2012-11-30 22:20:22 +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 95875112fa Merge branch 'iss1583-js-tests' of https://github.com/dumganhar/cocos2d-x into iss1583-js-tests 2012-11-30 21:19:19 +08:00
James Chen 26790eb17a issue #1583: Added some Macros as follows:
cc.MENU_STATE_WAITING = 0;
cc.MENU_STATE_TRACKING_TOUCH = 1;
cc.MENU_HANDLER_PRIORITY = -128;
cc.DEFAULT_PADDING = 5;
2012-11-30 21:15:54 +08:00
James Chen 0d93f2d651 issue #1583: Bind cc.Menu.alignItemsInRows, cc.Menu.alignItemsInColums, cc.LayerMultiplex.create 2012-11-30 21:15:01 +08:00
James Chen 96e2707f39 issue #1583: Added jsvals_variadic_to_ccarray function. 2012-11-30 21:12:14 +08:00
James Chen e8c5f5f38c Added CCTexture2D::setTexParameters binding.
Fixed pass one more argument in JSCallFuncWrapper::callbackFunc if extraData is void.
2012-11-30 18:15:29 +08:00
minggo bb6e03bd3f Merge branch 'gles20' of https://github.com/cocos2d/cocos2d-x into iss1583-update-js 2012-11-30 17:42:51 +08:00
James Chen a37cc8a098 Updated jsb_constants_chipmunk.js and jsb_constants_cocosbuilder.js. 2012-11-29 15:29:58 +08:00
James Chen 494806167b Temporary commit. 2012-11-29 15:26:24 +08:00
James Chen 208132895e issue #1583: Moved the common js codes to scripting/javascript/bindings/js folder. Deleted the old js sample resources. 2012-11-29 11:27:39 +08:00
James Chen bb4b3fb4bc issue #1581: Deleted JS_AddObjectRoot when construct a JS array since JS_SetElement will not trigger a GC. 2012-11-29 11:01:32 +08:00
Rohan Kuruvilla a4b55b5217 Fixing Accelerometer crash on Android 2012-11-28 15:56:57 -08:00
James Chen a4762605b8 issue #1581: Removed some unused codes. 2012-11-28 22:24:12 +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