diff --git a/.gitmodules b/.gitmodules index 7b07af24eb..91585f7b9a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,7 +3,7 @@ url = git://github.com/cocos2d/bindings-generator.git [submodule "cocos/scripting/auto-generated"] path = cocos/scripting/auto-generated - url = git://github.com/folecr/cocos2dx-autogen-bindings.git + url = git://github.com/cocos2d-x/bindings-auto-generated.git [submodule "samples/Javascript/Shared"] path = samples/Javascript/Shared url = git://github.com/cocos2d/cocos2d-js-tests.git diff --git a/AUTHORS b/AUTHORS index 0638129f45..4dff8c12b5 100644 --- a/AUTHORS +++ b/AUTHORS @@ -618,8 +618,15 @@ Developers: Fixed a bug that cc.Scheduler.schedule(target, func) without repeat argument couldn't repeat schedule forever on device. XiaoLongHan (kpkhxlgy0) - Fixed a bug that outside of keyboard can't be responded to close keyboard when using EditBox。 - + Fixed a bug that outside of keyboard can't be responded to close keyboard when using EditBox. + + lettas + A fix for multi-platform template. + + HoGarfield (garfield_ho) + Fixed a bug that CCBReader can't play sequence automatically in JSB. + Could not set next animation in CCBAnimationCompleted callback. + Retired Core Developers: WenSheng Yang Author of windows port, CCTextField, diff --git a/CHANGELOG b/CHANGELOG index 3b2637b29d..7b81c3c5f9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,6 +6,8 @@ cocos2d-x-3.0alpha1 @??? 2013 [FIX] fixed a memory leak in XMLHTTPRequest.cpp [FIX] removeSpriteFramesFromFile() crashes if file doesn't exist. [FIX] Avoid unnecessary object duplication for Scale9Sprite. + [FIX] create_project.py does not rename/replace template projects completely. + [FIX] Could not set next animation in CCBAnimationCompleted callback. [Android] [FIX] Added EGL_RENDERABLE_TYPE to OpenGL attributes [NEW] Added Cocos2dxHelper.runOnGLThread(Runnable) again @@ -18,6 +20,7 @@ cocos2d-x-3.0alpha1 @??? 2013 [FIX] Fixed a memory leak in ScriptingCore::runScript() [FIX] sys.localStorage.getItem() does not support non-ascii string. [FIX] cc.Scheduler.schedule(target, func) without repeat argument couldn't repeat schedule forever on device. + [FIX] CCBReader can't play sequence automatically in JSB. [Lua Binding] [NEW] Added Armature lua binding and added test samples. diff --git a/build/Makefile b/build/Makefile index fbea65f3cd..761855d264 100644 --- a/build/Makefile +++ b/build/Makefile @@ -3,68 +3,89 @@ PLATFORM ?= linux all: chipmunk: - $(MAKE) -C external/chipmunk/proj.$(PLATFORM) + $(MAKE) -C ../external/chipmunk/proj.$(PLATFORM) chipmunk-clean: - $(MAKE) -C external/chipmunk/proj.$(PLATFORM) clean + $(MAKE) -C ../external/chipmunk/proj.$(PLATFORM) clean box2d: - $(MAKE) -C external/Box2D/proj.$(PLATFORM) + $(MAKE) -C ../external/Box2D/proj.$(PLATFORM) box2d-clean: - $(MAKE) -C external/Box2D/proj.$(PLATFORM) clean + $(MAKE) -C ../external/Box2D/proj.$(PLATFORM) clean -libextensions: chipmunk cocosdenshion box2d - $(MAKE) -C extensions/proj.$(PLATFORM) -libextensions-clean: - $(MAKE) -C extensions/proj.$(PLATFORM) clean +cocos2dx: chipmunk + $(MAKE) -C ../cocos/2d +cocos2dx-clean: + $(MAKE) -C ../cocos/2d clean -libcocos2dx: libextensions - $(MAKE) -C cocos2dx/proj.$(PLATFORM) -libcocos2dx-clean: - $(MAKE) -C cocos2dx/proj.$(PLATFORM) clean +audio: cocos2dx + $(MAKE) -C ../cocos/audio/proj.$(PLATFORM) +audio-clean: + $(MAKE) -C ../cocos/audio/proj.$(PLATFORM) clean -cocosdenshion: libcocos2dx - $(MAKE) -C audio/proj.$(PLATFORM) -cocosdenshion-clean: - $(MAKE) -C audio/proj.$(PLATFORM) clean +gui: + $(MAKE) -C ../cocos/gui +gui-clean: + $(MAKE) -C ../cocos/gui clean -lua: libextensions - $(MAKE) -C scripting/lua/proj.$(PLATFORM) +network: cocos2dx + $(MAKE) -C ../cocos/network +network-clean: + $(MAKE) -C ../cocos/network clean + +cocosbuilder: + $(MAKE) -C ../cocos/editor-support/cocosbuilder +cocosbuilder-clean: + $(MAKE) -C ../cocos/editor-support/cocosbuilder clean + +spine: + $(MAKE) -C ../cocos/editor-support/spine +spine-clean: + $(MAKE) -C ../cocos/editor-support/spine clean + +cocostudio: + $(MAKE) -C ../cocos/editor-support/cocostudio +cocostudio-clean: + $(MAKE) -C ../cocos/editor-support/cocostudio clean + +extensions: chipmunk audio box2d + $(MAKE) -C ../extensions/proj.$(PLATFORM) +extensions-clean: + $(MAKE) -C ../extensions/proj.$(PLATFORM) clean + +lua: extensions cocosbuilder cocostudio + $(MAKE) -C ../cocos/scripting/lua/bindings lua-clean: - $(MAKE) -C scripting/lua/proj.$(PLATFORM) clean + $(MAKE) -C ../cocos/scripting/lua/bindings clean -hellocpp: libcocos2dx - $(MAKE) -C samples/Cpp/HelloCpp/proj.$(PLATFORM) +hellocpp: cocos2dx + $(MAKE) -C ../samples/Cpp/HelloCpp/proj.$(PLATFORM) hellocpp-clean: - $(MAKE) -C samples/Cpp/HelloCpp/proj.$(PLATFORM) clean + $(MAKE) -C ../samples/Cpp/HelloCpp/proj.$(PLATFORM) clean -testcpp: libcocos2dx libextensions - $(MAKE) -C samples/Cpp/TestCpp/proj.$(PLATFORM) +testcpp: cocos2dx audio extensions cocostudio gui cocosbuilder spine network + $(MAKE) -C ../samples/Cpp/TestCpp/proj.$(PLATFORM) testcpp-clean: - $(MAKE) -C samples/Cpp/TestCpp/proj.$(PLATFORM) clean + $(MAKE) -C ../samples/Cpp/TestCpp/proj.$(PLATFORM) clean -simplegame: libcocos2dx - $(MAKE) -C samples/Cpp/SimpleGame/proj.$(PLATFORM) +simplegame: cocos2dx audio + $(MAKE) -C ../samples/Cpp/SimpleGame/proj.$(PLATFORM) simplegame-clean: - $(MAKE) -C samples/Cpp/SimpleGame/proj.$(PLATFORM) clean + $(MAKE) -C ../samples/Cpp/SimpleGame/proj.$(PLATFORM) clean -all: chipmunk cocosdenshion libextensions libcocos2dx lua hellocpp testcpp simplegame -clean: libcocos2dx-clean box2d-clean chipmunk-clean cocosdenshion-clean libextensions-clean lua-clean hellocpp-clean testcpp-clean simplegame-clean +all: chipmunk audio extensions cocos2dx lua hellocpp testcpp simplegame +clean: cocos2dx-clean box2d-clean chipmunk-clean audio-clean extensions-clean lua-clean hellocpp-clean testcpp-clean simplegame-clean -# Haven't yet got the lua projects working with emscripten -ifneq ($(PLATFORM),emscripten) - -hellolua: libcocos2dx lua - $(MAKE) -C samples/Lua/HelloLua/proj.$(PLATFORM) +hellolua: cocos2dx lua + $(MAKE) -C ../samples/Lua/HelloLua/proj.$(PLATFORM) hellolua-clean: - $(MAKE) -C samples/Lua/HelloLua/proj.$(PLATFORM) clean + $(MAKE) -C ../samples/Lua/HelloLua/proj.$(PLATFORM) clean -testlua: libcocos2dx lua - $(MAKE) -C samples/Lua/TestLua/proj.$(PLATFORM) +testlua: cocos2dx lua + $(MAKE) -C ../samples/Lua/TestLua/proj.$(PLATFORM) testlua-clean: - $(MAKE) -C samples/Lua/TestLua/proj.$(PLATFORM) clean + $(MAKE) -C ../samples/Lua/TestLua/proj.$(PLATFORM) clean all: hellolua testlua clean: hellolua-clean testlua-clean -endif .PHONY: all clean diff --git a/build/cocos2d-win32.vc2012.sln b/build/cocos2d-win32.vc2012.sln index 497a1d991c..c1f930fa51 100644 --- a/build/cocos2d-win32.vc2012.sln +++ b/build/cocos2d-win32.vc2012.sln @@ -1,98 +1,67 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libBox2D", "external\Box2D\proj.win32\Box2D.vcxproj", "{929480E7-23C0-4DF6-8456-096D71547116}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libAudio", "..\cocos\audio\proj.win32\CocosDenshion.vcxproj", "{F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchipmunk", "external\chipmunk\proj.win32\chipmunk.vcxproj", "{207BC7A9-CCF1-4F2F-A04D-45F72242AE25}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\cocos\2d\cocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "audio", "audio\proj.win32\CocosDenshion.vcxproj", "{F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}" - ProjectSection(ProjectDependencies) = postProject - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloCpp", "..\samples\Cpp\HelloCpp\proj.win32\HelloCpp.vcxproj", "{B8BF9E81-35FD-4582-BA1C-B85FA365BABB}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "cocos2dx\proj.win32\cocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libBox2D", "..\external\Box2D\proj.win32\Box2D.vcxproj", "{929480E7-23C0-4DF6-8456-096D71547116}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblua", "scripting\lua\proj.win32\liblua.vcxproj", "{DDC3E27F-004D-4DD4-9DD3-931A013D2159}" - ProjectSection(ProjectDependencies) = postProject - {21B2C324-891F-48EA-AD1A-5AE13DE12E28} = {21B2C324-891F-48EA-AD1A-5AE13DE12E28} - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} = {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchipmunk", "..\external\chipmunk\proj.win32\chipmunk.vcxproj", "{207BC7A9-CCF1-4F2F-A04D-45F72242AE25}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libExtensions", "extensions\proj.win32\libExtensions.vcxproj", "{21B2C324-891F-48EA-AD1A-5AE13DE12E28}" - ProjectSection(ProjectDependencies) = postProject - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} = {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} = {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libExtensions", "..\extensions\proj.win32\libExtensions.vcxproj", "{21B2C324-891F-48EA-AD1A-5AE13DE12E28}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloCpp", "samples\Cpp\HelloCpp\proj.win32\HelloCpp.vcxproj", "{B8BF9E81-35FD-4582-BA1C-B85FA365BABB}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestCpp", "..\samples\Cpp\TestCpp\proj.win32\TestCpp.vcxproj", "{76A39BB2-9B84-4C65-98A5-654D86B86F2A}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestCpp", "samples\Cpp\TestCpp\proj.win32\TestCpp.vcxproj", "{76A39BB2-9B84-4C65-98A5-654D86B86F2A}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCocosBuilder", "..\cocos\editor-support\cocosbuilder\proj.win32\libCocosBuilder.vcxproj", "{811C0DAB-7B96-4BD3-A154-B7572B58E4AB}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CocosDragonJS", "samples\Javascript\CocosDragonJS\proj.win32\CocosDragonJS.vcxproj", "{68ED0B4E-2BCA-45D2-9648-CEABEBD3B9D7}" - ProjectSection(ProjectDependencies) = postProject - {21B2C324-891F-48EA-AD1A-5AE13DE12E28} = {21B2C324-891F-48EA-AD1A-5AE13DE12E28} - {39379840-825A-45A0-B363-C09FFEF864BD} = {39379840-825A-45A0-B363-C09FFEF864BD} - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} = {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} - {929480E7-23C0-4DF6-8456-096D71547116} = {929480E7-23C0-4DF6-8456-096D71547116} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCocosStudio", "..\cocos\editor-support\cocostudio\proj.win32\libCocosStudio.vcxproj", "{B57CF53F-2E49-4031-9822-047CC0E6BDE2}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MoonWarriors", "samples\Javascript\MoonWarriors\proj.win32\MoonWarriors.vcxproj", "{1DB7C0FC-46FF-4A1B-82E0-C6244EEEC4C2}" - ProjectSection(ProjectDependencies) = postProject - {21B2C324-891F-48EA-AD1A-5AE13DE12E28} = {21B2C324-891F-48EA-AD1A-5AE13DE12E28} - {39379840-825A-45A0-B363-C09FFEF864BD} = {39379840-825A-45A0-B363-C09FFEF864BD} - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} = {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} - {929480E7-23C0-4DF6-8456-096D71547116} = {929480E7-23C0-4DF6-8456-096D71547116} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libGUI", "..\cocos\gui\proj.win32\libGUI.vcxproj", "{7E06E92C-537A-442B-9E4A-4761C84F8A1A}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestJavascript", "samples\Javascript\TestJavascript\proj.win32\TestJavascript.vcxproj", "{D0F06A44-A245-4D13-A498-0120C203B539}" - ProjectSection(ProjectDependencies) = postProject - {21B2C324-891F-48EA-AD1A-5AE13DE12E28} = {21B2C324-891F-48EA-AD1A-5AE13DE12E28} - {39379840-825A-45A0-B363-C09FFEF864BD} = {39379840-825A-45A0-B363-C09FFEF864BD} - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} = {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} - {929480E7-23C0-4DF6-8456-096D71547116} = {929480E7-23C0-4DF6-8456-096D71547116} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libNetwork", "..\cocos\network\proj.win32\libNetwork.vcxproj", "{DF2638C0-8128-4847-867C-6EAFE3DEE7B5}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WatermelonWithMe", "samples\Javascript\WatermelonWithMe\proj.win32\WatermelonWithMe.vcxproj", "{BE092D9E-95AE-4F86-84CE-F4519E4F3F15}" - ProjectSection(ProjectDependencies) = postProject - {21B2C324-891F-48EA-AD1A-5AE13DE12E28} = {21B2C324-891F-48EA-AD1A-5AE13DE12E28} - {39379840-825A-45A0-B363-C09FFEF864BD} = {39379840-825A-45A0-B363-C09FFEF864BD} - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} = {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} - {929480E7-23C0-4DF6-8456-096D71547116} = {929480E7-23C0-4DF6-8456-096D71547116} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSpine", "..\cocos\editor-support\spine\proj.win32\libSpine.vcxproj", "{B7C2A162-DEC9-4418-972E-240AB3CBFCAE}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloLua", "samples\Lua\HelloLua\proj.win32\HelloLua.vcxproj", "{13E55395-94A2-4CD9-BFC2-1A051F80C17D}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AssetsManagerTest", "..\samples\Cpp\AssetsManagerTest\proj.win32\AssetsManagerTest.vcxproj", "{6D37505F-A890-441D-BD3F-A61E2C0469CE}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestLua", "samples\Lua\TestLua\proj.win32\TestLua.win32.vcxproj", "{4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}" - ProjectSection(ProjectDependencies) = postProject - {21B2C324-891F-48EA-AD1A-5AE13DE12E28} = {21B2C324-891F-48EA-AD1A-5AE13DE12E28} - {DDC3E27F-004D-4DD4-9DD3-931A013D2159} = {DDC3E27F-004D-4DD4-9DD3-931A013D2159} - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} = {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} - {929480E7-23C0-4DF6-8456-096D71547116} = {929480E7-23C0-4DF6-8456-096D71547116} - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} = {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libJSBinding", "..\cocos\scripting\javascript\bindings\proj.win32\libJSBinding.vcxproj", "{39379840-825A-45A0-B363-C09FFEF864BD}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libJSBinding", "scripting\javascript\bindings\proj.win32\libJSBinding.vcxproj", "{39379840-825A-45A0-B363-C09FFEF864BD}" - ProjectSection(ProjectDependencies) = postProject - {21B2C324-891F-48EA-AD1A-5AE13DE12E28} = {21B2C324-891F-48EA-AD1A-5AE13DE12E28} - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} = {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestJavascript", "..\samples\Javascript\TestJavascript\proj.win32\TestJavascript.vcxproj", "{D0F06A44-A245-4D13-A498-0120C203B539}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CrystalCraze", "samples\Javascript\CrystalCraze\proj.win32\CrystalCraze.vcxproj", "{9A17D9A4-4B11-4E32-94F6-895FF4909EC5}" - ProjectSection(ProjectDependencies) = postProject - {21B2C324-891F-48EA-AD1A-5AE13DE12E28} = {21B2C324-891F-48EA-AD1A-5AE13DE12E28} - {39379840-825A-45A0-B363-C09FFEF864BD} = {39379840-825A-45A0-B363-C09FFEF864BD} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libLocalStorage", "..\cocos\storage\local-storage\proj.win32\libLocalStorage.vcxproj", "{632A8F38-D0F0-4D22-86B3-D69F5E6BF63A}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AssetsManagerTest", "samples\Cpp\AssetsManagerTest\proj.win32\AssetsManagerTest.vcxproj", "{6D37505F-A890-441D-BD3F-A61E2C0469CE}" - ProjectSection(ProjectDependencies) = postProject - {21B2C324-891F-48EA-AD1A-5AE13DE12E28} = {21B2C324-891F-48EA-AD1A-5AE13DE12E28} - {39379840-825A-45A0-B363-C09FFEF864BD} = {39379840-825A-45A0-B363-C09FFEF864BD} - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} = {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CocosDragonJS", "..\samples\Javascript\CocosDragonJS\proj.win32\CocosDragonJS.vcxproj", "{68ED0B4E-2BCA-45D2-9648-CEABEBD3B9D7}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CrystalCraze", "..\samples\Javascript\CrystalCraze\proj.win32\CrystalCraze.vcxproj", "{9A17D9A4-4B11-4E32-94F6-895FF4909EC5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MoonWarriors", "..\samples\Javascript\MoonWarriors\proj.win32\MoonWarriors.vcxproj", "{1DB7C0FC-46FF-4A1B-82E0-C6244EEEC4C2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WatermelonWithMe", "..\samples\Javascript\WatermelonWithMe\proj.win32\WatermelonWithMe.vcxproj", "{BE092D9E-95AE-4F86-84CE-F4519E4F3F15}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblua", "..\cocos\scripting\lua\bindings\liblua.vcxproj", "{DDC3E27F-004D-4DD4-9DD3-931A013D2159}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloLua", "..\samples\Lua\HelloLua\proj.win32\HelloLua.vcxproj", "{13E55395-94A2-4CD9-BFC2-1A051F80C17D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestLua", "..\samples\Lua\TestLua\proj.win32\TestLua.win32.vcxproj", "{4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SimpleGame", "..\samples\Cpp\SimpleGame\proj.win32\SimpleGame.vcxproj", "{E0E282F4-8487-452C-BFAB-CB960EB4D22F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libJSBindingForBuilder", "..\cocos\scripting\javascript\bindings\cocosbuilder\libJSBindingForBuilder.vcxproj", "{F9DA0FC1-651B-457B-962E-A4D61CEBF5FD}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libJSBindingForStudio", "..\cocos\scripting\javascript\bindings\cocostudio\libJSBindingForStudio.vcxproj", "{79D34511-E54E-410A-8BBA-EF175AD6C695}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libJSBindingForNetwork", "..\cocos\scripting\javascript\bindings\network\libJSBindingForNetwork.vcxproj", "{3BEC13F5-E227-4D80-BC77-1C857F83BCFC}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libJSBindingForExtension", "..\cocos\scripting\javascript\bindings\extension\libJSBindingForExtension.vcxproj", "{625F7391-9A91-48A1-8CFC-79508C822637}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libJSBinding", "libJSBinding", "{10F98A57-B9A1-47DA-9FBA-12D328E72ED1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libJSBindingForChipmunk", "..\cocos\scripting\javascript\bindings\chipmunk\libJSBindingForChipmunk.vcxproj", "{21070E58-EEC6-4E16-8B4F-6D083DF55790}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libJSBindingForLocalStorage", "..\cocos\scripting\javascript\bindings\localstorage\libJSBindingForLocalStorage.vcxproj", "{68F5F371-BD7B-4C30-AE5B-0B08F22E0CDE}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -100,14 +69,6 @@ Global Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {929480E7-23C0-4DF6-8456-096D71547116}.Debug|Win32.ActiveCfg = Debug|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Debug|Win32.Build.0 = Debug|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Release|Win32.ActiveCfg = Release|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Release|Win32.Build.0 = Release|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.ActiveCfg = Debug|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.Build.0 = Debug|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.ActiveCfg = Release|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.Build.0 = Release|Win32 {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.ActiveCfg = Debug|Win32 {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.Build.0 = Debug|Win32 {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.ActiveCfg = Release|Win32 @@ -116,38 +77,82 @@ Global {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.Build.0 = Debug|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.ActiveCfg = Release|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.Build.0 = Release|Win32 - {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Debug|Win32.ActiveCfg = Debug|Win32 - {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Debug|Win32.Build.0 = Debug|Win32 - {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Release|Win32.ActiveCfg = Release|Win32 - {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Release|Win32.Build.0 = Release|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.ActiveCfg = Debug|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.Build.0 = Debug|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.ActiveCfg = Release|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.Build.0 = Release|Win32 {B8BF9E81-35FD-4582-BA1C-B85FA365BABB}.Debug|Win32.ActiveCfg = Debug|Win32 {B8BF9E81-35FD-4582-BA1C-B85FA365BABB}.Debug|Win32.Build.0 = Debug|Win32 {B8BF9E81-35FD-4582-BA1C-B85FA365BABB}.Release|Win32.ActiveCfg = Release|Win32 {B8BF9E81-35FD-4582-BA1C-B85FA365BABB}.Release|Win32.Build.0 = Release|Win32 + {929480E7-23C0-4DF6-8456-096D71547116}.Debug|Win32.ActiveCfg = Debug|Win32 + {929480E7-23C0-4DF6-8456-096D71547116}.Debug|Win32.Build.0 = Debug|Win32 + {929480E7-23C0-4DF6-8456-096D71547116}.Release|Win32.ActiveCfg = Release|Win32 + {929480E7-23C0-4DF6-8456-096D71547116}.Release|Win32.Build.0 = Release|Win32 + {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.ActiveCfg = Debug|Win32 + {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.Build.0 = Debug|Win32 + {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.ActiveCfg = Release|Win32 + {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.Build.0 = Release|Win32 + {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.ActiveCfg = Debug|Win32 + {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.Build.0 = Debug|Win32 + {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.ActiveCfg = Release|Win32 + {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.Build.0 = Release|Win32 {76A39BB2-9B84-4C65-98A5-654D86B86F2A}.Debug|Win32.ActiveCfg = Debug|Win32 {76A39BB2-9B84-4C65-98A5-654D86B86F2A}.Debug|Win32.Build.0 = Debug|Win32 {76A39BB2-9B84-4C65-98A5-654D86B86F2A}.Release|Win32.ActiveCfg = Release|Win32 {76A39BB2-9B84-4C65-98A5-654D86B86F2A}.Release|Win32.Build.0 = Release|Win32 - {68ED0B4E-2BCA-45D2-9648-CEABEBD3B9D7}.Debug|Win32.ActiveCfg = Debug|Win32 - {68ED0B4E-2BCA-45D2-9648-CEABEBD3B9D7}.Debug|Win32.Build.0 = Debug|Win32 - {68ED0B4E-2BCA-45D2-9648-CEABEBD3B9D7}.Release|Win32.ActiveCfg = Release|Win32 - {68ED0B4E-2BCA-45D2-9648-CEABEBD3B9D7}.Release|Win32.Build.0 = Release|Win32 - {1DB7C0FC-46FF-4A1B-82E0-C6244EEEC4C2}.Debug|Win32.ActiveCfg = Debug|Win32 - {1DB7C0FC-46FF-4A1B-82E0-C6244EEEC4C2}.Debug|Win32.Build.0 = Debug|Win32 - {1DB7C0FC-46FF-4A1B-82E0-C6244EEEC4C2}.Release|Win32.ActiveCfg = Release|Win32 - {1DB7C0FC-46FF-4A1B-82E0-C6244EEEC4C2}.Release|Win32.Build.0 = Release|Win32 + {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Debug|Win32.ActiveCfg = Debug|Win32 + {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Debug|Win32.Build.0 = Debug|Win32 + {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Release|Win32.ActiveCfg = Release|Win32 + {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Release|Win32.Build.0 = Release|Win32 + {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Debug|Win32.ActiveCfg = Debug|Win32 + {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Debug|Win32.Build.0 = Debug|Win32 + {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Release|Win32.ActiveCfg = Release|Win32 + {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Release|Win32.Build.0 = Release|Win32 + {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Debug|Win32.ActiveCfg = Debug|Win32 + {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Debug|Win32.Build.0 = Debug|Win32 + {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Release|Win32.ActiveCfg = Release|Win32 + {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Release|Win32.Build.0 = Release|Win32 + {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Debug|Win32.ActiveCfg = Debug|Win32 + {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Debug|Win32.Build.0 = Debug|Win32 + {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Release|Win32.ActiveCfg = Release|Win32 + {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Release|Win32.Build.0 = Release|Win32 + {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Debug|Win32.ActiveCfg = Debug|Win32 + {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Debug|Win32.Build.0 = Debug|Win32 + {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Release|Win32.ActiveCfg = Release|Win32 + {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Release|Win32.Build.0 = Release|Win32 + {6D37505F-A890-441D-BD3F-A61E2C0469CE}.Debug|Win32.ActiveCfg = Debug|Win32 + {6D37505F-A890-441D-BD3F-A61E2C0469CE}.Debug|Win32.Build.0 = Debug|Win32 + {6D37505F-A890-441D-BD3F-A61E2C0469CE}.Release|Win32.ActiveCfg = Release|Win32 + {6D37505F-A890-441D-BD3F-A61E2C0469CE}.Release|Win32.Build.0 = Release|Win32 + {39379840-825A-45A0-B363-C09FFEF864BD}.Debug|Win32.ActiveCfg = Debug|Win32 + {39379840-825A-45A0-B363-C09FFEF864BD}.Debug|Win32.Build.0 = Debug|Win32 + {39379840-825A-45A0-B363-C09FFEF864BD}.Release|Win32.ActiveCfg = Release|Win32 + {39379840-825A-45A0-B363-C09FFEF864BD}.Release|Win32.Build.0 = Release|Win32 {D0F06A44-A245-4D13-A498-0120C203B539}.Debug|Win32.ActiveCfg = Debug|Win32 {D0F06A44-A245-4D13-A498-0120C203B539}.Debug|Win32.Build.0 = Debug|Win32 {D0F06A44-A245-4D13-A498-0120C203B539}.Release|Win32.ActiveCfg = Release|Win32 {D0F06A44-A245-4D13-A498-0120C203B539}.Release|Win32.Build.0 = Release|Win32 + {632A8F38-D0F0-4D22-86B3-D69F5E6BF63A}.Debug|Win32.ActiveCfg = Debug|Win32 + {632A8F38-D0F0-4D22-86B3-D69F5E6BF63A}.Debug|Win32.Build.0 = Debug|Win32 + {632A8F38-D0F0-4D22-86B3-D69F5E6BF63A}.Release|Win32.ActiveCfg = Release|Win32 + {632A8F38-D0F0-4D22-86B3-D69F5E6BF63A}.Release|Win32.Build.0 = Release|Win32 + {68ED0B4E-2BCA-45D2-9648-CEABEBD3B9D7}.Debug|Win32.ActiveCfg = Debug|Win32 + {68ED0B4E-2BCA-45D2-9648-CEABEBD3B9D7}.Debug|Win32.Build.0 = Debug|Win32 + {68ED0B4E-2BCA-45D2-9648-CEABEBD3B9D7}.Release|Win32.ActiveCfg = Release|Win32 + {68ED0B4E-2BCA-45D2-9648-CEABEBD3B9D7}.Release|Win32.Build.0 = Release|Win32 + {9A17D9A4-4B11-4E32-94F6-895FF4909EC5}.Debug|Win32.ActiveCfg = Debug|Win32 + {9A17D9A4-4B11-4E32-94F6-895FF4909EC5}.Debug|Win32.Build.0 = Debug|Win32 + {9A17D9A4-4B11-4E32-94F6-895FF4909EC5}.Release|Win32.ActiveCfg = Release|Win32 + {9A17D9A4-4B11-4E32-94F6-895FF4909EC5}.Release|Win32.Build.0 = Release|Win32 + {1DB7C0FC-46FF-4A1B-82E0-C6244EEEC4C2}.Debug|Win32.ActiveCfg = Debug|Win32 + {1DB7C0FC-46FF-4A1B-82E0-C6244EEEC4C2}.Debug|Win32.Build.0 = Debug|Win32 + {1DB7C0FC-46FF-4A1B-82E0-C6244EEEC4C2}.Release|Win32.ActiveCfg = Release|Win32 + {1DB7C0FC-46FF-4A1B-82E0-C6244EEEC4C2}.Release|Win32.Build.0 = Release|Win32 {BE092D9E-95AE-4F86-84CE-F4519E4F3F15}.Debug|Win32.ActiveCfg = Debug|Win32 {BE092D9E-95AE-4F86-84CE-F4519E4F3F15}.Debug|Win32.Build.0 = Debug|Win32 {BE092D9E-95AE-4F86-84CE-F4519E4F3F15}.Release|Win32.ActiveCfg = Release|Win32 {BE092D9E-95AE-4F86-84CE-F4519E4F3F15}.Release|Win32.Build.0 = Release|Win32 + {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Debug|Win32.ActiveCfg = Debug|Win32 + {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Debug|Win32.Build.0 = Debug|Win32 + {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Release|Win32.ActiveCfg = Release|Win32 + {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Release|Win32.Build.0 = Release|Win32 {13E55395-94A2-4CD9-BFC2-1A051F80C17D}.Debug|Win32.ActiveCfg = Debug|Win32 {13E55395-94A2-4CD9-BFC2-1A051F80C17D}.Debug|Win32.Build.0 = Debug|Win32 {13E55395-94A2-4CD9-BFC2-1A051F80C17D}.Release|Win32.ActiveCfg = Release|Win32 @@ -156,40 +161,46 @@ Global {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Debug|Win32.Build.0 = Debug|Win32 {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Release|Win32.ActiveCfg = Release|Win32 {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Release|Win32.Build.0 = Release|Win32 - {39379840-825A-45A0-B363-C09FFEF864BD}.Debug|Win32.ActiveCfg = Debug|Win32 - {39379840-825A-45A0-B363-C09FFEF864BD}.Debug|Win32.Build.0 = Debug|Win32 - {39379840-825A-45A0-B363-C09FFEF864BD}.Release|Win32.ActiveCfg = Release|Win32 - {39379840-825A-45A0-B363-C09FFEF864BD}.Release|Win32.Build.0 = Release|Win32 - {9A17D9A4-4B11-4E32-94F6-895FF4909EC5}.Debug|Win32.ActiveCfg = Debug|Win32 - {9A17D9A4-4B11-4E32-94F6-895FF4909EC5}.Debug|Win32.Build.0 = Debug|Win32 - {9A17D9A4-4B11-4E32-94F6-895FF4909EC5}.Release|Win32.ActiveCfg = Release|Win32 - {9A17D9A4-4B11-4E32-94F6-895FF4909EC5}.Release|Win32.Build.0 = Release|Win32 - {6D37505F-A890-441D-BD3F-A61E2C0469CE}.Debug|Win32.ActiveCfg = Debug|Win32 - {6D37505F-A890-441D-BD3F-A61E2C0469CE}.Debug|Win32.Build.0 = Debug|Win32 - {6D37505F-A890-441D-BD3F-A61E2C0469CE}.Release|Win32.ActiveCfg = Release|Win32 - {6D37505F-A890-441D-BD3F-A61E2C0469CE}.Release|Win32.Build.0 = Release|Win32 + {E0E282F4-8487-452C-BFAB-CB960EB4D22F}.Debug|Win32.ActiveCfg = Debug|Win32 + {E0E282F4-8487-452C-BFAB-CB960EB4D22F}.Debug|Win32.Build.0 = Debug|Win32 + {E0E282F4-8487-452C-BFAB-CB960EB4D22F}.Release|Win32.ActiveCfg = Release|Win32 + {E0E282F4-8487-452C-BFAB-CB960EB4D22F}.Release|Win32.Build.0 = Release|Win32 + {F9DA0FC1-651B-457B-962E-A4D61CEBF5FD}.Debug|Win32.ActiveCfg = Debug|Win32 + {F9DA0FC1-651B-457B-962E-A4D61CEBF5FD}.Debug|Win32.Build.0 = Debug|Win32 + {F9DA0FC1-651B-457B-962E-A4D61CEBF5FD}.Release|Win32.ActiveCfg = Release|Win32 + {F9DA0FC1-651B-457B-962E-A4D61CEBF5FD}.Release|Win32.Build.0 = Release|Win32 + {79D34511-E54E-410A-8BBA-EF175AD6C695}.Debug|Win32.ActiveCfg = Debug|Win32 + {79D34511-E54E-410A-8BBA-EF175AD6C695}.Debug|Win32.Build.0 = Debug|Win32 + {79D34511-E54E-410A-8BBA-EF175AD6C695}.Release|Win32.ActiveCfg = Release|Win32 + {79D34511-E54E-410A-8BBA-EF175AD6C695}.Release|Win32.Build.0 = Release|Win32 + {3BEC13F5-E227-4D80-BC77-1C857F83BCFC}.Debug|Win32.ActiveCfg = Debug|Win32 + {3BEC13F5-E227-4D80-BC77-1C857F83BCFC}.Debug|Win32.Build.0 = Debug|Win32 + {3BEC13F5-E227-4D80-BC77-1C857F83BCFC}.Release|Win32.ActiveCfg = Release|Win32 + {3BEC13F5-E227-4D80-BC77-1C857F83BCFC}.Release|Win32.Build.0 = Release|Win32 + {625F7391-9A91-48A1-8CFC-79508C822637}.Debug|Win32.ActiveCfg = Debug|Win32 + {625F7391-9A91-48A1-8CFC-79508C822637}.Debug|Win32.Build.0 = Debug|Win32 + {625F7391-9A91-48A1-8CFC-79508C822637}.Release|Win32.ActiveCfg = Release|Win32 + {625F7391-9A91-48A1-8CFC-79508C822637}.Release|Win32.Build.0 = Release|Win32 + {21070E58-EEC6-4E16-8B4F-6D083DF55790}.Debug|Win32.ActiveCfg = Debug|Win32 + {21070E58-EEC6-4E16-8B4F-6D083DF55790}.Debug|Win32.Build.0 = Debug|Win32 + {21070E58-EEC6-4E16-8B4F-6D083DF55790}.Release|Win32.ActiveCfg = Release|Win32 + {21070E58-EEC6-4E16-8B4F-6D083DF55790}.Release|Win32.Build.0 = Release|Win32 + {68F5F371-BD7B-4C30-AE5B-0B08F22E0CDE}.Debug|Win32.ActiveCfg = Debug|Win32 + {68F5F371-BD7B-4C30-AE5B-0B08F22E0CDE}.Debug|Win32.Build.0 = Debug|Win32 + {68F5F371-BD7B-4C30-AE5B-0B08F22E0CDE}.Release|Win32.ActiveCfg = Release|Win32 + {68F5F371-BD7B-4C30-AE5B-0B08F22E0CDE}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} = {F51B8DCB-62CD-441F-B85D-43BD8EA432F1} - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} = {F51B8DCB-62CD-441F-B85D-43BD8EA432F1} - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {F51B8DCB-62CD-441F-B85D-43BD8EA432F1} - {21B2C324-891F-48EA-AD1A-5AE13DE12E28} = {F51B8DCB-62CD-441F-B85D-43BD8EA432F1} - {929480E7-23C0-4DF6-8456-096D71547116} = {F51B8DCB-62CD-441F-B85D-43BD8EA432F1} - {13E55395-94A2-4CD9-BFC2-1A051F80C17D} = {69C8AC8E-8B5C-474C-950D-1DB7F367E22C} - {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED} = {69C8AC8E-8B5C-474C-950D-1DB7F367E22C} - {DDC3E27F-004D-4DD4-9DD3-931A013D2159} = {69C8AC8E-8B5C-474C-950D-1DB7F367E22C} - {76A39BB2-9B84-4C65-98A5-654D86B86F2A} = {8DFE8821-1A1A-4894-9EA1-2A211F8CEDEA} - {B8BF9E81-35FD-4582-BA1C-B85FA365BABB} = {8DFE8821-1A1A-4894-9EA1-2A211F8CEDEA} - {6D37505F-A890-441D-BD3F-A61E2C0469CE} = {8DFE8821-1A1A-4894-9EA1-2A211F8CEDEA} - {1DB7C0FC-46FF-4A1B-82E0-C6244EEEC4C2} = {42FCBD79-852E-4A68-9C3F-51200BAF5732} - {D0F06A44-A245-4D13-A498-0120C203B539} = {42FCBD79-852E-4A68-9C3F-51200BAF5732} - {BE092D9E-95AE-4F86-84CE-F4519E4F3F15} = {42FCBD79-852E-4A68-9C3F-51200BAF5732} - {68ED0B4E-2BCA-45D2-9648-CEABEBD3B9D7} = {42FCBD79-852E-4A68-9C3F-51200BAF5732} - {39379840-825A-45A0-B363-C09FFEF864BD} = {42FCBD79-852E-4A68-9C3F-51200BAF5732} - {9A17D9A4-4B11-4E32-94F6-895FF4909EC5} = {42FCBD79-852E-4A68-9C3F-51200BAF5732} + {39379840-825A-45A0-B363-C09FFEF864BD} = {10F98A57-B9A1-47DA-9FBA-12D328E72ED1} + {F9DA0FC1-651B-457B-962E-A4D61CEBF5FD} = {10F98A57-B9A1-47DA-9FBA-12D328E72ED1} + {625F7391-9A91-48A1-8CFC-79508C822637} = {10F98A57-B9A1-47DA-9FBA-12D328E72ED1} + {3BEC13F5-E227-4D80-BC77-1C857F83BCFC} = {10F98A57-B9A1-47DA-9FBA-12D328E72ED1} + {79D34511-E54E-410A-8BBA-EF175AD6C695} = {10F98A57-B9A1-47DA-9FBA-12D328E72ED1} + {21070E58-EEC6-4E16-8B4F-6D083DF55790} = {10F98A57-B9A1-47DA-9FBA-12D328E72ED1} + {68F5F371-BD7B-4C30-AE5B-0B08F22E0CDE} = {10F98A57-B9A1-47DA-9FBA-12D328E72ED1} EndGlobalSection GlobalSection(DPCodeReviewSolutionGUID) = preSolution DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} diff --git a/build/cocos2d_libs.xcodeproj/project.pbxproj.REMOVED.git-id b/build/cocos2d_libs.xcodeproj/project.pbxproj.REMOVED.git-id index e48cb4ba94..18265b616b 100644 --- a/build/cocos2d_libs.xcodeproj/project.pbxproj.REMOVED.git-id +++ b/build/cocos2d_libs.xcodeproj/project.pbxproj.REMOVED.git-id @@ -1 +1 @@ -9fac2ba89faf5e6f3c870c02f5186641e6be1590 \ No newline at end of file +1c487d29bdc2d80516e86e2ee93b1664e9f7df2f \ No newline at end of file diff --git a/build/install-deps-linux.sh b/build/install-deps-linux.sh index f62c78a3e8..687b51926b 100755 --- a/build/install-deps-linux.sh +++ b/build/install-deps-linux.sh @@ -32,5 +32,5 @@ if [ -n "$MISSING" ]; then fi # install glfw -tools/travis-scripts/install_glfw.sh +../tools/travis-scripts/install_glfw.sh diff --git a/cocos/2d/Android.mk b/cocos/2d/Android.mk index 7e60320ddb..6a25764f44 100644 --- a/cocos/2d/Android.mk +++ b/cocos/2d/Android.mk @@ -191,12 +191,7 @@ LOCAL_EXPORT_LDLIBS := -lGLESv2 \ -lz \ -landroid -LOCAL_WHOLE_STATIC_LIBRARIES := cocos_libpng_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocos_jpeg_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocos_libxml2_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocos_libtiff_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocos_libwebp_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocos_freetype2_static +LOCAL_WHOLE_STATIC_LIBRARIES := cocos_freetype2_static LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dxandroid_static @@ -208,10 +203,6 @@ LOCAL_EXPORT_CPPFLAGS := -Wno-literal-suffix include $(BUILD_STATIC_LIBRARY) -$(call import-module,jpeg/prebuilt/android) -$(call import-module,png/prebuilt/android) -$(call import-module,tiff/prebuilt/android) -$(call import-module,webp/prebuilt/android) $(call import-module,freetype2/prebuilt/android) $(call import-module,chipmunk) $(call import-module,2d/platform/android) diff --git a/cocos/2d/CCNode.cpp b/cocos/2d/CCNode.cpp index 5c6a47e822..2145829c34 100644 --- a/cocos/2d/CCNode.cpp +++ b/cocos/2d/CCNode.cpp @@ -134,8 +134,6 @@ Node::Node(void) , _oldEventPriority(0) #ifdef CC_USE_PHYSICS , _physicsBody(nullptr) -, _physicsPositionMark(true) -, _physicsRotationMark(true) #endif { // set default scheduler and actionManager @@ -272,12 +270,10 @@ void Node::setRotation(float newRotation) _transformDirty = _inverseDirty = true; #ifdef CC_USE_PHYSICS - if (_physicsBody && _physicsRotationMark) + if (_physicsBody) { _physicsBody->setRotation(newRotation); } - - _physicsRotationMark = true; #endif } @@ -364,12 +360,10 @@ void Node::setPosition(const Point& newPosition) _transformDirty = _inverseDirty = true; #ifdef CC_USE_PHYSICS - if (_physicsBody && _physicsPositionMark) + if (_physicsBody) { _physicsBody->setPosition(newPosition); } - - _physicsPositionMark = true; #endif } @@ -901,7 +895,11 @@ void Node::transformAncestors() } void Node::transform() -{ +{ +#ifdef CC_USE_PHYSICS + updatePhysicsTransform(); +#endif + kmMat4 transfrom4x4; // Convert 3x3 into 4x4 matrix @@ -1298,18 +1296,20 @@ Point Node::convertTouchToNodeSpaceAR(Touch *touch) const return this->convertToNodeSpaceAR(point); } -void Node::updateTransform() -{ #ifdef CC_USE_PHYSICS +void Node::updatePhysicsTransform() +{ if (_physicsBody) { - _physicsPositionMark = false; - _physicsRotationMark = false; - setPosition(_physicsBody->getPosition()); - setRotation(_physicsBody->getRotation()); + _position = _physicsBody->getPosition(); + _rotationX = _rotationY = _physicsBody->getRotation(); + _transformDirty = _inverseDirty = true; } +} #endif - + +void Node::updateTransform() +{ // Recursively iterate over children arrayMakeObjectsPerformSelector(_children, updateTransform, Node*); } diff --git a/cocos/2d/CCNode.h b/cocos/2d/CCNode.h index 133968d19b..ca0529756b 100644 --- a/cocos/2d/CCNode.h +++ b/cocos/2d/CCNode.h @@ -1384,12 +1384,18 @@ public: /** * set the PhysicsBody that let the sprite effect with physics */ - virtual void setPhysicsBody(PhysicsBody* body); + void setPhysicsBody(PhysicsBody* body); /** * get the PhysicsBody the sprite have */ PhysicsBody* getPhysicsBody() const; + + /** + * update rotation and position from physics body + */ + virtual void updatePhysicsTransform(); + #endif @@ -1506,8 +1512,6 @@ protected: #ifdef CC_USE_PHYSICS PhysicsBody* _physicsBody; ///< the physicsBody the node have - bool _physicsPositionMark; ///< set this mark to false will skip the setRotation to physicsBody one time - bool _physicsRotationMark; ///< set this mark to false will skip the setPosition to physicsBody one time #endif }; diff --git a/cocos/2d/CCSprite.cpp b/cocos/2d/CCSprite.cpp index db9f4544f2..676138d9b1 100644 --- a/cocos/2d/CCSprite.cpp +++ b/cocos/2d/CCSprite.cpp @@ -449,7 +449,12 @@ void Sprite::setTextureCoords(Rect rect) void Sprite::updateTransform(void) { CCASSERT(_batchNode, "updateTransform is only valid when Sprite is being rendered using an SpriteBatchNode"); - + +#ifdef CC_USE_PHYSICS + updatePhysicsTransform(); + setDirty(true); +#endif + // recalculate matrix only if it is dirty if( isDirty() ) { diff --git a/cocos/2d/Makefile b/cocos/2d/Makefile index fa3d1cb659..d88604b130 100644 --- a/cocos/2d/Makefile +++ b/cocos/2d/Makefile @@ -1,93 +1,83 @@ TARGET = libcocos2d.so -INCLUDES += \ - -I../platform/third_party/linux/libfreetype2 \ - -I../platform/third_party/common/etc \ - -I../platform/third_party/common/s3tc \ - -I../platform/third_party/common/atitc \ - -I../../extensions \ - -I../../extensions/CCBReader \ - -I../../extensions/GUI/CCControlExtension \ - -I../../extensions/GUI/CCControlExtension \ - -I../../external/chipmunk/include/chipmunk \ - -I../../extensions/network \ - -I../../extensions/Components +INCLUDES = -SOURCES = ../actions/CCAction.cpp \ -../actions/CCActionCamera.cpp \ -../actions/CCActionEase.cpp \ -../actions/CCActionGrid.cpp \ -../actions/CCActionGrid3D.cpp \ -../actions/CCActionInstant.cpp \ -../actions/CCActionInterval.cpp \ -../actions/CCActionManager.cpp \ -../actions/CCActionPageTurn3D.cpp \ -../actions/CCActionProgressTimer.cpp \ -../actions/CCActionTiledGrid.cpp \ -../actions/CCActionCatmullRom.cpp \ -../actions/CCActionTween.cpp \ -../base_nodes/CCAtlasNode.cpp \ -../base_nodes/CCNode.cpp \ -../cocoa/CCAffineTransform.cpp \ -../cocoa/CCAutoreleasePool.cpp \ -../cocoa/CCGeometry.cpp \ -../cocoa/CCNS.cpp \ -../cocoa/CCObject.cpp \ -../cocoa/CCSet.cpp \ -../cocoa/CCArray.cpp \ -../cocoa/CCDictionary.cpp \ -../cocoa/CCString.cpp \ -../cocoa/CCDataVisitor.cpp \ -../cocoa/CCData.cpp \ -../event_dispatcher/CCEventAcceleration.cpp \ -../event_dispatcher/CCEventListenerAcceleration.cpp \ -../event_dispatcher/CCEvent.cpp \ -../event_dispatcher/CCEventDispatcher.cpp \ -../event_dispatcher/CCEventListener.cpp \ -../event_dispatcher/CCEventKeyboard.cpp \ -../event_dispatcher/CCEventListenerKeyboard.cpp \ -../event_dispatcher/CCTouch.cpp \ -../event_dispatcher/CCEventTouch.cpp \ -../event_dispatcher/CCEventListenerTouch.cpp \ -../event_dispatcher/CCEventCustom.cpp \ -../event_dispatcher/CCEventListenerCustom.cpp \ -../draw_nodes/CCDrawingPrimitives.cpp \ -../draw_nodes/CCDrawNode.cpp \ -../effects/CCGrabber.cpp \ -../effects/CCGrid.cpp \ -../label_nodes/CCFont.cpp \ -../label_nodes/CCFontAtlas.cpp \ -../label_nodes/CCFontAtlasCache.cpp \ -../label_nodes/CCFontAtlasFactory.cpp \ -../label_nodes/CCFontDefinition.cpp \ -../label_nodes/CCFontFNT.cpp \ -../label_nodes/CCFontFreeType.cpp \ -../label_nodes/CCLabel.cpp \ -../label_nodes/CCLabelAtlas.cpp \ -../label_nodes/CCLabelBMFont.cpp \ -../label_nodes/CCLabelTTF.cpp \ -../label_nodes/CCLabelTextFormatter.cpp \ -../label_nodes/CCTextImage.cpp \ -../layers_scenes_transitions_nodes/CCLayer.cpp \ -../layers_scenes_transitions_nodes/CCScene.cpp \ -../layers_scenes_transitions_nodes/CCTransition.cpp \ -../layers_scenes_transitions_nodes/CCTransitionPageTurn.cpp \ -../layers_scenes_transitions_nodes/CCTransitionProgress.cpp \ -../menu_nodes/CCMenu.cpp \ -../menu_nodes/CCMenuItem.cpp \ -../misc_nodes/CCMotionStreak.cpp \ -../misc_nodes/CCProgressTimer.cpp \ -../misc_nodes/CCClippingNode.cpp \ -../misc_nodes/CCRenderTexture.cpp \ -../particle_nodes/CCParticleExamples.cpp \ -../particle_nodes/CCParticleSystem.cpp \ -../particle_nodes/CCParticleSystemQuad.cpp \ -../particle_nodes/CCParticleBatchNode.cpp \ -../physics/Box2D/CCPhysicsContactInfo.cpp \ -../physics/Box2D/CCPhysicsJointInfo.cpp \ -../physics/Box2D/CCPhysicsShapeInfo.cpp \ -../physics/Box2D/CCPhysicsBodyInfo.cpp \ -../physics/Box2D/CCPhysicsWorldInfo.cpp \ +SOURCES = \ +CCAction.cpp \ +CCActionCamera.cpp \ +CCActionEase.cpp \ +CCActionGrid.cpp \ +CCActionGrid3D.cpp \ +CCActionInstant.cpp \ +CCActionInterval.cpp \ +CCActionManager.cpp \ +CCActionPageTurn3D.cpp \ +CCActionProgressTimer.cpp \ +CCActionTiledGrid.cpp \ +CCActionCatmullRom.cpp \ +CCActionTween.cpp \ +CCAtlasNode.cpp \ +CCNode.cpp \ +../base/CCAffineTransform.cpp \ +../base/CCAutoreleasePool.cpp \ +../base/CCGeometry.cpp \ +../base/CCNS.cpp \ +../base/CCObject.cpp \ +../base/CCSet.cpp \ +../base/CCArray.cpp \ +../base/CCDictionary.cpp \ +../base/CCString.cpp \ +../base/CCDataVisitor.cpp \ +../base/CCData.cpp \ +CCEventAcceleration.cpp \ +CCEventListenerAcceleration.cpp \ +CCEvent.cpp \ +CCEventDispatcher.cpp \ +CCEventListener.cpp \ +CCEventKeyboard.cpp \ +CCEventListenerKeyboard.cpp \ +CCTouch.cpp \ +CCEventTouch.cpp \ +CCEventListenerTouch.cpp \ +CCEventCustom.cpp \ +CCEventListenerCustom.cpp \ +CCDrawingPrimitives.cpp \ +CCDrawNode.cpp \ +CCGrabber.cpp \ +CCGrid.cpp \ +CCFont.cpp \ +CCFontAtlas.cpp \ +CCFontAtlasCache.cpp \ +CCFontAtlasFactory.cpp \ +CCFontDefinition.cpp \ +CCFontFNT.cpp \ +CCFontFreeType.cpp \ +CCLabel.cpp \ +CCLabelAtlas.cpp \ +CCLabelBMFont.cpp \ +CCLabelTTF.cpp \ +CCLabelTextFormatter.cpp \ +CCTextImage.cpp \ +CCLayer.cpp \ +CCScene.cpp \ +CCTransition.cpp \ +CCTransitionPageTurn.cpp \ +CCTransitionProgress.cpp \ +CCMenu.cpp \ +CCMenuItem.cpp \ +CCMotionStreak.cpp \ +CCProgressTimer.cpp \ +CCClippingNode.cpp \ +CCRenderTexture.cpp \ +CCParticleExamples.cpp \ +CCParticleSystem.cpp \ +CCParticleSystemQuad.cpp \ +CCParticleBatchNode.cpp \ +../physics/box2d/CCPhysicsContactInfo.cpp \ +../physics/box2d/CCPhysicsJointInfo.cpp \ +../physics/box2d/CCPhysicsShapeInfo.cpp \ +../physics/box2d/CCPhysicsBodyInfo.cpp \ +../physics/box2d/CCPhysicsWorldInfo.cpp \ ../physics/chipmunk/CCPhysicsContactInfo.cpp \ ../physics/chipmunk/CCPhysicsJointInfo.cpp \ ../physics/chipmunk/CCPhysicsShapeInfo.cpp \ @@ -109,68 +99,68 @@ SOURCES = ../actions/CCAction.cpp \ ../platform/linux/CCEGLView.cpp \ ../platform/linux/CCImage.cpp \ ../platform/linux/CCDevice.cpp \ -../platform/third_party/common/etc/etc1.cpp \ -../platform/third_party/common/s3tc/s3tc.cpp \ -../platform/third_party/common/atitc/atitc.cpp \ -../script_support/CCScriptSupport.cpp \ -../sprite_nodes/CCAnimation.cpp \ -../sprite_nodes/CCAnimationCache.cpp \ -../sprite_nodes/CCSprite.cpp \ -../sprite_nodes/CCSpriteBatchNode.cpp \ -../sprite_nodes/CCSpriteFrame.cpp \ -../sprite_nodes/CCSpriteFrameCache.cpp \ -../support/ccUTF8.cpp \ -../support/CCProfiling.cpp \ -../support/user_default/CCUserDefault.cpp \ -../support/TransformUtils.cpp \ -../support/base64.cpp \ -../support/ccUtils.cpp \ -../support/CCVertex.cpp \ -../support/CCNotificationCenter.cpp \ -../support/image_support/TGAlib.cpp \ -../support/tinyxml2/tinyxml2.cpp \ -../support/zip_support/ZipUtils.cpp \ -../support/zip_support/ioapi.cpp \ -../support/zip_support/unzip.cpp \ -../support/data_support/ccCArray.cpp \ -../support/component/CCComponent.cpp \ -../support/component/CCComponentContainer.cpp \ -../text_input_node/CCIMEDispatcher.cpp \ -../text_input_node/CCTextFieldTTF.cpp \ -../textures/CCTexture2D.cpp \ -../textures/CCTextureAtlas.cpp \ -../textures/CCTextureCache.cpp \ -../tilemap_parallax_nodes/CCParallaxNode.cpp \ -../tilemap_parallax_nodes/CCTMXLayer.cpp \ -../tilemap_parallax_nodes/CCTMXObjectGroup.cpp \ -../tilemap_parallax_nodes/CCTMXTiledMap.cpp \ -../tilemap_parallax_nodes/CCTMXXMLParser.cpp \ -../tilemap_parallax_nodes/CCTileMapAtlas.cpp \ -../shaders/CCGLProgram.cpp \ -../shaders/ccGLStateCache.cpp \ -../shaders/CCShaderCache.cpp \ -../shaders/ccShaders.cpp \ -../kazmath/src/aabb.c \ -../kazmath/src/plane.c \ -../kazmath/src/vec2.c \ -../kazmath/src/mat3.c \ -../kazmath/src/quaternion.c \ -../kazmath/src/vec3.c \ -../kazmath/src/mat4.c \ -../kazmath/src/ray2.c \ -../kazmath/src/vec4.c \ -../kazmath/src/neon_matrix_impl.c \ -../kazmath/src/utility.c \ -../kazmath/src/GL/mat4stack.c \ -../kazmath/src/GL/matrix.c \ -../CCCamera.cpp \ -../CCConfiguration.cpp \ -../CCDirector.cpp \ -../CCScheduler.cpp \ -../ccFPSImages.c \ -../ccTypes.cpp \ -../cocos2d.cpp \ -../CCDeprecated.cpp +../base/etc1.cpp \ +../base/s3tc.cpp \ +../base/atitc.cpp \ +CCScriptSupport.cpp \ +CCAnimation.cpp \ +CCAnimationCache.cpp \ +CCSprite.cpp \ +CCSpriteBatchNode.cpp \ +CCSpriteFrame.cpp \ +CCSpriteFrameCache.cpp \ +ccUTF8.cpp \ +CCProfiling.cpp \ +CCUserDefault.cpp \ +TransformUtils.cpp \ +base64.cpp \ +ccUtils.cpp \ +CCVertex.cpp \ +CCNotificationCenter.cpp \ +TGAlib.cpp \ +../../external/tinyxml2/tinyxml2.cpp \ +ZipUtils.cpp \ +../../external/unzip/ioapi.cpp \ +../../external/unzip/unzip.cpp \ +ccCArray.cpp \ +CCComponent.cpp \ +CCComponentContainer.cpp \ +CCIMEDispatcher.cpp \ +CCTextFieldTTF.cpp \ +CCTexture2D.cpp \ +CCTextureAtlas.cpp \ +CCTextureCache.cpp \ +CCParallaxNode.cpp \ +CCTMXLayer.cpp \ +CCTMXObjectGroup.cpp \ +CCTMXTiledMap.cpp \ +CCTMXXMLParser.cpp \ +CCTileMapAtlas.cpp \ +CCGLProgram.cpp \ +ccGLStateCache.cpp \ +CCShaderCache.cpp \ +ccShaders.cpp \ +../math/kazmath/src/aabb.c \ +../math/kazmath/src/plane.c \ +../math/kazmath/src/vec2.c \ +../math/kazmath/src/mat3.c \ +../math/kazmath/src/quaternion.c \ +../math/kazmath/src/vec3.c \ +../math/kazmath/src/mat4.c \ +../math/kazmath/src/ray2.c \ +../math/kazmath/src/vec4.c \ +../math/kazmath/src/neon_matrix_impl.c \ +../math/kazmath/src/utility.c \ +../math/kazmath/src/GL/mat4stack.c \ +../math/kazmath/src/GL/matrix.c \ +CCCamera.cpp \ +CCConfiguration.cpp \ +CCDirector.cpp \ +CCScheduler.cpp \ +ccFPSImages.c \ +ccTypes.cpp \ +cocos2d.cpp \ +CCDeprecated.cpp COCOS_ROOT = ../.. @@ -189,10 +179,24 @@ $(TARGET): $(OBJECTS) $(CORE_MAKEFILE_LIST) @mkdir -p $(@D) $(LOG_LINK)$(CXX) $(CXXFLAGS) $(OBJECTS) -shared -o $@ $(SHAREDLIBS) $(STATICLIBS) $(LIBS) +$(OBJ_DIR)/%.o: %.cpp $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ + $(OBJ_DIR)/%.o: ../%.cpp $(CORE_MAKEFILE_LIST) @mkdir -p $(@D) $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ +$(OBJ_DIR)/%.o: ../../%.cpp $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ + +$(OBJ_DIR)/%.o: %.c $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_CC)$(CC) $(CCFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ + $(OBJ_DIR)/%.o: ../%.c $(CORE_MAKEFILE_LIST) @mkdir -p $(@D) $(LOG_CC)$(CC) $(CCFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ + + diff --git a/cocos/2d/cocos2d.vcxproj b/cocos/2d/cocos2d.vcxproj index 46a695d1e2..a7f030bb9f 100644 --- a/cocos/2d/cocos2d.vcxproj +++ b/cocos/2d/cocos2d.vcxproj @@ -36,9 +36,13 @@ + + + + @@ -69,7 +73,7 @@ Disabled - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;$(ProjectDir)..;$(ProjectDir)..\platform\win32;$(ProjectDir)..\platform\third_party\win32\iconv;$(ProjectDir)..\platform\third_party\win32\zlib;$(ProjectDir)..\platform\third_party\win32\libpng;$(ProjectDir)..\platform\third_party\win32\libjpeg;$(ProjectDir)..\platform\third_party\win32\libtiff;$(ProjectDir)..\platform\third_party\win32\libwebp;$(ProjectDir)..\platform\third_party\win32\libfreetype2;$(ProjectDir)..\platform\third_party\win32\OGLES;..\include;$(ProjectDir)..\kazmath\include;$(ProjectDir)..\platform\third_party\common\etc;$(ProjectDir)..\..\external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) + $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\win32;$(EngineRoot)external\jpeg\include\win32;$(EngineRoot)external\tiff\include\win32;$(EngineRoot)external\webp\include\win32;$(EngineRoot)external\freetype2\include\win32;$(EngineRoot)external\win32-specific\icon\include;$(EngineRoot)external\win32-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false EnableFastChecks @@ -83,7 +87,16 @@ if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\platform\third_party\win32\libraries\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\freetype2\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\glfw3\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\curl\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\jpeg\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\png\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\tiff\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\webp\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\zlib\prebuilt\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\icon\prebuilt\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\gles\prebuilt\*.*" "$(OutDir)" @@ -107,7 +120,7 @@ xcopy /Y /Q "$(ProjectDir)..\platform\third_party\win32\libraries\*.*" "$(OutDir - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;$(ProjectDir)..;$(ProjectDir)..\platform\win32;$(ProjectDir)..\platform\third_party\win32\iconv;$(ProjectDir)..\platform\third_party\win32\zlib;$(ProjectDir)..\platform\third_party\win32\libpng;$(ProjectDir)..\platform\third_party\win32\libjpeg;$(ProjectDir)..\platform\third_party\win32\libtiff;$(ProjectDir)..\platform\third_party\win32\libwebp;$(ProjectDir)..\platform\third_party\win32\libfreetype2;$(ProjectDir)..\platform\third_party\win32\OGLES;..\include;$(ProjectDir)..\kazmath\include;$(ProjectDir)..\platform\third_party\common\etc;%(AdditionalIncludeDirectories) + $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\win32;$(EngineRoot)external\jpeg\include\win32;$(EngineRoot)external\tiff\include\win32;$(EngineRoot)external\webp\include\win32;$(EngineRoot)external\freetype2\include\win32;$(EngineRoot)external\win32-specific\icon\include;$(EngineRoot)external\win32-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) MultiThreadedDLL @@ -119,7 +132,16 @@ xcopy /Y /Q "$(ProjectDir)..\platform\third_party\win32\libraries\*.*" "$(OutDir if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\platform\third_party\win32\libraries\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\freetype2\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\glfw3\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\curl\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\jpeg\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\png\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\tiff\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\webp\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\zlib\prebuilt\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\icon\prebuilt\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\gles\prebuilt\*.*" "$(OutDir)" @@ -140,79 +162,36 @@ xcopy /Y /Q "$(ProjectDir)..\platform\third_party\win32\libraries\*.*" "$(OutDir - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -228,162 +207,158 @@ xcopy /Y /Q "$(ProjectDir)..\platform\third_party\win32\libraries\*.*" "$(OutDir - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -402,101 +377,147 @@ xcopy /Y /Q "$(ProjectDir)..\platform\third_party\win32\libraries\*.*" "$(OutDir - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cocos/2d/cocos2d.vcxproj.filters b/cocos/2d/cocos2d.vcxproj.filters index 391517347c..2028e708c8 100644 --- a/cocos/2d/cocos2d.vcxproj.filters +++ b/cocos/2d/cocos2d.vcxproj.filters @@ -4,9 +4,6 @@ {cc64f5ad-2234-494c-9c51-b7a20c8887aa} - - {aec8225f-81a7-4213-b97b-7004d5535398} - {736cf4ab-e0d6-40ba-912a-b062d28d318a} @@ -67,21 +64,6 @@ {7751500e-ac9e-4604-a96d-670b30b7d8bd} - - {b38113b1-3d59-4f6e-ac5a-f43921f6ed09} - - - {569c49c9-27eb-456e-a3f4-9f403e28a3a1} - - - {191b3e94-47dc-4054-b1cb-bf145d281521} - - - {a91a4cc0-41e6-43e9-80c0-2c9101924386} - - - {e278b354-1e41-4e92-95b3-7f661ba67140} - {163895ae-8a8e-46bf-bdf2-98bb2c1347fc} @@ -112,397 +94,26 @@ {b9880458-36e5-4f28-a34b-d01d9512a395} + + {05e27e68-7574-4a8b-af68-553dd3bafdfa} + + + {b797075f-7437-46d5-b4ee-2aa2c108e98f} + + + {c755509d-1610-4e6c-b01b-e01d4d0de46e} + + + {e1b64497-c099-4f06-8d61-9d4c6b7a215a} + + + {7c71abeb-8b4b-4be8-a23c-e32fedc65fc9} + + + {aec8225f-81a7-4213-b97b-7004d5535398} + - - base_nodes - - - base_nodes - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - effects - - - effects - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - label_nodes - - - label_nodes - - - label_nodes - - - layers_scenes_transitions_nodes - - - layers_scenes_transitions_nodes - - - layers_scenes_transitions_nodes - - - layers_scenes_transitions_nodes - - - layers_scenes_transitions_nodes - - - menu_nodes - - - menu_nodes - - - misc_nodes - - - misc_nodes - - - misc_nodes - - - particle_nodes - - - particle_nodes - - - particle_nodes - - - particle_nodes - - - platform - - - platform - - - platform - - - platform\win32 - - - platform\win32 - - - platform\win32 - - - platform\win32 - - - platform\win32 - - - sprite_nodes - - - sprite_nodes - - - sprite_nodes - - - sprite_nodes - - - sprite_nodes - - - sprite_nodes - - - support - - - support - - - support - - - support - - - support - - - support - - - support\data_support - - - support\image_support - - - support\zip_support - - - support\zip_support - - - support\zip_support - - - textures - - - textures - - - textures - - - tilemap_parallax_nodes - - - tilemap_parallax_nodes - - - tilemap_parallax_nodes - - - tilemap_parallax_nodes - - - tilemap_parallax_nodes - - - tilemap_parallax_nodes - - - text_input_node - - - text_input_node - - - script_support - - - kazmath\src - - - kazmath\src - - - kazmath\src - - - kazmath\src - - - kazmath\src - - - kazmath\src - - - kazmath\src - - - kazmath\src - - - kazmath\src - - - kazmath\src - - - kazmath\src - - - kazmath\src\GL - - - kazmath\src\GL - - - - - - - - draw_nodes - - - draw_nodes - - - misc_nodes - - - shaders - - - shaders - - - shaders - - - shaders - - - platform\win32 - - - platform - - - platform\win32 - - - support - - - support\user_default - - - support\tinyxml2 - - - cocoa - - - - support\component - - - support\component - - - - platform\etc - - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - platform - - - platform - - - event_dispatcher - - - event_dispatcher - - - event_dispatcher - - - event_dispatcher - physics @@ -548,535 +159,421 @@ physics\Box2D - + + base_nodes + + + base_nodes + + + effects + + + effects + + event_dispatcher - + event_dispatcher - + event_dispatcher - + event_dispatcher - + event_dispatcher - + event_dispatcher - + event_dispatcher - + event_dispatcher + + event_dispatcher + + + event_dispatcher + + + event_dispatcher + + + event_dispatcher + + + kazmath\src\GL + + + kazmath\src\GL + + + kazmath\src + + + kazmath\src + + + kazmath\src + + + kazmath\src + + + kazmath\src + + + kazmath\src + + + kazmath\src + + + kazmath\src + + + kazmath\src + + + kazmath\src + + + kazmath\src + + + layers_scenes_transitions_nodes + + + layers_scenes_transitions_nodes + + + layers_scenes_transitions_nodes + + + layers_scenes_transitions_nodes + + + layers_scenes_transitions_nodes + + + menu_nodes + + + menu_nodes + + + misc_nodes + + + misc_nodes + + + misc_nodes + + + misc_nodes + + + particle_nodes + + + particle_nodes + + + particle_nodes + + + particle_nodes + + + script_support + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + draw_nodes + + + draw_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + platform\etc + + + platform\win32 + + + platform\win32 + + + platform\win32 + + + platform\win32 + + + platform\win32 + + + platform\win32 + + + platform\win32 + + + platform + + + platform + + + platform + + + platform + + + platform + + + platform + + + shaders + + + shaders + + + shaders + + + shaders + + + sprite_nodes + + + sprite_nodes + + + sprite_nodes + + + sprite_nodes + + + sprite_nodes + + + sprite_nodes + + + text_input_node + + + text_input_node + + + textures + + + textures + + + textures + + + tilemap_parallax_nodes + + + tilemap_parallax_nodes + + + tilemap_parallax_nodes + + + tilemap_parallax_nodes + + + tilemap_parallax_nodes + + + tilemap_parallax_nodes + + + + + + + + + + + support + + + support + + + support + + + support + + + support + + + support + + + support\component + + + support\component + + + support\data_support + + + support\image_support + + + support\tinyxml2 + + + support\user_default + + + support\zip_support + + + support\zip_support + + + support\zip_support + + + base + + + base + + + base + + + base + + + base + + + base + + + base + + + base + + + base + + + base + + + base + + + support + - - base_nodes - - - base_nodes - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - effects - - - effects - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - actions - - - include - - - include - - - include - - - include - - - include - - - include - - - label_nodes - - - label_nodes - - - label_nodes - - - layers_scenes_transitions_nodes - - - layers_scenes_transitions_nodes - - - layers_scenes_transitions_nodes - - - layers_scenes_transitions_nodes - - - layers_scenes_transitions_nodes - - - menu_nodes - - - menu_nodes - - - misc_nodes - - - misc_nodes - - - misc_nodes - - - particle_nodes - - - particle_nodes - - - particle_nodes - - - particle_nodes - - - platform - - - platform - - - platform - - - platform - - - platform - - - platform - - - platform - - - platform - - - platform - - - platform - - - platform\win32 - - - platform\win32 - - - platform\win32 - - - platform\win32 - - - platform\win32 - - - sprite_nodes - - - sprite_nodes - - - sprite_nodes - - - sprite_nodes - - - sprite_nodes - - - sprite_nodes - - - support - - - support - - - support - - - support - - - support - - - support - - - support\data_support - - - support\data_support - - - support\data_support - - - support\image_support - - - support\zip_support - - - support\zip_support - - - support\zip_support - - - textures - - - textures - - - textures - - - tilemap_parallax_nodes - - - tilemap_parallax_nodes - - - tilemap_parallax_nodes - - - tilemap_parallax_nodes - - - tilemap_parallax_nodes - - - tilemap_parallax_nodes - - - text_input_node - - - text_input_node - - - text_input_node - - - script_support - - - kazmath\include\kazmath - - - kazmath\include\kazmath - - - kazmath\include\kazmath - - - kazmath\include\kazmath - - - kazmath\include\kazmath - - - kazmath\include\kazmath - - - kazmath\include\kazmath - - - kazmath\include\kazmath - - - kazmath\include\kazmath - - - kazmath\include\kazmath - - - kazmath\include\kazmath - - - kazmath\include\kazmath - - - kazmath\include\kazmath\GL - - - kazmath\include\kazmath\GL - - - - - - - draw_nodes - - - draw_nodes - - - misc_nodes - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - shaders - - - platform\win32 - - - support - - - support\user_default - - - support\tinyxml2 - - - cocoa - - - cocoa - - - cocoa - - - cocoa - - - - support\component - - - support\component - - - include - - - platform\etc - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - label_nodes - - - platform - - - platform - - - platform - - - event_dispatcher - - - event_dispatcher - - - event_dispatcher - - - event_dispatcher - physics @@ -1131,29 +628,529 @@ physics\Box2D - + + base_nodes + + + base_nodes + + + effects + + + effects + + event_dispatcher - + event_dispatcher - + event_dispatcher - + event_dispatcher - + event_dispatcher - + event_dispatcher - + event_dispatcher - + event_dispatcher + + event_dispatcher + + + event_dispatcher + + + event_dispatcher + + + event_dispatcher + + + include + + + include + + + include + + + include + + + include + + + include + + + include + + + kazmath\include\kazmath + + + kazmath\include\kazmath + + + kazmath\include\kazmath + + + kazmath\include\kazmath + + + kazmath\include\kazmath + + + kazmath\include\kazmath + + + kazmath\include\kazmath + + + kazmath\include\kazmath + + + kazmath\include\kazmath + + + kazmath\include\kazmath + + + kazmath\include\kazmath + + + kazmath\include\kazmath + + + kazmath\include\kazmath\GL + + + kazmath\include\kazmath\GL + + + layers_scenes_transitions_nodes + + + layers_scenes_transitions_nodes + + + layers_scenes_transitions_nodes + + + layers_scenes_transitions_nodes + + + layers_scenes_transitions_nodes + + + menu_nodes + + + menu_nodes + + + misc_nodes + + + misc_nodes + + + misc_nodes + + + misc_nodes + + + particle_nodes + + + particle_nodes + + + particle_nodes + + + particle_nodes + + + script_support + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + actions + + + draw_nodes + + + draw_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + label_nodes + + + platform\etc + + + platform\win32 + + + platform\win32 + + + platform\win32 + + + platform\win32 + + + platform\win32 + + + platform\win32 + + + platform + + + platform + + + platform + + + platform + + + platform + + + platform + + + platform + + + platform + + + platform + + + platform + + + platform + + + platform + + + platform + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + shaders + + + sprite_nodes + + + sprite_nodes + + + sprite_nodes + + + sprite_nodes + + + sprite_nodes + + + sprite_nodes + + + text_input_node + + + text_input_node + + + text_input_node + + + textures + + + textures + + + textures + + + tilemap_parallax_nodes + + + tilemap_parallax_nodes + + + tilemap_parallax_nodes + + + tilemap_parallax_nodes + + + tilemap_parallax_nodes + + + tilemap_parallax_nodes + + + + + + + + support + + + support + + + support + + + support + + + support + + + support + + + support + + + support\component + + + support\component + + + support\data_support + + + support\data_support + + + support\data_support + + + support\image_support + + + support\tinyxml2 + + + support\user_default + + + support\zip_support + + + support\zip_support + + + support\zip_support + + + base + + + base + + + base + + + base + + + base + + + base + + + base + + + base + + + base + + + base + + + base + + + base + + + base + + + base + + + base + \ No newline at end of file diff --git a/cocos/2d/cocos2d_headers.props b/cocos/2d/cocos2d_headers.props new file mode 100644 index 0000000000..020fd07d2f --- /dev/null +++ b/cocos/2d/cocos2d_headers.props @@ -0,0 +1,20 @@ + + + + + $(MSBuildThisFileDirectory)..\..\ + + + + + $(EngineRoot)cocos\2d;$(EngineRoot)cocos\base;$(EngineRoot)cocos\physics;$(EngineRoot)cocos\math\kazmath\include;$(EngineRoot)cocos\2d\platform\win32;$(EngineRoot)external\glfw3\include\win32;$(EngineRoot)external\win32-specific\gles\include\OGLES; + _VARIADIC_MAX=10;%(PreprocessorDefinitions) + + + + + $(EngineRoot) + true + + + \ No newline at end of file diff --git a/cocos/2d/cocos2dx.mk b/cocos/2d/cocos2dx.mk index 0058e43bac..41ef87b631 100644 --- a/cocos/2d/cocos2dx.mk +++ b/cocos/2d/cocos2dx.mk @@ -45,28 +45,30 @@ THIS_MAKEFILE := $(CURDIR)/$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) ifndef COCOS_ROOT COCOS_ROOT := $(realpath $(dir $(THIS_MAKEFILE))/../..) endif -COCOS_SRC = $(COCOS_ROOT)/cocos2dx +COCOS_SRC = $(COCOS_ROOT)/cocos/2d OBJ_DIR ?= obj LIB_DIR = $(COCOS_ROOT)/lib/linux BIN_DIR = bin INCLUDES += \ - -I$(COCOS_SRC) \ - -I$(COCOS_SRC)/cocoa \ - -I$(COCOS_SRC)/include \ - -I$(COCOS_SRC)/kazmath/include \ + -I$(COCOS_SRC)/ \ + -I$(COCOS_SRC)/../math/kazmath/include \ -I$(COCOS_SRC)/platform/linux \ - -I$(COCOS_SRC)/platform/third_party/linux/libjpeg \ - -I$(COCOS_SRC)/platform/third_party/linux/libtiff \ - -I$(COCOS_SRC)/platform/third_party/linux/libwebp + -I$(COCOS_SRC)/../../external/jpeg/include/linux \ + -I$(COCOS_SRC)/../../external/tiff/include/linux \ + -I$(COCOS_SRC)/../../external/webp/include/linux \ + -I$(COCOS_SRC)/../../external/tinyxml2 \ + -I$(COCOS_SRC)/../../external/unzip \ + -I$(COCOS_SRC)/../../external/glfw3/include/linux \ + -I$(COCOS_SRC)/../physics \ + -I$(COCOS_SRC)/../base \ + -I$(COCOS_SRC)/../../external/chipmunk/include/chipmunk \ + -I$(COCOS_SRC)/../../external/freetype2/include/linux \ + -I$(COCOS_SRC)/../.. \ + -I$(COCOS_SRC)/../audio/include LBITS := $(shell getconf LONG_BIT) -ifeq ($(LBITS),64) -INCLUDES += -I$(COCOS_SRC)/platform/third_party/linux/include64 -else -INCLUDES += -I$(COCOS_SRC)/platform/third_party/linux -endif ifeq ($(DEBUG), 1) CCFLAGS += -g3 -O0 @@ -100,22 +102,23 @@ DEPS = $(OBJECTS:.o=.d) CORE_MAKEFILE_LIST := $(MAKEFILE_LIST) -include $(DEPS) +STATICLIBS_DIR = $(COCOS_ROOT)/external ifeq ($(LBITS),64) -STATICLIBS_DIR = $(COCOS_SRC)/platform/third_party/linux/libraries/lib64 +POSTFIX = 64-bit else -STATICLIBS_DIR = $(COCOS_SRC)/platform/third_party/linux/libraries +POSTFIX = 32-bit endif -STATICLIBS = $(STATICLIBS_DIR)/libfreetype.a \ - $(STATICLIBS_DIR)/libjpeg.a \ - $(STATICLIBS_DIR)/libtiff.a \ - $(STATICLIBS_DIR)/libwebp.a +STATICLIBS = $(STATICLIBS_DIR)/freetype2/prebuilt/linux/$(POSTFIX)/libfreetype.a \ + $(STATICLIBS_DIR)/jpeg/prebuilt/linux/$(POSTFIX)/libjpeg.a \ + $(STATICLIBS_DIR)/tiff/prebuilt/linux/$(POSTFIX)/libtiff.a \ + $(STATICLIBS_DIR)/webp/prebuilt/linux/$(POSTFIX)/libwebp.a ifneq ($(OPENAL),1) ifeq ($(LBITS),64) -FMOD_LIBDIR = $(COCOS_ROOT)/audio/third_party/fmod/lib64/api/lib +FMOD_LIBDIR = $(COCOS_ROOT)/cocos/audio/third-party/fmod/lib64/api/lib SHAREDLIBS += -lfmodex64 else -FMOD_LIBDIR = $(COCOS_ROOT)/audio/third_party/fmod/api/lib +FMOD_LIBDIR = $(COCOS_ROOT)/cocos/audio/third-party/fmod/api/lib SHAREDLIBS += -lfmodex endif endif diff --git a/cocos/2d/platform/android/Android.mk b/cocos/2d/platform/android/Android.mk index 2aca5c8ed3..db9bec71b9 100644 --- a/cocos/2d/platform/android/Android.mk +++ b/cocos/2d/platform/android/Android.mk @@ -42,7 +42,7 @@ LOCAL_EXPORT_LDLIBS := -lGLESv1_CM \ -lz \ -landroid -LOCAL_WHOLE_STATIC_LIBRARIES := android_native_app_glue cocos_libpng_static cocos_jpeg_static cocos_libxml2_static cocos_libtiff_static cocos_libwebp_static +LOCAL_WHOLE_STATIC_LIBRARIES := android_native_app_glue cocos_png_static cocos_jpeg_static cocos_tiff_static cocos_webp_static include $(BUILD_STATIC_LIBRARY) diff --git a/cocos/2d/platform/linux/CCEGLView.cpp b/cocos/2d/platform/linux/CCEGLView.cpp index 452d5738a3..561fedcca8 100644 --- a/cocos/2d/platform/linux/CCEGLView.cpp +++ b/cocos/2d/platform/linux/CCEGLView.cpp @@ -10,7 +10,7 @@ #include "ccMacros.h" #include "CCDirector.h" #include "CCTouch.h" -#include "/CCIMEDispatcher.h" +#include "CCIMEDispatcher.h" #include "CCEventDispatcher.h" #include "CCEventKeyboard.h" #include diff --git a/cocos/2d/platform/linux/CCEGLView.h b/cocos/2d/platform/linux/CCEGLView.h index 9d29d9c188..ed4fc18245 100644 --- a/cocos/2d/platform/linux/CCEGLView.h +++ b/cocos/2d/platform/linux/CCEGLView.h @@ -11,7 +11,7 @@ #include "platform/CCCommon.h" #include "CCGeometry.h" #include "platform/CCEGLViewProtocol.h" -#include "platform/third_party/linux/glfw/glfw3.h" +#include "glfw3.h" #include bool initExtensions(); diff --git a/cocos/2d/platform/win32/CCEGLView.cpp b/cocos/2d/platform/win32/CCEGLView.cpp index 4099331cf9..d5b2ba0202 100644 --- a/cocos/2d/platform/win32/CCEGLView.cpp +++ b/cocos/2d/platform/win32/CCEGLView.cpp @@ -26,7 +26,7 @@ THE SOFTWARE. #include "CCSet.h" #include "ccMacros.h" #include "CCDirector.h" -#include "/CCIMEDispatcher.h" +#include "CCIMEDispatcher.h" #include "CCApplication.h" #include "CCTouch.h" #include "CCEventDispatcher.h" diff --git a/cocos/2d/platform/win32/CCEGLView.h b/cocos/2d/platform/win32/CCEGLView.h index 643b500c66..59432e27ba 100644 --- a/cocos/2d/platform/win32/CCEGLView.h +++ b/cocos/2d/platform/win32/CCEGLView.h @@ -30,7 +30,7 @@ THE SOFTWARE. #include "CCGeometry.h" #include "platform/CCEGLViewProtocol.h" -#include "platform/third_party/win32/GLFW/glfw3.h" +#include "glfw3.h" NS_CC_BEGIN diff --git a/cocos/audio/proj.linux/Makefile b/cocos/audio/proj.linux/Makefile index 82dc89a6d6..e8b18e3972 100644 --- a/cocos/audio/proj.linux/Makefile +++ b/cocos/audio/proj.linux/Makefile @@ -1,6 +1,6 @@ TARGET = libcocosdenshion.so -INCLUDES += -I.. -I../include +INCLUDES = -I.. -I../include ##Using OpenAL ifeq ($(OPENAL),1) @@ -26,15 +26,15 @@ SOURCES = \ ../linux/FmodAudioPlayer.cpp ifeq ($(LBITS),64) -INCLUDES += -I../third_party/fmod/lib64/api/inc +INCLUDES += -I../third-party/fmod/lib64/api/inc else -INCLUDES += -I../third_party/fmod/api/inc +INCLUDES += -I../third-party/fmod/api/inc endif endif -COCOS_ROOT = ../.. -include $(COCOS_ROOT)/cocos2dx/proj.linux/cocos2dx.mk +COCOS_ROOT = ../../.. +include $(COCOS_ROOT)/cocos/2d/cocos2dx.mk TARGET := $(LIB_DIR)/$(TARGET) diff --git a/cocos/audio/proj.win32/CocosDenshion.vcxproj b/cocos/audio/proj.win32/CocosDenshion.vcxproj index d5a959c878..ecde64b8c3 100644 --- a/cocos/audio/proj.win32/CocosDenshion.vcxproj +++ b/cocos/audio/proj.win32/CocosDenshion.vcxproj @@ -11,7 +11,7 @@ - libCocosDenshion + libAudio {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} CocosDenshion.win32 Win32Proj @@ -36,9 +36,13 @@ + + + + @@ -65,7 +69,7 @@ Disabled - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;..\Include;$(ProjectDir)..\..\cocos2dx;$(ProjectDir)..\..\cocos2dx\include;$(ProjectDir)..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) + $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;..\Include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false EnableFastChecks @@ -89,7 +93,7 @@ - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;..\Include;"$(ProjectDir)..\..\cocos2dx";"$(ProjectDir)..\..\cocos2dx\include";"$(ProjectDir)..\..\cocos2dx\kazmath\include";"$(ProjectDir)..\..\cocos2dx\platform\win32";"$(ProjectDir)..\..\cocos2dx\platform\third_party\win32\OGLES";%(AdditionalIncludeDirectories) + $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;..\Include;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) MultiThreadedDLL diff --git a/cocos/base/CCGeometry.cpp b/cocos/base/CCGeometry.cpp index cfce9d3fa7..1d5c4896c6 100644 --- a/cocos/base/CCGeometry.cpp +++ b/cocos/base/CCGeometry.cpp @@ -62,16 +62,40 @@ Point Point::operator+(const Point& right) const return Point(this->x + right.x, this->y + right.y); } +Point& Point::operator+=(const Point& right) +{ + this->x += right.x; + this->y += right.y; + return *this; +} + Point Point::operator-(const Point& right) const { return Point(this->x - right.x, this->y - right.y); } +Point& Point::operator-=(const Point& right) +{ + this->x -= right.x; + this->y -= right.y; + return *this; +} + Point Point::operator-() const { return Point(-x, -y); } +bool Point::operator==(const Point& right) +{ + return this->x == right.x && this->y == right.y; +} + +bool Point::operator!=(const Point& right) +{ + return this->x != right.x || this->y != right.y; +} + Point Point::operator*(float a) const { return Point(this->x * a, this->y * a); diff --git a/cocos/base/CCGeometry.h b/cocos/base/CCGeometry.h index ac9f08ec03..847557cb35 100644 --- a/cocos/base/CCGeometry.h +++ b/cocos/base/CCGeometry.h @@ -93,16 +93,36 @@ public: * @lua NA */ Point operator+(const Point& right) const; + /** + * @js NA + * @lua NA + */ + Point& operator+=(const Point& right); /** * @js NA * @lua NA */ Point operator-(const Point& right) const; + /** + * @js NA + * @lua NA + */ + Point& operator-=(const Point& right); /** * @js NA * @lua NA */ Point operator-() const; + /** + * @js NA + * @lua NA + */ + bool operator==(const Point& right); + /** + * @js NA + * @lua NA + */ + bool operator!=(const Point& right); /** * @js NA * @lua NA diff --git a/cocos/editor-support/cocosbuilder/Android.mk b/cocos/editor-support/cocosbuilder/Android.mk index 4685debd1b..f5699a7f60 100644 --- a/cocos/editor-support/cocosbuilder/Android.mk +++ b/cocos/editor-support/cocosbuilder/Android.mk @@ -39,10 +39,8 @@ $(LOCAL_PATH)/../../.. LOCAL_CFLAGS += -Wno-psabi LOCAL_EXPORT_CFLAGS += -Wno-psabi -LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static +LOCAL_WHOLE_STATIC_LIBRARIES := cocos_extension_static include $(BUILD_STATIC_LIBRARY) -$(call import-module,2d) $(call import-module,extensions) diff --git a/cocos/editor-support/cocosbuilder/CCBAnimationManager.cpp b/cocos/editor-support/cocosbuilder/CCBAnimationManager.cpp index 13b039dcac..0ca75e25ce 100644 --- a/cocos/editor-support/cocosbuilder/CCBAnimationManager.cpp +++ b/cocos/editor-support/cocosbuilder/CCBAnimationManager.cpp @@ -910,6 +910,11 @@ void CCBAnimationManager::sequenceCompleted() _lastCompletedSequenceName = runningSequenceName; } + if (nextSeqId != -1) + { + runAnimationsForSequenceIdTweenDuration(nextSeqId, 0); + } + if (_delegate) { // There may be another runAnimation() call in this delegate method @@ -920,11 +925,6 @@ void CCBAnimationManager::sequenceCompleted() if (_target && _animationCompleteCallbackFunc) { (_target->*_animationCompleteCallbackFunc)(); } - - if (nextSeqId != -1) - { - runAnimationsForSequenceIdTweenDuration(nextSeqId, 0); - } } // Custom actions diff --git a/cocos/editor-support/cocosbuilder/CCBReader.cpp b/cocos/editor-support/cocosbuilder/CCBReader.cpp index d2f57ecf88..938c595f46 100644 --- a/cocos/editor-support/cocosbuilder/CCBReader.cpp +++ b/cocos/editor-support/cocosbuilder/CCBReader.cpp @@ -273,7 +273,7 @@ Node* CCBReader::readNodeGraphFromData(Data *pData, Object *pOwner, const Size & Dictionary* animationManagers = Dictionary::create(); Node *pNodeGraph = readFileWithCleanUp(true, animationManagers); - if (pNodeGraph && _actionManager->getAutoPlaySequenceId() != -1 && !_jsControlled) + if (pNodeGraph && _actionManager->getAutoPlaySequenceId() != -1) { // Auto play animations _actionManager->runAnimationsForSequenceIdTweenDuration(_actionManager->getAutoPlaySequenceId(), 0); diff --git a/cocos/editor-support/cocosbuilder/Makefile b/cocos/editor-support/cocosbuilder/Makefile new file mode 100644 index 0000000000..688c5d49d5 --- /dev/null +++ b/cocos/editor-support/cocosbuilder/Makefile @@ -0,0 +1,44 @@ +TARGET = libcocosbuilder.a + +INCLUDES = + +SOURCES = CCBFileLoader.cpp \ +CCMenuItemImageLoader.cpp \ +CCBReader.cpp \ +CCMenuItemLoader.cpp \ +CCControlButtonLoader.cpp \ +CCNodeLoader.cpp \ +CCControlLoader.cpp \ +CCNodeLoaderLibrary.cpp \ +CCLabelBMFontLoader.cpp \ +CCParticleSystemQuadLoader.cpp \ +CCLabelTTFLoader.cpp \ +CCScale9SpriteLoader.cpp \ +CCLayerColorLoader.cpp \ +CCScrollViewLoader.cpp \ +CCLayerGradientLoader.cpp \ +CCSpriteLoader.cpp \ +CCLayerLoader.cpp \ +CCBAnimationManager.cpp \ +CCBKeyframe.cpp \ +CCBSequence.cpp \ +CCBSequenceProperty.cpp \ +CCBValue.cpp \ +CCNode+CCBRelativePositioning.cpp + +include ../../2d/cocos2dx.mk + +CXXFLAGS += -Wno-multichar + +TARGET := $(LIB_DIR)/$(TARGET) + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_AR)$(AR) $(ARFLAGS) $@ $(OBJECTS) + +$(OBJ_DIR)/%.o: %.cpp $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ + diff --git a/cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj b/cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj new file mode 100644 index 0000000000..2b44d72452 --- /dev/null +++ b/cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj @@ -0,0 +1,142 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {811C0DAB-7B96-4BD3-A154-B7572B58E4AB} + libCocosBuilder + + + + StaticLibrary + true + v110_xp + Unicode + + + StaticLibrary + false + v110_xp + true + Unicode + + + + + + + + + + + + + + + $(SolutionDir)$(Configuration).win32\ + $(Configuration).win32\ + + + $(SolutionDir)$(Configuration).win32\ + $(Configuration).win32\ + + + + Level3 + Disabled + + + $(EngineRoot);$(EngineRoot)extensions;$(EngineRoot)cocos\audio\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + 4267;4251;4244;%(DisableSpecificWarnings) + false + + + true + + + + + Level3 + MaxSpeed + true + true + + + $(EngineRoot);$(EngineRoot)extensions;$(EngineRoot)cocos\audio\include;%(AdditionalIncludeDirectories) + WIN32;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + + + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.filters b/cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.filters new file mode 100644 index 0000000000..8dfedcc4bf --- /dev/null +++ b/cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.filters @@ -0,0 +1,170 @@ + + + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.user b/cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.user new file mode 100644 index 0000000000..a375ae3527 --- /dev/null +++ b/cocos/editor-support/cocosbuilder/proj.win32/libCocosBuilder.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/cocos/editor-support/cocostudio/Android.mk b/cocos/editor-support/cocostudio/Android.mk index 380eeba149..ea352f8485 100644 --- a/cocos/editor-support/cocostudio/Android.mk +++ b/cocos/editor-support/cocostudio/Android.mk @@ -43,13 +43,12 @@ CCSSceneReader.cpp \ ../../../external/json/json_writer.cpp LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. \ -$(LOCAL_PATH)/../../../external/json +$(LOCAL_PATH)/../../../external LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../2d \ -$(LOCAL_PATH)/../../../external/json \ +$(LOCAL_PATH)/../../../external \ $(LOCAL_PATH)/.. \ -$(LOCAL_PATH)/../.. \ -$(LOCAL_PATH)/../../../external +$(LOCAL_PATH)/../.. LOCAL_CFLAGS += -Wno-psabi -fexceptions LOCAL_EXPORT_CFLAGS += -Wno-psabi diff --git a/cocos/editor-support/cocostudio/Makefile b/cocos/editor-support/cocostudio/Makefile new file mode 100644 index 0000000000..810c28372e --- /dev/null +++ b/cocos/editor-support/cocostudio/Makefile @@ -0,0 +1,69 @@ +TARGET = libcocostudio.a + +COCOS_ROOT=../../.. + +INCLUDES = -I../../2d \ +-I../../../external \ +-I.. \ +-I../.. \ + +SOURCES = CCActionFrame.cpp \ +CCActionFrameEasing.cpp \ +CCActionManagerEx.cpp \ +CCActionNode.cpp \ +CCActionObject.cpp \ +CCArmature.cpp \ +CCBone.cpp \ +CCArmatureAnimation.cpp \ +CCProcessBase.cpp \ +CCTween.cpp \ +CCDatas.cpp \ +CCBatchNode.cpp \ +CCDecorativeDisplay.cpp \ +CCDisplayFactory.cpp \ +CCDisplayManager.cpp \ +CCSkin.cpp \ +CCColliderDetector.cpp \ +CCArmatureDataManager.cpp \ +CCArmatureDefine.cpp \ +CCDataReaderHelper.cpp \ +CCSpriteFrameCacheHelper.cpp \ +CCTransformHelp.cpp \ +CCTweenFunction.cpp \ +CCUtilMath.cpp \ +CCComAttribute.cpp \ +CCComAudio.cpp \ +CCComController.cpp \ +CCComRender.cpp \ +CCInputDelegate.cpp \ +CSContentJsonDictionary.cpp \ +DictionaryHelper.cpp \ +CCSGUIReader.cpp \ +CCSSceneReader.cpp \ +../../../external/json/json_reader.cpp \ +../../../external/json/json_value.cpp \ +../../../external/json/json_writer.cpp + +include ../../2d/cocos2dx.mk + +CXXFLAGS += -Wno-multichar + +TARGET := $(LIB_DIR)/$(TARGET) + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_AR)$(AR) $(ARFLAGS) $@ $(OBJECTS) + +$(OBJ_DIR)/%.o: %.cpp $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ + +$(OBJ_DIR)/%.o: ../../../%.cpp $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ + +$(OBJ_DIR)/%.o: %.c $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_CC)$(CC) $(CCFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ diff --git a/cocos/editor-support/cocostudio/proj.win32/libCocosStudio.vcxproj b/cocos/editor-support/cocostudio/proj.win32/libCocosStudio.vcxproj new file mode 100644 index 0000000000..d52ce8d931 --- /dev/null +++ b/cocos/editor-support/cocostudio/proj.win32/libCocosStudio.vcxproj @@ -0,0 +1,174 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {B57CF53F-2E49-4031-9822-047CC0E6BDE2} + libCocosStudio + + + + StaticLibrary + true + v110_xp + Unicode + + + StaticLibrary + false + v110_xp + true + Unicode + + + + + + + + + + + + + + + $(SolutionDir)$(Configuration).win32\ + $(Configuration).win32\ + + + $(SolutionDir)$(Configuration).win32\ + $(Configuration).win32\ + + + + Level3 + Disabled + + + $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)external;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + 4267;4251;4244;%(DisableSpecificWarnings) + false + + + true + + + + + Level3 + MaxSpeed + true + true + true + WIN32;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)external;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) + + + true + true + true + + + + + + \ No newline at end of file diff --git a/cocos/editor-support/cocostudio/proj.win32/libCocosStudio.vcxproj.filters b/cocos/editor-support/cocostudio/proj.win32/libCocosStudio.vcxproj.filters new file mode 100644 index 0000000000..10053f03e2 --- /dev/null +++ b/cocos/editor-support/cocostudio/proj.win32/libCocosStudio.vcxproj.filters @@ -0,0 +1,290 @@ + + + + + {d793b86c-0905-4c9b-b6bc-161e351c9eb2} + + + {855f2366-3429-4f77-a080-a41a39c99270} + + + {1a8c6b14-fb28-4485-8417-9b6838fbc4ef} + + + {42f1ce3f-46ab-4a16-a96e-9eb076c873f7} + + + {f8271f80-1663-4425-91c8-7365ec3af017} + + + {48f28446-ffe4-4aa1-a34c-8968c3367ae6} + + + {ad9b4fd1-dc17-4704-9c60-7709eb916f13} + + + {55c682b3-7a48-4fab-ad5a-eb979f3c305e} + + + {c6464479-e0ab-4afc-96fc-1ffc73e40232} + + + {023e3440-1259-4981-ba54-24390d1df447} + + + {e8d09ad5-8816-4724-a10b-04263868ed7c} + + + + + action + + + action + + + action + + + action + + + action + + + components + + + components + + + components + + + components + + + components + + + json + + + json + + + reader + + + reader + + + armature\animation + + + armature\animation + + + armature\animation + + + armature\datas + + + armature\display + + + armature\display + + + armature\display + + + armature\display + + + armature\display + + + armature\utils + + + armature\utils + + + armature\utils + + + armature\utils + + + armature\utils + + + armature\utils + + + armature\utils + + + armature\physics + + + armature + + + armature + + + json\libjson + + + json\libjson + + + json\libjson + + + + + action + + + action + + + action + + + action + + + action + + + components + + + components + + + components + + + components + + + components + + + json + + + json + + + reader + + + reader + + + armature\animation + + + armature\animation + + + armature\animation + + + armature\datas + + + armature\display + + + armature\display + + + armature\display + + + armature\display + + + armature\display + + + armature\utils + + + armature\utils + + + armature\utils + + + armature\utils + + + armature\utils + + + armature\utils + + + armature\utils + + + armature\physics + + + armature + + + armature + + + json\libjson + + + json\libjson + + + json\libjson + + + json\libjson + + + json\libjson + + + json\libjson + + + json\libjson + + + json\libjson + + + json\libjson + + + + + json\libjson + + + json\libjson + + + json\libjson + + + json\libjson + + + \ No newline at end of file diff --git a/cocos/editor-support/cocostudio/proj.win32/libCocosStudio.vcxproj.user b/cocos/editor-support/cocostudio/proj.win32/libCocosStudio.vcxproj.user new file mode 100644 index 0000000000..a375ae3527 --- /dev/null +++ b/cocos/editor-support/cocostudio/proj.win32/libCocosStudio.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/cocos/editor-support/spine/Makefile b/cocos/editor-support/spine/Makefile new file mode 100644 index 0000000000..88514a824e --- /dev/null +++ b/cocos/editor-support/spine/Makefile @@ -0,0 +1,42 @@ +TARGET = libspine.a + +INCLUDES = -I.. + +SOURCES = Animation.cpp \ +AnimationState.cpp \ +AnimationStateData.cpp \ +Atlas.cpp \ +AtlasAttachmentLoader.cpp \ +Attachment.cpp \ +AttachmentLoader.cpp \ +Bone.cpp \ +BoneData.cpp \ +Json.cpp \ +RegionAttachment.cpp \ +Skeleton.cpp \ +SkeletonData.cpp \ +SkeletonJson.cpp \ +Skin.cpp \ +Slot.cpp \ +SlotData.cpp \ +extension.cpp \ +spine-cocos2dx.cpp \ +CCSkeleton.cpp \ +CCSkeletonAnimation.cpp + +include ../../2d/cocos2dx.mk + +CXXFLAGS += -Wno-multichar + +TARGET := $(LIB_DIR)/$(TARGET) + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_AR)$(AR) $(ARFLAGS) $@ $(OBJECTS) + +$(OBJ_DIR)/%.o: %.cpp $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ + diff --git a/cocos/editor-support/spine/proj.win32/libSpine.vcxproj b/cocos/editor-support/spine/proj.win32/libSpine.vcxproj new file mode 100644 index 0000000000..b4fc436abf --- /dev/null +++ b/cocos/editor-support/spine/proj.win32/libSpine.vcxproj @@ -0,0 +1,134 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {B7C2A162-DEC9-4418-972E-240AB3CBFCAE} + libSpine + + + + StaticLibrary + true + v110_xp + Unicode + + + StaticLibrary + false + v110_xp + true + Unicode + + + + + + + + + + + + + + + $(SolutionDir)$(Configuration).win32\ + $(Configuration).win32\ + + + $(SolutionDir)$(Configuration).win32\ + $(Configuration).win32\ + + + + Level3 + Disabled + + + $(EngineRoot);$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + 4267;4251;4244;%(DisableSpecificWarnings) + false + + + true + + + + + Level3 + MaxSpeed + true + true + + + WIN32;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(EngineRoot);$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) + + + true + true + true + + + + + + \ No newline at end of file diff --git a/cocos/editor-support/spine/proj.win32/libSpine.vcxproj.filters b/cocos/editor-support/spine/proj.win32/libSpine.vcxproj.filters new file mode 100644 index 0000000000..d6ed5b1506 --- /dev/null +++ b/cocos/editor-support/spine/proj.win32/libSpine.vcxproj.filters @@ -0,0 +1,146 @@ + + + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/cocos/editor-support/spine/proj.win32/libSpine.vcxproj.user b/cocos/editor-support/spine/proj.win32/libSpine.vcxproj.user new file mode 100644 index 0000000000..a375ae3527 --- /dev/null +++ b/cocos/editor-support/spine/proj.win32/libSpine.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/cocos/gui/Android.mk b/cocos/gui/Android.mk index 31edffec85..33171c7c1d 100644 --- a/cocos/gui/Android.mk +++ b/cocos/gui/Android.mk @@ -29,21 +29,22 @@ UISlider.cpp \ UITextField.cpp -LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. \ +$(LOCAL_PATH)/../editor-support -LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../2d \ -$(LOCAL_PATH)/.. +LOCAL_C_INCLUDES := $(LOCAL_PATH)/../2d \ +$(LOCAL_PATH)/../../external \ +$(LOCAL_PATH)/.. \ +$(LOCAL_PATH)/../.. \ +$(LOCAL_PATH)/../editor-support LOCAL_CFLAGS += -Wno-psabi LOCAL_EXPORT_CFLAGS += -Wno-psabi -LOCAL_WHOLE_STATIC_LIBRARIES := cocostudio_static +LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static include $(BUILD_STATIC_LIBRARY) - $(call import-module,extensions) -$(call import-module,editor-support/cocostudio) $(call import-module,2d) diff --git a/cocos/gui/Layout.cpp b/cocos/gui/Layout.cpp index b7014ac1ed..a9e4f75a30 100644 --- a/cocos/gui/Layout.cpp +++ b/cocos/gui/Layout.cpp @@ -22,7 +22,7 @@ THE SOFTWARE. ****************************************************************************/ -#include "gui/layout.h" +#include "gui/Layout.h" #include "gui/UILayer.h" #include "gui/UIHelper.h" #include "extensions/GUI/CCControlExtension/CCScale9Sprite.h" @@ -782,4 +782,4 @@ bool RectClippingNode::isEnabled() const return _enabled; } -} \ No newline at end of file +} diff --git a/cocos/gui/Makefile b/cocos/gui/Makefile new file mode 100644 index 0000000000..0e8501cc63 --- /dev/null +++ b/cocos/gui/Makefile @@ -0,0 +1,44 @@ +TARGET = libgui.a + +INCLUDES = -I../ \ +-I../editor-support \ +-I../../external + +SOURCES = UIRootWidget.cpp \ +UIWidget.cpp \ +Layout.cpp \ +LayoutParameter.cpp \ +UILayoutDefine.cpp \ +CocosGUI.cpp \ +UIHelper.cpp \ +UIInputManager.cpp \ +UILayer.cpp \ +UIDragPanel.cpp \ +UIListView.cpp \ +UIPageView.cpp \ +UIScrollView.cpp \ +UIButton.cpp \ +UICheckBox.cpp \ +UIImageView.cpp \ +UILabel.cpp \ +UILabelAtlas.cpp \ +UILabelBMFont.cpp \ +UILoadingBar.cpp \ +UISlider.cpp \ +UITextField.cpp + +include ../2d/cocos2dx.mk + +CXXFLAGS += -Wno-multichar + +TARGET := $(LIB_DIR)/$(TARGET) + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_AR)$(AR) $(ARFLAGS) $@ $(OBJECTS) + +$(OBJ_DIR)/%.o: %.cpp $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ diff --git a/cocos/gui/proj.win32/libGUI.vcxproj b/cocos/gui/proj.win32/libGUI.vcxproj new file mode 100644 index 0000000000..1e483d4b85 --- /dev/null +++ b/cocos/gui/proj.win32/libGUI.vcxproj @@ -0,0 +1,136 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {7E06E92C-537A-442B-9E4A-4761C84F8A1A} + libGUI + + + + StaticLibrary + true + v110_xp + Unicode + + + StaticLibrary + false + v110_xp + true + Unicode + + + + + + + + + + + + + + + $(SolutionDir)$(Configuration).win32\ + $(Configuration).win32\ + + + $(SolutionDir)$(Configuration).win32\ + $(Configuration).win32\ + + + + Level3 + Disabled + + + $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)external;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + 4267;4251;4244;%(DisableSpecificWarnings) + false + + + true + + + + + Level3 + MaxSpeed + true + true + + + WIN32;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)external;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) + + + true + true + true + + + + + + \ No newline at end of file diff --git a/cocos/gui/proj.win32/libGUI.vcxproj.filters b/cocos/gui/proj.win32/libGUI.vcxproj.filters new file mode 100644 index 0000000000..12f0d385ab --- /dev/null +++ b/cocos/gui/proj.win32/libGUI.vcxproj.filters @@ -0,0 +1,159 @@ + + + + + {e31ab7d3-b8b2-467f-9e08-fd5fe168b491} + + + {f9d13563-9e5e-4b35-b0e7-d41f587efa42} + + + {ed8a2ae0-5690-4d0d-829b-7c07164c0597} + + + {5f6e9e52-fbe7-4073-ac71-98632f9e6781} + + + {b59b178a-b7e0-4826-ba07-44c46cd29a10} + + + + + UIWidgets\ScrollWidget + + + UIWidgets\ScrollWidget + + + UIWidgets\ScrollWidget + + + UIWidgets\ScrollWidget + + + UIWidgets\ScrollWidget + + + UIWidgets + + + UIWidgets + + + UIWidgets + + + UIWidgets + + + UIWidgets + + + UIWidgets + + + UIWidgets + + + UIWidgets + + + UIWidgets + + + System + + + System + + + System + + + System + + + Layouts + + + Layouts + + + Layouts + + + BaseClasses + + + BaseClasses + + + + + UIWidgets\ScrollWidget + + + UIWidgets\ScrollWidget + + + UIWidgets\ScrollWidget + + + UIWidgets\ScrollWidget + + + UIWidgets + + + UIWidgets + + + UIWidgets + + + UIWidgets + + + UIWidgets + + + UIWidgets + + + UIWidgets + + + UIWidgets + + + UIWidgets + + + System + + + System + + + System + + + System + + + Layouts + + + Layouts + + + Layouts + + + BaseClasses + + + BaseClasses + + + \ No newline at end of file diff --git a/cocos/gui/proj.win32/libGUI.vcxproj.user b/cocos/gui/proj.win32/libGUI.vcxproj.user new file mode 100644 index 0000000000..a375ae3527 --- /dev/null +++ b/cocos/gui/proj.win32/libGUI.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/cocos/network/Makefile b/cocos/network/Makefile new file mode 100644 index 0000000000..029078722d --- /dev/null +++ b/cocos/network/Makefile @@ -0,0 +1,22 @@ +TARGET = libnetwork.a + +INCLUDES = -I.. + +SOURCES = HttpClient.cpp \ +SocketIO.cpp + +include ../2d/cocos2dx.mk + +CXXFLAGS += -Wno-multichar + +TARGET := $(LIB_DIR)/$(TARGET) + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_AR)$(AR) $(ARFLAGS) $@ $(OBJECTS) + +$(OBJ_DIR)/%.o: %.cpp $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ diff --git a/cocos/network/proj.win32/libNetwork.vcxproj b/cocos/network/proj.win32/libNetwork.vcxproj new file mode 100644 index 0000000000..088538dfed --- /dev/null +++ b/cocos/network/proj.win32/libNetwork.vcxproj @@ -0,0 +1,131 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + + libNetwork + {DF2638C0-8128-4847-867C-6EAFE3DEE7B5} + network.win32 + Win32Proj + + + + StaticLibrary + Unicode + v100 + v110 + v110_xp + + + StaticLibrary + NotSet + v100 + v110 + v110_xp + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + $(SolutionDir)$(Configuration).win32\ + $(Configuration).win32\ + false + $(SolutionDir)$(Configuration).win32\ + $(Configuration).win32\ + false + AllRules.ruleset + + + AllRules.ruleset + + + + + $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\lib;$(LibraryPath) + + + $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\lib;$(LibraryPath) + + + + Disabled + $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;..\Include;$(EngineRoot)cocos;$(EngineRoot)external\websockets\include\win32;$(EngineRoot)external\curl\include\win32;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + EditAndContinue + 4251 + true + + + winmm.lib;libcocos2d.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).dll + true + Windows + $(TargetDir)$(TargetName).lib + MachineX86 + $(OutDir) + + + + + $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;..\Include;$(EngineRoot)cocos;$(EngineRoot)external\websockets\include\win32;$(EngineRoot)external\curl\include\win32;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Level3 + ProgramDatabase + 4251 + true + + + winmm.lib;libcocos2d.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).dll + true + Windows + true + true + $(TargetDir)$(TargetName).lib + MachineX86 + $(OutDir) + + + + + + \ No newline at end of file diff --git a/cocos/network/proj.win32/libNetwork.vcxproj.filters b/cocos/network/proj.win32/libNetwork.vcxproj.filters new file mode 100644 index 0000000000..bbfe567f42 --- /dev/null +++ b/cocos/network/proj.win32/libNetwork.vcxproj.filters @@ -0,0 +1,45 @@ + + + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/cocos/network/proj.win32/libNetwork.vcxproj.user b/cocos/network/proj.win32/libNetwork.vcxproj.user new file mode 100644 index 0000000000..ace9a86acb --- /dev/null +++ b/cocos/network/proj.win32/libNetwork.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/cocos/physics/CCPhysicsBody.cpp b/cocos/physics/CCPhysicsBody.cpp index 2dc38bf286..109fac9d6f 100644 --- a/cocos/physics/CCPhysicsBody.cpp +++ b/cocos/physics/CCPhysicsBody.cpp @@ -37,16 +37,16 @@ #include "CCPhysicsWorld.h" #include "chipmunk/CCPhysicsBodyInfo.h" -#include "Box2D/CCPhysicsBodyInfo.h" +#include "box2d/CCPhysicsBodyInfo.h" #include "chipmunk/CCPhysicsJointInfo.h" -#include "Box2D/CCPhysicsJointInfo.h" +#include "box2d/CCPhysicsJointInfo.h" #include "chipmunk/CCPhysicsWorldInfo.h" -#include "Box2D/CCPhysicsWorldInfo.h" +#include "box2d/CCPhysicsWorldInfo.h" #include "chipmunk/CCPhysicsShapeInfo.h" -#include "Box2D/CCPhysicsShapeInfo.h" +#include "box2d/CCPhysicsShapeInfo.h" #include "chipmunk/CCPhysicsHelper.h" -#include "Box2D/CCPhysicsHelper.h" +#include "box2d/CCPhysicsHelper.h" NS_CC_BEGIN @@ -56,8 +56,8 @@ NS_CC_BEGIN namespace { static const float MASS_DEFAULT = 1.0; - static const float DENSITY_DEFAULT = 1.0; - static const float ANGULARDAMPING_DEFAULT = 200; + static const float MOMENT_DEFAULT = 200; + static float GROUP_INDEX = 0; } PhysicsBody::PhysicsBody() @@ -66,13 +66,20 @@ PhysicsBody::PhysicsBody() , _info(nullptr) , _dynamic(true) , _enable(true) +, _rotationEnable(true) +, _gravityEnable(true) , _massDefault(true) -, _angularDampingDefault(true) +, _momentDefault(true) , _mass(MASS_DEFAULT) -, _area(0.0) -, _density(DENSITY_DEFAULT) -, _angularDamping(ANGULARDAMPING_DEFAULT) +, _area(0.0f) +, _density(0.0f) +, _moment(MOMENT_DEFAULT) +, _linearDamping(0.0f) +, _angularDamping(0.0f) , _tag(0) +, _categoryBitmask(UINT_MAX) +, _collisionBitmask(UINT_MAX) +, _contactTestBitmask(0) { } @@ -217,7 +224,9 @@ bool PhysicsBody::init() _info = new PhysicsBodyInfo(); CC_BREAK_IF(_info == nullptr); - _info->body = cpBodyNew(PhysicsHelper::float2cpfloat(_mass), PhysicsHelper::float2cpfloat(_angularDamping)); + _info->body = cpBodyNew(PhysicsHelper::float2cpfloat(_mass), PhysicsHelper::float2cpfloat(_moment)); + _info->group = ++GROUP_INDEX; + CC_BREAK_IF(_info->body == nullptr); return true; @@ -230,17 +239,46 @@ void PhysicsBody::setDynamic(bool dynamic) { if (dynamic != _dynamic) { - if (dynamic) + _dynamic = dynamic; + if (_world != nullptr) { - cpBodySetMass(_info->body, PhysicsHelper::float2cpfloat(_mass)); - cpBodySetMoment(_info->body, PhysicsHelper::float2cpfloat(_angularDamping)); - }else - { - cpBodySetMass(_info->body, PHYSICS_INFINITY); - cpBodySetMoment(_info->body, PHYSICS_INFINITY); + if (dynamic) + { + cpSpaceAddBody(_world->_info->space, _info->body); + }else + { + cpSpaceRemoveBody(_world->_info->space, _info->body); + } } - _dynamic = dynamic; + } +} + +void PhysicsBody::setRotationEnable(bool enable) +{ + if (_rotationEnable != enable) + { + cpBodySetMoment(_info->body, enable ? _moment : PHYSICS_INFINITY); + _rotationEnable = enable; + } +} + +void PhysicsBody::setGravityEnable(bool enable) +{ + if (_gravityEnable != enable) + { + _gravityEnable = enable; + + if (_world != nullptr) + { + if (enable) + { + applyForce(_world->getGravity()); + }else + { + applyForce(-_world->getGravity()); + } + } } } @@ -269,84 +307,30 @@ void PhysicsBody::addShape(PhysicsShape* shape) { if (shape == nullptr) return; - // already added - if (shape->getBody() == this) - { - return; - } - else if (shape->getBody() != nullptr) - { - shape->getBody()->removeShape(shape); - } - - // reset the body - if (shape->_info->body != _info->body) - { - for (cpShape* subShape : shape->_info->shapes) - { - cpShapeSetBody(subShape, _info->body); - } - shape->_info->body = _info->body; - } - // add shape to body if (std::find(_shapes.begin(), _shapes.end(), shape) == _shapes.end()) { shape->setBody(this); _shapes.push_back(shape); - // calculate the mass, area and desity + // calculate the area, mass, and desity + // area must update before mass, because the density changes depend on it. _area += shape->getArea(); - if (_mass == PHYSICS_INFINITY || shape->getMass() == PHYSICS_INFINITY) - { - _mass = PHYSICS_INFINITY; - _massDefault = false; - }else - { - if (shape->getMass() > 0) - { - _mass = (_massDefault ? 0 : _mass) + shape->getMass(); - _massDefault = false; - } - } - cpBodySetMass(_info->body, _mass); + addMass(shape->getMass()); + addMoment(shape->getMoment()); - if (!_massDefault) + if (_world != nullptr) { - if (_mass == PHYSICS_INFINITY) - { - _density = PHYSICS_INFINITY; - }else - { - _density = _mass / _area; - } + _world->addShape(shape); } - if (shape->getAngularDumping() > 0) - { - if (shape->getAngularDumping() == INFINITY) - { - _angularDamping = INFINITY; - _angularDampingDefault = false; - cpBodySetMoment(_info->body, _angularDamping); - } - else if (_angularDamping != INFINITY) - { - _angularDamping = (_angularDampingDefault ? 0 : _angularDamping) + shape->getAngularDumping(); - _angularDampingDefault = false; - cpBodySetMoment(_info->body, _angularDamping); - } - } - - if (_world != nullptr) _world->addShape(shape); - shape->retain(); } } void PhysicsBody::applyForce(Point force) { - applyForce(force, Point()); + applyForce(force, Point::ZERO); } void PhysicsBody::applyForce(Point force, Point offset) @@ -371,12 +355,117 @@ void PhysicsBody::applyTorque(float torque) void PhysicsBody::setMass(float mass) { + if (mass <= 0) + { + return; + } + _mass = mass; _massDefault = false; + // update density + if (_mass == PHYSICS_INFINITY) + { + _density = PHYSICS_INFINITY; + } + else + { + if (_area > 0) + { + _density = _mass / _area; + }else + { + _density = 0; + } + } + cpBodySetMass(_info->body, PhysicsHelper::float2cpfloat(_mass)); } +void PhysicsBody::addMass(float mass) +{ + if (mass == PHYSICS_INFINITY) + { + _mass = PHYSICS_INFINITY; + _massDefault = false; + _density = PHYSICS_INFINITY; + } + else if (mass == -PHYSICS_INFINITY) + { + return; + } + else if (_mass != PHYSICS_INFINITY) + { + if (_massDefault) + { + _mass = 0; + _massDefault = false; + } + + if (_mass + mass > 0) + { + _mass += mass; + }else + { + _mass = MASS_DEFAULT; + _massDefault = true; + } + + if (_area > 0) + { + _density = _mass / _area; + } + else + { + _density = 0; + } + } + + cpBodySetMass(_info->body, PhysicsHelper::float2cpfloat(_mass)); +} + +void PhysicsBody::addMoment(float moment) +{ + if (moment == PHYSICS_INFINITY) + { + // if moment is INFINITY, the moment of the body will become INFINITY + _moment = PHYSICS_INFINITY; + _momentDefault = false; + } + else if (moment == -PHYSICS_INFINITY) + { + // if moment is -INFINITY, it won't change + return; + } + else + { + // if moment of the body is INFINITY is has no effect + if (_moment != PHYSICS_INFINITY) + { + if (_momentDefault) + { + _moment = 0; + _momentDefault = false; + } + + if (_moment + moment > 0) + { + _moment += moment; + } + else + { + _moment = MOMENT_DEFAULT; + _momentDefault = true; + } + } + } + + if (_rotationEnable) + { + cpBodySetMoment(_info->body, PhysicsHelper::float2cpfloat(_moment)); + } +} + void PhysicsBody::setVelocity(Point velocity) { cpBodySetVel(_info->body, PhysicsHelper::point2cpv(velocity)); @@ -387,12 +476,45 @@ Point PhysicsBody::getVelocity() return PhysicsHelper::cpv2point(cpBodyGetVel(_info->body)); } -void PhysicsBody::setAngularDamping(float angularDamping) +void PhysicsBody::setAngularVelocity(float velocity) { - _angularDamping = angularDamping; - _angularDampingDefault = false; + cpBodySetAngVel(_info->body, PhysicsHelper::float2cpfloat(velocity)); +} + +float PhysicsBody::getAngularVelocity() +{ + return PhysicsHelper::cpfloat2float(cpBodyGetAngVel(_info->body)); +} + +void PhysicsBody::setVelocityLimit(float limit) +{ + cpBodySetVelLimit(_info->body, PhysicsHelper::float2cpfloat(limit)); +} + +float PhysicsBody::getVelocityLimit() +{ + return PhysicsHelper::cpfloat2float(cpBodyGetVelLimit(_info->body)); +} + +void PhysicsBody::setAngularVelocityLimit(float limit) +{ + cpBodySetVelLimit(_info->body, PhysicsHelper::float2cpfloat(limit)); +} + +float PhysicsBody::getAngularVelocityLimit() +{ + return PhysicsHelper::cpfloat2float(cpBodyGetAngVelLimit(_info->body)); +} + +void PhysicsBody::setMoment(float moment) +{ + _moment = moment; + _momentDefault = false; - cpBodySetMoment(_info->body, _angularDamping); + if (_rotationEnable) + { + cpBodySetMoment(_info->body, PhysicsHelper::float2cpfloat(_moment)); + } } PhysicsShape* PhysicsBody::getShapeByTag(int tag) @@ -426,51 +548,19 @@ void PhysicsBody::removeShape(PhysicsShape* shape) if (it != _shapes.end()) { + // deduce the area, mass and moment + // area must update before mass, because the density changes depend on it. + _area -= shape->getArea(); + addMass(-shape->getMass()); + addMoment(-shape->getMoment()); + + //remove if (_world) { _world->removeShape(shape); } - _shapes.erase(it); - - - // deduce the mass, area and angularDamping - if (_mass != PHYSICS_INFINITY && shape->getMass() != PHYSICS_INFINITY) - { - if (_mass - shape->getMass() <= 0) - { - _mass = MASS_DEFAULT; - _massDefault = true; - }else - { - _mass = _mass = shape->getMass(); - } - - _area -= shape->getArea(); - - if (_mass == PHYSICS_INFINITY) - { - _density = PHYSICS_INFINITY; - } - else if (_area > 0) - { - _density = _mass / _area; - } - else - { - _density = DENSITY_DEFAULT; - } - - if (_angularDamping - shape->getAngularDumping() > 0) - { - _angularDamping -= shape->getAngularDumping(); - }else - { - _angularDamping = ANGULARDAMPING_DEFAULT; - _angularDampingDefault = true; - } - } - + shape->setBody(nullptr); shape->release(); } } @@ -509,6 +599,22 @@ void PhysicsBody::setEnable(bool enable) } } +bool PhysicsBody::isResting() +{ + return cpBodyIsSleeping(_info->body) == cpTrue; +} + +void PhysicsBody::update(float delta) +{ + // damping compute + if (_dynamic) + { + _info->body->v.x *= cpfclamp(1.0f - delta * _linearDamping, 0.0f, 1.0f); + _info->body->v.y *= cpfclamp(1.0f - delta * _linearDamping, 0.0f, 1.0f); + _info->body->w *= cpfclamp(1.0f - delta * _angularDamping, 0.0f, 1.0f); + } +} + //Clonable* PhysicsBody::clone() const //{ // PhysicsBody* body = new PhysicsBody(); diff --git a/cocos/physics/CCPhysicsBody.h b/cocos/physics/CCPhysicsBody.h index 412ec6b963..65d9f7318a 100644 --- a/cocos/physics/CCPhysicsBody.h +++ b/cocos/physics/CCPhysicsBody.h @@ -43,7 +43,7 @@ class PhysicsJoint; class PhysicsBodyInfo; -const PhysicsMaterial PHYSICSBODY_MATERIAL_DEFAULT(0.0f, 1.0f, 1.0f); +const PhysicsMaterial PHYSICSBODY_MATERIAL_DEFAULT = {1.0f, 1.0f, 1.0f}; /** * A body affect by physics. @@ -109,6 +109,12 @@ public: virtual void setVelocity(Point velocity); virtual Point getVelocity(); + virtual void setAngularVelocity(float velocity); + virtual float getAngularVelocity(); + virtual void setVelocityLimit(float limit); + virtual float getVelocityLimit(); + virtual void setAngularVelocityLimit(float limit); + virtual float getAngularVelocityLimit(); /* * @brief get the body shapes. @@ -143,11 +149,11 @@ public: */ inline Sprite* getOwner() const { return _owner; } - void setCategoryBitmask(int bitmask); + inline void setCategoryBitmask(int bitmask) { _categoryBitmask = bitmask; } inline int getCategoryBitmask() const { return _categoryBitmask; } - void setContactTestBitmask(int bitmask); + inline void setContactTestBitmask(int bitmask) { _contactTestBitmask = bitmask; } inline int getContactTestBitmask() const { return _contactTestBitmask; } - void setCollisionBitmask(int bitmask); + inline void setCollisionBitmask(int bitmask) { _collisionBitmask = bitmask; } inline int getCollisionBitmask() const { return _collisionBitmask; } /* @@ -172,30 +178,70 @@ public: /* * @brief set the body mass. + * @note if you need add/subtract mass to body, don't use setMass(getMass() +/- mass), because the mass of body may be equal to PHYSICS_INFINITY, it will cause some unexpected result, please use addMass() instead. */ void setMass(float mass); /* * @brief get the body mass. */ inline float getMass() { return _mass; } + /* + * @brief add mass to body. + * if _mass(mass of the body) == PHYSICS_INFINITY, it remains. + * if mass == PHYSICS_INFINITY, _mass will be PHYSICS_INFINITY. + * if mass == -PHYSICS_INFINITY, _mass will not change. + * if mass + _mass <= 0, _mass will equal to MASS_DEFAULT(1.0) + * other wise, mass = mass + _mass; + */ + void addMass(float mass); + /* + * @brief set the body moment of inertia. + * @note if you need add/subtract moment to body, don't use setMoment(getMoment() +/- moment), because the moment of body may be equal to PHYSICS_INFINITY, it will cause some unexpected result, please use addMoment() instead. + */ + void setMoment(float moment); + /* + * @brief get the body moment of inertia. + */ + inline float getMoment(float moment) { return _moment; } + /* + * @brief add moment of inertia to body. + * if _moment(moment of the body) == PHYSICS_INFINITY, it remains. + * if moment == PHYSICS_INFINITY, _moment will be PHYSICS_INFINITY. + * if moment == -PHYSICS_INFINITY, _moment will not change. + * if moment + _moment <= 0, _moment will equal to MASS_DEFAULT(1.0) + * other wise, moment = moment + _moment; + */ + void addMoment(float moment); /* * @brief set angular damping. */ - void setAngularDamping(float angularDamping); + //void setAngularDamping(float angularDamping); /* * @brief get angular damping. */ + inline float getLinearDamping() { return _linearDamping; } + inline void setLinearDamping(float damping) { _linearDamping = damping; } inline float getAngularDamping() { return _angularDamping; } + inline void setAngularDamping(float damping) { _angularDamping = damping; } //virtual Clonable* clone() const override; + bool isResting(); inline bool isEnable() { return _enable; } void setEnable(bool enable); + inline bool isRotationEnable() { return _rotationEnable; } + void setRotationEnable(bool enable); + + inline bool isGravityEnable() { return _gravityEnable; } + void setGravityEnable(bool enable); + + inline int getTag() { return _tag; } inline void setTag(int tag) { _tag = tag; } + protected: bool init(); @@ -203,6 +249,8 @@ protected: virtual void setPosition(Point position); virtual void setRotation(float rotation); + virtual void update(float delta) override; + protected: PhysicsBody(); virtual ~PhysicsBody(); @@ -215,17 +263,21 @@ protected: PhysicsBodyInfo* _info; bool _dynamic; bool _enable; + bool _rotationEnable; + bool _gravityEnable; bool _massDefault; - bool _angularDampingDefault; + bool _momentDefault; float _mass; float _area; float _density; + float _moment; + float _linearDamping; float _angularDamping; int _tag; int _categoryBitmask; - int _contactTestBitmask; int _collisionBitmask; + int _contactTestBitmask; friend class PhysicsWorld; friend class PhysicsShape; diff --git a/cocos/physics/CCPhysicsContact.cpp b/cocos/physics/CCPhysicsContact.cpp index 928c8c9e59..1ec9667d6f 100644 --- a/cocos/physics/CCPhysicsContact.cpp +++ b/cocos/physics/CCPhysicsContact.cpp @@ -31,7 +31,7 @@ #endif #include "chipmunk/CCPhysicsContactInfo.h" -#include "Box2D/CCPhysicsContactInfo.h" +#include "box2d/CCPhysicsContactInfo.h" NS_CC_BEGIN diff --git a/cocos/physics/CCPhysicsContact.h b/cocos/physics/CCPhysicsContact.h index 86c39a05eb..9b9e3044c0 100644 --- a/cocos/physics/CCPhysicsContact.h +++ b/cocos/physics/CCPhysicsContact.h @@ -47,11 +47,11 @@ public: /* * @brief get contact shape A. */ - inline PhysicsShape* getShapeA() { return _shapeA; } + inline PhysicsShape* getShapeA() const { return _shapeA; } /* * @brief get contact shape B. */ - inline PhysicsShape* getShapeB() { return _shapeB; } + inline PhysicsShape* getShapeB() const { return _shapeB; } /* * @brief get data. */ @@ -65,6 +65,9 @@ private: static PhysicsContact* create(PhysicsShape* a, PhysicsShape* b); bool init(PhysicsShape* a, PhysicsShape* b); + inline bool getNotify() { return _notify; } + inline void setNotify(bool notify) { _notify = notify; } + private: PhysicsContact(); ~PhysicsContact(); @@ -74,8 +77,10 @@ private: PhysicsShape* _shapeB; PhysicsContactInfo* _info; void* _data; + bool _notify; friend class PhysicsWorld; + friend class PhysicsWorldCallback; }; /* @@ -90,7 +95,7 @@ private: static PhysicsContactPreSolve* create(); bool init(); - friend class PhysicsWorld; + friend class PhysicsWorldCallback; }; /* @@ -105,7 +110,7 @@ private: static PhysicsContactPostSolve* create(); bool init(); - friend class PhysicsWorld; + friend class PhysicsWorldCallback; }; /* @@ -121,20 +126,20 @@ public: /* * @brief it will called at two shapes start to contact, and only call it once. */ - std::function onContactBegin; + std::function onContactBegin; /* * @brief Two shapes are touching during this step. Return false from the callback to make world ignore the collision this step or true to process it normally. Additionally, you may override collision values, elasticity, or surface velocity values. */ - std::function onContactPreSolve; + std::function onContactPreSolve; /* * @brief Two shapes are touching and their collision response has been processed. You can retrieve the collision impulse or kinetic energy at this time if you want to use it to calculate sound volumes or damage amounts. See cpArbiter for more info */ - std::function onContactPostSolve; + std::function onContactPostSolve; /* * @brief it will called at two shapes separated, and only call it once. * onContactBegin and onContactEnd will called in pairs. */ - std::function onContactEnd; + std::function onContactEnd; }; NS_CC_END diff --git a/cocos/physics/CCPhysicsJoint.cpp b/cocos/physics/CCPhysicsJoint.cpp index 63b6ac052e..fff8665a3c 100644 --- a/cocos/physics/CCPhysicsJoint.cpp +++ b/cocos/physics/CCPhysicsJoint.cpp @@ -34,11 +34,13 @@ #include "CCPhysicsBody.h" #include "chipmunk/CCPhysicsJointInfo.h" -#include "Box2D/CCPhysicsJointInfo.h" +#include "box2d/CCPhysicsJointInfo.h" #include "chipmunk/CCPhysicsBodyInfo.h" -#include "Box2D/CCPhysicsBodyInfo.h" +#include "box2d/CCPhysicsBodyInfo.h" +#include "chipmunk/CCPhysicsShapeInfo.h" +#include "box2d/CCPhysicsShapeInfo.h" #include "chipmunk/CCPhysicsHelper.h" -#include "Box2D/CCPhysicsHelper.h" +#include "box2d/CCPhysicsHelper.h" NS_CC_BEGIN @@ -47,6 +49,7 @@ PhysicsJoint::PhysicsJoint() , _bodyB(nullptr) , _info(nullptr) , _enable(false) +, _collisionEnable(true) , _tag(0) { @@ -54,6 +57,9 @@ PhysicsJoint::PhysicsJoint() PhysicsJoint::~PhysicsJoint() { + // reset the shapes collision group + setCollisionEnable(true); + CC_SAFE_DELETE(_info); CC_SAFE_RELEASE(_bodyA); @@ -66,7 +72,7 @@ bool PhysicsJoint::init(cocos2d::PhysicsBody *a, cocos2d::PhysicsBody *b) { CC_BREAK_IF(a == nullptr || b == nullptr); - CC_BREAK_IF(!(_info = new PhysicsJointInfo())); + CC_BREAK_IF(!(_info = new PhysicsJointInfo(this))); _bodyA = a; _bodyA->retain(); @@ -144,6 +150,18 @@ PhysicsBodyInfo* PhysicsJoint::bodyInfo(PhysicsBody* body) const } +void PhysicsJoint::setCollisionEnable(bool enable) +{ + if (_collisionEnable != enable) + { + _collisionEnable = enable; + + for (auto shape : _bodyB->_shapes) + { + shape->_info->setGroup(enable ? _bodyB->_info->group : _bodyA->_info->group); + } + } +} PhysicsJointFixed* PhysicsJointFixed::create(PhysicsBody* a, PhysicsBody* b, const Point& anchr) { @@ -165,8 +183,18 @@ bool PhysicsJointFixed::init(PhysicsBody* a, PhysicsBody* b, const Point& anchr) { CC_BREAK_IF(!PhysicsJoint::init(a, b)); - _info->joint = cpPivotJointNew(bodyInfo(a)->body, bodyInfo(b)->body, + // add a pivot joint to fixed two body together + cpConstraint* joint = cpPivotJointNew(bodyInfo(a)->body, bodyInfo(b)->body, PhysicsHelper::point2cpv(anchr)); + CC_BREAK_IF(joint); + _info->add(joint); + + // add a gear joint to make two body have the same rotation. + joint = cpGearJointNew(bodyInfo(a)->body, bodyInfo(b)->body, 0, 1); + CC_BREAK_IF(joint); + _info->add(joint); + + setCollisionEnable(false); return true; } while (false); @@ -174,11 +202,11 @@ bool PhysicsJointFixed::init(PhysicsBody* a, PhysicsBody* b, const Point& anchr) return false; } -PhysicsJointPin* PhysicsJointPin::create(PhysicsBody* a, PhysicsBody* b, const Point& anchr1, const Point& anchr2) +PhysicsJointPin* PhysicsJointPin::create(PhysicsBody* a, PhysicsBody* b, const Point& anchr) { PhysicsJointPin* joint = new PhysicsJointPin(); - if (joint && joint->init(a, b, anchr1, anchr2)) + if (joint && joint->init(a, b, anchr)) { joint->autorelease(); return joint; @@ -188,13 +216,20 @@ PhysicsJointPin* PhysicsJointPin::create(PhysicsBody* a, PhysicsBody* b, const P return nullptr; } -bool PhysicsJointPin::init(PhysicsBody *a, PhysicsBody *b, const Point& anchr1, const Point& anchr2) +bool PhysicsJointPin::init(PhysicsBody *a, PhysicsBody *b, const Point& anchr) { do { CC_BREAK_IF(!PhysicsJoint::init(a, b)); - _info->joint = cpPinJointNew(bodyInfo(a)->body, bodyInfo(b)->body, PhysicsHelper::point2cpv(anchr1), PhysicsHelper::point2cpv(anchr2)); + cpConstraint* joint = cpPivotJointNew(bodyInfo(a)->body, bodyInfo(b)->body, + PhysicsHelper::point2cpv(anchr)); + + CC_BREAK_IF(joint); + + _info->add(joint); + + setCollisionEnable(false); return true; } while (false); @@ -221,11 +256,15 @@ bool PhysicsJointSliding::init(PhysicsBody* a, PhysicsBody* b, const Point& groo { CC_BREAK_IF(!PhysicsJoint::init(a, b)); - _info->joint = cpGrooveJointNew(bodyInfo(a)->body, bodyInfo(b)->body, + cpConstraint* joint = cpGrooveJointNew(bodyInfo(a)->body, bodyInfo(b)->body, PhysicsHelper::point2cpv(grooveA), PhysicsHelper::point2cpv(grooveB), PhysicsHelper::point2cpv(anchr)); + CC_BREAK_IF(joint); + + _info->add(joint); + return true; } while (false); @@ -233,11 +272,11 @@ bool PhysicsJointSliding::init(PhysicsBody* a, PhysicsBody* b, const Point& groo } -PhysicsJointLimit* PhysicsJointLimit::create(PhysicsBody* a, PhysicsBody* b, const Point& anchr1, const Point& anchr2, float min, float max) +PhysicsJointLimit* PhysicsJointLimit::create(PhysicsBody* a, PhysicsBody* b, const Point& anchr1, const Point& anchr2) { PhysicsJointLimit* joint = new PhysicsJointLimit(); - if (joint && joint->init(a, b, anchr1, anchr2, min, max)) + if (joint && joint->init(a, b, anchr1, anchr2)) { return joint; } @@ -246,17 +285,21 @@ PhysicsJointLimit* PhysicsJointLimit::create(PhysicsBody* a, PhysicsBody* b, con return nullptr; } -bool PhysicsJointLimit::init(PhysicsBody* a, PhysicsBody* b, const Point& anchr1, const Point& anchr2, float min, float max) +bool PhysicsJointLimit::init(PhysicsBody* a, PhysicsBody* b, const Point& anchr1, const Point& anchr2) { do { CC_BREAK_IF(!PhysicsJoint::init(a, b)); - _info->joint = cpSlideJointNew(bodyInfo(a)->body, bodyInfo(b)->body, + cpConstraint* joint = cpSlideJointNew(bodyInfo(a)->body, bodyInfo(b)->body, PhysicsHelper::point2cpv(anchr1), PhysicsHelper::point2cpv(anchr2), - PhysicsHelper::float2cpfloat(min), - PhysicsHelper::float2cpfloat(max)); + 0, + PhysicsHelper::float2cpfloat(anchr1.getDistance(anchr2))); + + CC_BREAK_IF(joint); + + _info->add(joint); return true; } while (false); @@ -264,6 +307,26 @@ bool PhysicsJointLimit::init(PhysicsBody* a, PhysicsBody* b, const Point& anchr1 return false; } +float PhysicsJointLimit::getMin() +{ + return PhysicsHelper::cpfloat2float(cpSlideJointGetMin(_info->joints.front())); +} + +void PhysicsJointLimit::setMin(float min) +{ + cpSlideJointSetMin(_info->joints.front(), PhysicsHelper::float2cpfloat(min)); +} + +float PhysicsJointLimit::getMax() +{ + return PhysicsHelper::cpfloat2float(cpSlideJointGetMax(_info->joints.front())); +} + +void PhysicsJointLimit::setMax(float max) +{ + cpSlideJointSetMax(_info->joints.front(), PhysicsHelper::float2cpfloat(max)); +} + #elif (CC_PHYSICS_ENGINE == CC_PHYSICS_BOX2D) #endif diff --git a/cocos/physics/CCPhysicsJoint.h b/cocos/physics/CCPhysicsJoint.h index 7b78e1a089..04f85d0d0c 100644 --- a/cocos/physics/CCPhysicsJoint.h +++ b/cocos/physics/CCPhysicsJoint.h @@ -53,6 +53,8 @@ public: inline void setTag(int tag) { _tag = tag; } inline bool isEnable() { return _enable; } void setEnable(bool enable); + inline bool isCollisionEnable() { return _collisionEnable; } + void setCollisionEnable(bool enable); protected: bool init(PhysicsBody* a, PhysicsBody* b); @@ -67,6 +69,7 @@ protected: PhysicsBody* _bodyB; PhysicsJointInfo* _info; bool _enable; + bool _collisionEnable; int _tag; friend class PhysicsBody; @@ -127,10 +130,15 @@ protected: class PhysicsJointLimit : public PhysicsJoint { public: - PhysicsJointLimit* create(PhysicsBody* a, PhysicsBody* b, const Point& anchr1, const Point& anchr2, float min, float max); + PhysicsJointLimit* create(PhysicsBody* a, PhysicsBody* b, const Point& anchr1, const Point& anchr2); + + float getMin(); + void setMin(float min); + float getMax(); + void setMax(float max); protected: - bool init(PhysicsBody* a, PhysicsBody* b, const Point& anchr1, const Point& anchr2, float min, float max); + bool init(PhysicsBody* a, PhysicsBody* b, const Point& anchr1, const Point& anchr2); protected: PhysicsJointLimit(); @@ -143,10 +151,10 @@ protected: class PhysicsJointPin : public PhysicsJoint { public: - static PhysicsJointPin* create(PhysicsBody* a, PhysicsBody* b, const Point& anchr1, const Point& anchr2); + static PhysicsJointPin* create(PhysicsBody* a, PhysicsBody* b, const Point& anchr); protected: - bool init(PhysicsBody* a, PhysicsBody* b, const Point& anchr1, const Point& anchr2); + bool init(PhysicsBody* a, PhysicsBody* b, const Point& anchr); protected: PhysicsJointPin(); diff --git a/cocos/physics/CCPhysicsShape.cpp b/cocos/physics/CCPhysicsShape.cpp index b373e0710e..6ffd7d86aa 100644 --- a/cocos/physics/CCPhysicsShape.cpp +++ b/cocos/physics/CCPhysicsShape.cpp @@ -35,9 +35,9 @@ #include "CCPhysicsWorld.h" #include "chipmunk/CCPhysicsBodyInfo.h" -#include "Box2D/CCPhysicsBodyInfo.h" +#include "box2d/CCPhysicsBodyInfo.h" #include "chipmunk/CCPhysicsShapeInfo.h" -#include "Box2D/CCPhysicsShapeInfo.h" +#include "box2d/CCPhysicsShapeInfo.h" #include "chipmunk/CCPhysicsHelper.h" NS_CC_BEGIN @@ -48,9 +48,8 @@ PhysicsShape::PhysicsShape() , _type(Type::UNKNOWN) , _area(0) , _mass(0) -, _angularDamping(0) +, _moment(0) , _tag(0) -, _enable(true) { } @@ -60,44 +59,53 @@ PhysicsShape::~PhysicsShape() CC_SAFE_DELETE(_info); } -bool PhysicsShape::init(Type type, PhysicsMaterial material/* = MaterialDefault*/) +bool PhysicsShape::init(Type type) { _info = new PhysicsShapeInfo(this); if (_info == nullptr) return false; _type = type; - _material = material; return true; } void PhysicsShape::setMass(float mass) { - -} - -void PhysicsShape::setEnable(bool enable) -{ - if (_enable != enable) + if (mass < 0) { - _enable = enable; - - if (_body->getWorld() && _body->isEnable()) - { - if (enable) - { - _body->getWorld()->addShape(this); - }else - { - _body->getWorld()->removeShape(this); - } - } + return; } + + if (_body) + { + _body->addMass(-_mass); + _body->addMass(mass); + }; + + _mass = mass; } -void PhysicsShape::addToBody() +void PhysicsShape::setMoment(float moment) { - if(_body != nullptr) _body->addShape(this); + if (moment < 0) + { + return; + } + + if (_body) + { + _body->addMoment(-_moment); + _body->addMoment(moment); + }; + + _moment = moment; +} + +void PhysicsShape::setMaterial(PhysicsMaterial material) +{ + setDensity(material.density); + setRestitution(material.restitution); + setFriction(material.friction); } PhysicsBodyInfo* PhysicsShape::bodyInfo() const @@ -182,32 +190,98 @@ PhysicsShapeEdgeSegment::~PhysicsShapeEdgeSegment() } #if (CC_PHYSICS_ENGINE == CC_PHYSICS_CHIPMUNK) - -void PhysicsShape::initEnd() +void PhysicsShape::setDensity(float density) { - for (auto shape : _info->shapes) + if (density < 0) { - cpShapeSetElasticity(shape, _material.elasticity); - cpShapeSetFriction(shape, _material.friction); + return; + } + + _material.density = density; + + if (_material.density == PHYSICS_INFINITY) + { + setMass(PHYSICS_INFINITY); + }else if (_area > 0) + { + setMass(PhysicsHelper::float2cpfloat(_material.density * _area)); } } -void PhysicsShape::setElasticity(float elasticity) +void PhysicsShape::setRestitution(float restitution) { + _material.restitution = restitution; + for (cpShape* shape : _info->shapes) { - cpShapeSetElasticity(shape, PhysicsHelper::float2cpfloat(elasticity)); + cpShapeSetElasticity(shape, PhysicsHelper::float2cpfloat(restitution)); } } void PhysicsShape::setFriction(float friction) { + _material.friction = friction; + for (cpShape* shape : _info->shapes) { cpShapeSetFriction(shape, PhysicsHelper::float2cpfloat(friction)); } } + +Point* PhysicsShape::recenterPoints(Point* points, int count, Point center) +{ + cpVect* cpvs = new cpVect[count]; + cpRecenterPoly(count, PhysicsHelper::points2cpvs(points, cpvs, count)); + PhysicsHelper::cpvs2points(cpvs, points, count); + delete[] cpvs; + + if (center != Point::ZERO) + { + for (int i = 0; i < count; ++i) + { + points[i] += center; + } + } + + return points; +} + +Point PhysicsShape::getPolyonCenter(Point* points, int count) +{ + cpVect* cpvs = new cpVect[count]; + cpVect center = cpCentroidForPoly(count, PhysicsHelper::points2cpvs(points, cpvs, count)); + delete[] cpvs; + + return PhysicsHelper::cpv2point(center); +} + +void PhysicsShape::setBody(PhysicsBody *body) +{ + // already added + if (_body == body) + { + return; + } + + if (_body != nullptr) + { + _body->removeShape(this); + } + + if (body == nullptr) + { + _info->setBody(nullptr); + _info->setGroup(CP_NO_GROUP); + _body = nullptr; + }else + { + _info->setBody(body->_info->body); + _info->setGroup(body->_info->group); + _body = body; + } +} + // PhysicsShapeCircle PhysicsShapeCircle* PhysicsShapeCircle::create(float radius, PhysicsMaterial material/* = MaterialDefault*/, Point offset/* = Point(0, 0)*/) { @@ -226,25 +300,65 @@ bool PhysicsShapeCircle::init(float radius, PhysicsMaterial material/* = Materia { do { - CC_BREAK_IF(!PhysicsShape::init(Type::CIRCLE, material)); + CC_BREAK_IF(!PhysicsShape::init(Type::CIRCLE)); cpShape* shape = cpCircleShapeNew(_info->shareBody, radius, PhysicsHelper::point2cpv(offset)); CC_BREAK_IF(shape == nullptr); - _area = PhysicsHelper::cpfloat2float(cpAreaForCircle(0, radius)); - _mass = _material.density == PHYSICS_INFINITY ? PHYSICS_INFINITY : _material.density * _area; - _angularDamping = _mass == PHYSICS_INFINITY ? PHYSICS_INFINITY : cpMomentForCircle(_mass, 0, radius, PhysicsHelper::point2cpv(offset)); - _info->add(shape); - initEnd(); + _area = calculateDefaultArea(); + _mass = material.density == PHYSICS_INFINITY ? PHYSICS_INFINITY : material.density * _area; + _moment = calculateDefaultMoment(); + + setMaterial(material); return true; } while (false); return false; } +float PhysicsShapeCircle::calculateArea(float radius) +{ + return PhysicsHelper::cpfloat2float(cpAreaForCircle(0, radius)); +} + +float PhysicsShapeCircle::calculateMoment(float mass, float radius, Point offset) +{ + return mass == PHYSICS_INFINITY ? PHYSICS_INFINITY + : PhysicsHelper::cpfloat2float(cpMomentForCircle(PhysicsHelper::float2cpfloat(mass), + 0, + PhysicsHelper::float2cpfloat(radius), + PhysicsHelper::point2cpv(offset))); +} + +float PhysicsShapeCircle::calculateDefaultArea() +{ + return PhysicsHelper::cpfloat2float(cpAreaForCircle(0, cpCircleShapeGetRadius(_info->shapes.front()))); +} + +float PhysicsShapeCircle::calculateDefaultMoment() +{ + cpShape* shape = _info->shapes.front(); + + return _mass == PHYSICS_INFINITY ? PHYSICS_INFINITY + : PhysicsHelper::cpfloat2float(cpMomentForCircle(PhysicsHelper::float2cpfloat(_mass), + 0, + cpCircleShapeGetRadius(shape), + cpCircleShapeGetOffset(shape))); +} + +float PhysicsShapeCircle::getRadius() +{ + return PhysicsHelper::cpfloat2float(cpCircleShapeGetRadius(_info->shapes.front())); +} + +Point PhysicsShapeCircle::getOffset() +{ + return PhysicsHelper::cpv2point(cpCircleShapeGetOffset(_info->shapes.front())); +} + // PhysicsShapeEdgeSegment PhysicsShapeEdgeSegment* PhysicsShapeEdgeSegment::create(Point a, Point b, PhysicsMaterial material/* = MaterialDefault*/, float border/* = 1*/) { @@ -263,7 +377,7 @@ bool PhysicsShapeEdgeSegment::init(Point a, Point b, PhysicsMaterial material/* { do { - CC_BREAK_IF(!PhysicsShape::init(Type::EDGESEGMENT, material)); + CC_BREAK_IF(!PhysicsShape::init(Type::EDGESEGMENT)); cpShape* shape = cpSegmentShapeNew(_info->shareBody, PhysicsHelper::point2cpv(a), @@ -272,12 +386,14 @@ bool PhysicsShapeEdgeSegment::init(Point a, Point b, PhysicsMaterial material/* CC_BREAK_IF(shape == nullptr); - _mass = PHYSICS_INFINITY; - _angularDamping = PHYSICS_INFINITY; - _info->add(shape); - initEnd(); + _mass = PHYSICS_INFINITY; + _moment = PHYSICS_INFINITY; + _center = a.getMidpoint(b); + + + setMaterial(material); return true; } while (false); @@ -285,6 +401,21 @@ bool PhysicsShapeEdgeSegment::init(Point a, Point b, PhysicsMaterial material/* return false; } +Point PhysicsShapeEdgeSegment::getPointA() +{ + return PhysicsHelper::cpv2point(((cpSegmentShape*)(_info->shapes.front()))->ta); +} + +Point PhysicsShapeEdgeSegment::getPointB() +{ + return PhysicsHelper::cpv2point(((cpSegmentShape*)(_info->shapes.front()))->tb); +} + +Point PhysicsShapeEdgeSegment::getCenter() +{ + return _center; +} + // PhysicsShapeBox PhysicsShapeBox* PhysicsShapeBox::create(Size size, PhysicsMaterial material/* = MaterialDefault*/, Point offset/* = Point(0, 0)*/) { @@ -303,19 +434,26 @@ bool PhysicsShapeBox::init(Size size, PhysicsMaterial material/* = MaterialDefau { do { - CC_BREAK_IF(!PhysicsShape::init(Type::BOX, material)); + CC_BREAK_IF(!PhysicsShape::init(Type::BOX)); - cpShape* shape = cpBoxShapeNew(_info->shareBody, PhysicsHelper::float2cpfloat(size.width), PhysicsHelper::float2cpfloat(size.height)); + cpVect wh = PhysicsHelper::size2cpv(size); + cpVect vec[4] = + { + {-wh.x/2.0f, -wh.y/2.0f}, {-wh.x/2.0f, wh.y/2.0f}, {wh.x/2.0f, wh.y/2.0f}, {wh.x/2.0f, -wh.y/2.0f} + }; + + cpShape* shape = cpPolyShapeNew(_info->shareBody, 4, vec, PhysicsHelper::point2cpv(offset)); CC_BREAK_IF(shape == nullptr); - _area = PhysicsHelper::cpfloat2float(cpAreaForPoly(4, ((cpPolyShape*)shape)->verts)); - _mass = _material.density == PHYSICS_INFINITY ? PHYSICS_INFINITY : _material.density * _area; - _angularDamping = _mass == PHYSICS_INFINITY ? PHYSICS_INFINITY : cpMomentForBox(_mass, PhysicsHelper::float2cpfloat(size.width), PhysicsHelper::float2cpfloat(size.height)); - _info->add(shape); - initEnd(); + _offset = offset; + _area = calculateDefaultArea(); + _mass = material.density == PHYSICS_INFINITY ? PHYSICS_INFINITY : material.density * _area; + _moment = calculateDefaultMoment(); + + setMaterial(material); return true; } while (false); @@ -323,7 +461,60 @@ bool PhysicsShapeBox::init(Size size, PhysicsMaterial material/* = MaterialDefau return false; } -// PhysicsShapeCircle +float PhysicsShapeBox::calculateArea(Size size) +{ + cpVect wh = PhysicsHelper::size2cpv(size); + cpVect vec[4] = + { + {-wh.x/2.0f, -wh.y/2.0f}, {-wh.x/2.0f, wh.y/2.0f}, {wh.x/2.0f, wh.y/2.0f}, {wh.x/2.0f, -wh.y/2.0f} + }; + return PhysicsHelper::cpfloat2float(cpAreaForPoly(4, vec)); +} + +float PhysicsShapeBox::calculateMoment(float mass, Size size, Point offset) +{ + cpVect wh = PhysicsHelper::size2cpv(size); + cpVect vec[4] = + { + {-wh.x/2.0f, -wh.y/2.0f}, {-wh.x/2.0f, wh.y/2.0f}, {wh.x/2.0f, wh.y/2.0f}, {wh.x/2.0f, -wh.y/2.0f} + }; + + return mass == PHYSICS_INFINITY ? PHYSICS_INFINITY + : PhysicsHelper::cpfloat2float(cpMomentForPoly(PhysicsHelper::float2cpfloat(mass), + 4, + vec, + PhysicsHelper::point2cpv(offset))); +} + +float PhysicsShapeBox::calculateDefaultArea() +{ + cpShape* shape = _info->shapes.front(); + return PhysicsHelper::cpfloat2float(cpAreaForPoly(((cpPolyShape*)shape)->numVerts, ((cpPolyShape*)shape)->verts)); +} + +float PhysicsShapeBox::calculateDefaultMoment() +{ + cpShape* shape = _info->shapes.front(); + return _mass == PHYSICS_INFINITY ? PHYSICS_INFINITY + : PhysicsHelper::cpfloat2float(cpMomentForPoly(_mass, ((cpPolyShape*)shape)->numVerts, ((cpPolyShape*)shape)->verts, cpvzero)); +} + +Point* PhysicsShapeBox::getPoints(Point* points) +{ + cpShape* shape = _info->shapes.front(); + return PhysicsHelper::cpvs2points(((cpPolyShape*)shape)->verts, points, ((cpPolyShape*)shape)->numVerts); + + return points; +} + +Size PhysicsShapeBox::getSize() +{ + cpShape* shape = _info->shapes.front(); + return PhysicsHelper::cpv2size(cpv(cpvdist(cpPolyShapeGetVert(shape, 0), cpPolyShapeGetVert(shape, 1)), + cpvdist(cpPolyShapeGetVert(shape, 1), cpPolyShapeGetVert(shape, 2)))); +} + +// PhysicsShapePolygon PhysicsShapePolygon* PhysicsShapePolygon::create(Point* points, int count, PhysicsMaterial material/* = MaterialDefault*/, Point offset/* = Point(0, 0)*/) { PhysicsShapePolygon* shape = new PhysicsShapePolygon(); @@ -337,11 +528,11 @@ PhysicsShapePolygon* PhysicsShapePolygon::create(Point* points, int count, Physi return nullptr; } -bool PhysicsShapePolygon::init(Point* points, int count, PhysicsMaterial material/* = MaterialDefault*/, Point offset /*= Point(0, 0)*/) +bool PhysicsShapePolygon::init(Point* points, int count, PhysicsMaterial material/* = MaterialDefault*/, Point offset/* = Point(0, 0)*/) { do { - CC_BREAK_IF(!PhysicsShape::init(Type::POLYGEN, material)); + CC_BREAK_IF(!PhysicsShape::init(Type::POLYGEN)); cpVect* vecs = new cpVect[count]; PhysicsHelper::points2cpvs(points, vecs, count); @@ -350,13 +541,14 @@ bool PhysicsShapePolygon::init(Point* points, int count, PhysicsMaterial materia CC_BREAK_IF(shape == nullptr); - _area = PhysicsHelper::cpfloat2float(cpAreaForPoly(((cpPolyShape*)shape)->numVerts, ((cpPolyShape*)shape)->verts)); - _mass = _material.density == PHYSICS_INFINITY ? PHYSICS_INFINITY : _material.density * _area; - _angularDamping = _mass == PHYSICS_INFINITY ? PHYSICS_INFINITY : cpMomentForPoly(_mass, ((cpPolyShape*)shape)->numVerts, ((cpPolyShape*)shape)->verts, PhysicsHelper::point2cpv(offset)); - _info->add(shape); - initEnd(); + _area = calculateDefaultArea(); + _mass = material.density == PHYSICS_INFINITY ? PHYSICS_INFINITY : material.density * _area; + _moment = calculateDefaultMoment(); + _center = PhysicsHelper::cpv2point(cpCentroidForPoly(((cpPolyShape*)shape)->numVerts, ((cpPolyShape*)shape)->verts)); + + setMaterial(material); return true; } while (false); @@ -364,6 +556,56 @@ bool PhysicsShapePolygon::init(Point* points, int count, PhysicsMaterial materia return false; } +float PhysicsShapePolygon::calculateArea(Point* points, int count) +{ + cpVect* vecs = new cpVect[count]; + PhysicsHelper::points2cpvs(points, vecs, count); + float area = PhysicsHelper::cpfloat2float(cpAreaForPoly(count, vecs)); + CC_SAFE_DELETE(vecs); + + return area; +} + +float PhysicsShapePolygon::calculateMoment(float mass, Point* points, int count, Point offset) +{ + cpVect* vecs = new cpVect[count]; + PhysicsHelper::points2cpvs(points, vecs, count); + float moment = mass == PHYSICS_INFINITY ? PHYSICS_INFINITY + : PhysicsHelper::cpfloat2float(cpMomentForPoly(mass, count, vecs, PhysicsHelper::point2cpv(offset))); + CC_SAFE_DELETE(vecs); + + return moment; +} + +float PhysicsShapePolygon::calculateDefaultArea() +{ + cpShape* shape = _info->shapes.front(); + return PhysicsHelper::cpfloat2float(cpAreaForPoly(((cpPolyShape*)shape)->numVerts, ((cpPolyShape*)shape)->verts)); +} + +float PhysicsShapePolygon::calculateDefaultMoment() +{ + cpShape* shape = _info->shapes.front(); + return _mass == PHYSICS_INFINITY ? PHYSICS_INFINITY + : PhysicsHelper::cpfloat2float(cpMomentForPoly(_mass, ((cpPolyShape*)shape)->numVerts, ((cpPolyShape*)shape)->verts, cpvzero)); +} + +Point* PhysicsShapePolygon::getPoints(Point* points) +{ + cpShape* shape = _info->shapes.front(); + return PhysicsHelper::cpvs2points(((cpPolyShape*)shape)->verts, points, ((cpPolyShape*)shape)->numVerts); +} + +int PhysicsShapePolygon::getPointsCount() +{ + return ((cpPolyShape*)_info->shapes.front())->numVerts; +} + +Point PhysicsShapePolygon::getCenter() +{ + return _center; +} + // PhysicsShapeEdgeBox PhysicsShapeEdgeBox* PhysicsShapeEdgeBox::create(Size size, PhysicsMaterial material/* = MaterialDefault*/, float border/* = 1*/, Point offset/* = Point(0, 0)*/) { @@ -382,7 +624,7 @@ bool PhysicsShapeEdgeBox::init(Size size, PhysicsMaterial material/* = MaterialD { do { - CC_BREAK_IF(!PhysicsShape::init(Type::EDGEBOX, material)); + CC_BREAK_IF(!PhysicsShape::init(Type::EDGEBOX)); cpVect vec[4] = {}; vec[0] = PhysicsHelper::point2cpv(Point(-size.width/2+offset.x, -size.height/2+offset.y)); @@ -400,10 +642,11 @@ bool PhysicsShapeEdgeBox::init(Size size, PhysicsMaterial material/* = MaterialD } CC_BREAK_IF(i < 4); + _offset = offset; _mass = PHYSICS_INFINITY; - _angularDamping = PHYSICS_INFINITY; + _moment = PHYSICS_INFINITY; - initEnd(); + setMaterial(material); return true; } while (false); @@ -430,10 +673,11 @@ bool PhysicsShapeEdgePolygon::init(Point* points, int count, PhysicsMaterial mat cpVect* vec = nullptr; do { - CC_BREAK_IF(!PhysicsShape::init(Type::EDGEPOLYGEN, material)); + CC_BREAK_IF(!PhysicsShape::init(Type::EDGEPOLYGEN)); vec = new cpVect[count]; PhysicsHelper::points2cpvs(points, vec, count); + _center = PhysicsHelper::cpv2point(cpCentroidForPoly(count, vec)); int i = 0; for (; i < count; ++i) @@ -445,23 +689,33 @@ bool PhysicsShapeEdgePolygon::init(Point* points, int count, PhysicsMaterial mat cpShapeSetFriction(shape, 1.0f); _info->add(shape); } - CC_SAFE_DELETE(vec); + CC_SAFE_DELETE_ARRAY(vec); CC_BREAK_IF(i < count); _mass = PHYSICS_INFINITY; - _angularDamping = PHYSICS_INFINITY; + _moment = PHYSICS_INFINITY; - initEnd(); + setMaterial(material); return true; } while (false); - if (vec != nullptr) delete[] vec; + CC_SAFE_DELETE_ARRAY(vec); return false; } +Point PhysicsShapeEdgePolygon::getCenter() +{ + return _center; +} + +int PhysicsShapeEdgePolygon::getPointsCount() +{ + return _info->shapes.size() + 1; +} + // PhysicsShapeEdgeChain PhysicsShapeEdgeChain* PhysicsShapeEdgeChain::create(Point* points, int count, PhysicsMaterial material/* = MaterialDefault*/, float border/* = 1*/) { @@ -481,10 +735,11 @@ bool PhysicsShapeEdgeChain::init(Point* points, int count, PhysicsMaterial mater cpVect* vec = nullptr; do { - CC_BREAK_IF(!PhysicsShape::init(Type::EDGECHAIN, material)); + CC_BREAK_IF(!PhysicsShape::init(Type::EDGECHAIN)); vec = new cpVect[count]; PhysicsHelper::points2cpvs(points, vec, count); + _center = PhysicsHelper::cpv2point(cpCentroidForPoly(count, vec)); int i = 0; for (; i < count - 1; ++i) @@ -496,26 +751,36 @@ bool PhysicsShapeEdgeChain::init(Point* points, int count, PhysicsMaterial mater cpShapeSetFriction(shape, 1.0f); _info->add(shape); } - if (vec != nullptr) delete[] vec; + CC_SAFE_DELETE_ARRAY(vec); CC_BREAK_IF(i < count); _mass = PHYSICS_INFINITY; - _angularDamping = PHYSICS_INFINITY; + _moment = PHYSICS_INFINITY; - initEnd(); + setMaterial(material); return true; } while (false); - if (vec != nullptr) delete[] vec; + CC_SAFE_DELETE_ARRAY(vec); return false; } +Point PhysicsShapeEdgeChain::getCenter() +{ + return _center; +} + +int PhysicsShapeEdgeChain::getPointsCount() +{ + return _info->shapes.size() + 1; +} + #elif (CC_PHYSICS_ENGINE == CC_PHYSICS_BOX2D) #endif NS_CC_END -#endif // CC_USE_PHYSICS \ No newline at end of file +#endif // CC_USE_PHYSICS diff --git a/cocos/physics/CCPhysicsShape.h b/cocos/physics/CCPhysicsShape.h index 6ff731f273..ebbe646466 100644 --- a/cocos/physics/CCPhysicsShape.h +++ b/cocos/physics/CCPhysicsShape.h @@ -41,21 +41,17 @@ class PhysicsBodyInfo; typedef struct PhysicsMaterial { float density; - float elasticity; + float restitution; float friction; - PhysicsMaterial() - : density(0.0f) - , elasticity(0.0f) - , friction(0.0f){} - - PhysicsMaterial(float density, float elasticity, float friction) - : density(density) - , elasticity(elasticity) - , friction(friction){} + static PhysicsMaterial make(float density, float restitution, float friction) + { + PhysicsMaterial var = {density, restitution, friction}; + return var; + } }PhysicsMaterial; -const PhysicsMaterial PHYSICSSHAPE_MATERIAL_DEFAULT(0.0f, 1.0f, 1.0f); +const PhysicsMaterial PHYSICSSHAPE_MATERIAL_DEFAULT = {0.0f, 1.0f, 1.0f}; /** * @brief A shape for body. You do not create PhysicsWorld objects directly, instead, you can view PhysicsBody to see how to create it. @@ -76,34 +72,39 @@ public: }; public: - inline PhysicsBody* getBody(){ return _body; } - inline Type getType() { return _type; } - inline float getArea() { return _area; } - inline float getAngularDumping() { return _angularDamping; } - void setAngularDumping(float angularDumping); + inline PhysicsBody* getBody() const { return _body; } + inline Type getType() const { return _type; } + inline float getArea() const { return _area; } + inline float getMoment() const { return _moment; } + void setMoment(float moment); inline void setTag(int tag) { _tag = tag; } - inline int getTag() { return _tag; } - void setEnable(bool enable); - inline bool isEnable() { return _enable; } - void addToBody(); + inline int getTag() const { return _tag; } - inline float getMass() { return _mass; } + inline float getMass() const { return _mass; } void setMass(float mass); - inline float getDensity() { return _material.density; } + inline float getDensity() const { return _material.density; } void setDensity(float density); - void setElasticity(float elasticity); + void setRestitution(float restitution); void setFriction(float friction); + void setMaterial(PhysicsMaterial material); + + virtual float calculateDefaultMoment() { return 0; } + virtual float calculateDefaultArea() { return 0; } + virtual Point getOffset() { return Point::ZERO; } + virtual Point getCenter() { return getOffset(); } + + static Point* recenterPoints(Point* points, int count, Point center = Point::ZERO); + static Point getPolyonCenter(Point* points, int count); protected: - bool init(Type type, PhysicsMaterial material); - void initEnd(); + bool init(Type type); /** * @brief PhysicsShape is PhysicsBody's friend class, but all the subclasses isn't. so this method is use for subclasses to catch the bodyInfo from PhysicsBody. */ PhysicsBodyInfo* bodyInfo() const; - inline void setBody(PhysicsBody* body) { _body = body; } + void setBody(PhysicsBody* body); protected: PhysicsShape(); @@ -115,13 +116,13 @@ protected: Type _type; float _area; float _mass; - float _angularDamping; + float _moment; PhysicsMaterial _material; int _tag; - bool _enable; friend class PhysicsWorld; friend class PhysicsBody; + friend class PhysicsJoint; }; /** A circle shape */ @@ -129,15 +130,20 @@ class PhysicsShapeCircle : public PhysicsShape { public: static PhysicsShapeCircle* create(float radius, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, Point offset = Point(0, 0)); + static float calculateArea(float radius); + static float calculateMoment(float mass, float radius, Point offset = Point(0, 0)); + float calculateDefaultArea() override; + float calculateDefaultMoment() override; + + float getRadius(); + Point getOffset(); protected: bool init(float radius, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, Point offset = Point(0, 0)); protected: PhysicsShapeCircle(); - virtual ~PhysicsShapeCircle(); - - friend class PhysicsBody; + ~PhysicsShapeCircle(); }; /** A box shape */ @@ -145,6 +151,15 @@ class PhysicsShapeBox : public PhysicsShape { public: static PhysicsShapeBox* create(Size size, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, Point offset = Point(0, 0)); + static float calculateArea(Size size); + static float calculateMoment(float mass, Size size, Point offset = Point(0, 0)); + + float calculateDefaultArea() override; + float calculateDefaultMoment() override; + + Point* getPoints(Point* points); + Size getSize(); + Point getOffset() override { return _offset; } protected: bool init(Size size, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, Point offset = Point(0, 0)); @@ -153,7 +168,8 @@ protected: PhysicsShapeBox(); virtual ~PhysicsShapeBox(); - friend class PhysicsBody; +protected: + Point _offset; }; /** A polygon shape */ @@ -161,7 +177,15 @@ class PhysicsShapePolygon : public PhysicsShape { public: static PhysicsShapePolygon* create(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, Point offset = Point(0, 0)); + static float calculateArea(Point* points, int count); + static float calculateMoment(float mass, Point* points, int count, Point offset = Point(0, 0)); + float calculateDefaultArea() override; + float calculateDefaultMoment() override; + + Point* getPoints(Point* points); + int getPointsCount(); + Point getCenter() override; protected: bool init(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, Point offset = Point(0, 0)); @@ -169,7 +193,8 @@ protected: PhysicsShapePolygon(); virtual ~PhysicsShapePolygon(); - friend class PhysicsBody; +protected: + Point _center; }; /** A segment shape */ @@ -178,6 +203,10 @@ class PhysicsShapeEdgeSegment : public PhysicsShape public: static PhysicsShapeEdgeSegment* create(Point a, Point b, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1); + Point getPointA(); + Point getPointB(); + Point getCenter() override; + protected: bool init(Point a, Point b, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1); @@ -185,6 +214,9 @@ protected: PhysicsShapeEdgeSegment(); virtual ~PhysicsShapeEdgeSegment(); +protected: + Point _center; + friend class PhysicsBody; }; @@ -193,6 +225,9 @@ class PhysicsShapeEdgeBox : public PhysicsShape { public: static PhysicsShapeEdgeBox* create(Size size, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 0, Point offset = Point(0, 0)); + Point getOffset() override { return _offset; } + Point* getPoints(Point* points); + int getPointsCount(); protected: bool init(Size size, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1, Point offset = Point(0, 0)); @@ -201,6 +236,9 @@ protected: PhysicsShapeEdgeBox(); virtual ~PhysicsShapeEdgeBox(); +protected: + Point _offset; + friend class PhysicsBody; }; @@ -209,6 +247,9 @@ class PhysicsShapeEdgePolygon : public PhysicsShape { public: static PhysicsShapeEdgePolygon* create(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1); + Point getCenter() override; + Point* getPoints(Point* points); + int getPointsCount(); protected: bool init(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1); @@ -218,6 +259,9 @@ protected: virtual ~PhysicsShapeEdgePolygon(); friend class PhysicsBody; + +protected: + Point _center; }; /** a chain shape */ @@ -225,6 +269,9 @@ class PhysicsShapeEdgeChain : public PhysicsShape { public: static PhysicsShapeEdgeChain* create(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1); + Point getCenter() override; + Point* getPoints(Point* points); + int getPointsCount(); protected: bool init(Point* points, int count, PhysicsMaterial material = PHYSICSSHAPE_MATERIAL_DEFAULT, float border = 1); @@ -233,6 +280,9 @@ protected: PhysicsShapeEdgeChain(); virtual ~PhysicsShapeEdgeChain(); +protected: + Point _center; + friend class PhysicsBody; }; diff --git a/cocos/physics/CCPhysicsWorld.cpp b/cocos/physics/CCPhysicsWorld.cpp index 1777a395f0..03495edfb9 100644 --- a/cocos/physics/CCPhysicsWorld.cpp +++ b/cocos/physics/CCPhysicsWorld.cpp @@ -35,17 +35,18 @@ #include "CCPhysicsShape.h" #include "CCPhysicsContact.h" #include "CCPhysicsJoint.h" +#include "CCPhysicsContact.h" #include "chipmunk/CCPhysicsWorldInfo.h" -#include "Box2D/CCPhysicsWorldInfo.h" +#include "box2d/CCPhysicsWorldInfo.h" #include "chipmunk/CCPhysicsBodyInfo.h" -#include "Box2D/CCPhysicsBodyInfo.h" +#include "box2d/CCPhysicsBodyInfo.h" #include "chipmunk/CCPhysicsShapeInfo.h" -#include "Box2D/CCPhysicsShapeInfo.h" +#include "box2d/CCPhysicsShapeInfo.h" #include "chipmunk/CCPhysicsContactInfo.h" -#include "Box2D/CCPhysicsContactInfo.h" +#include "box2d/CCPhysicsContactInfo.h" #include "chipmunk/CCPhysicsJointInfo.h" -#include "Box2D/CCPhysicsJointInfo.h" +#include "box2d/CCPhysicsJointInfo.h" #include "chipmunk/CCPhysicsHelper.h" #include "CCDrawNode.h" @@ -59,12 +60,45 @@ NS_CC_BEGIN #if (CC_PHYSICS_ENGINE == CC_PHYSICS_CHIPMUNK) +namespace +{ + typedef struct RayCastCallbackInfo + { + PhysicsWorld* world; + PhysicsRayCastCallback* callback; + Point p1; + Point p2; + void* data; + }RayCastCallbackInfo; + + typedef struct RectQueryCallbackInfo + { + PhysicsWorld* world; + PhysicsRectQueryCallback* callback; + void* data; + }RectQueryCallbackInfo; +} + +class PhysicsWorldCallback +{ +public: + static int collisionBeginCallbackFunc(cpArbiter *arb, struct cpSpace *space, PhysicsWorld *world); + static int collisionPreSolveCallbackFunc(cpArbiter *arb, cpSpace *space, PhysicsWorld *world); + static void collisionPostSolveCallbackFunc(cpArbiter *arb, cpSpace *space, PhysicsWorld *world); + static void collisionSeparateCallbackFunc(cpArbiter *arb, cpSpace *space, PhysicsWorld *world); + static void rayCastCallbackFunc(cpShape *shape, cpFloat t, cpVect n, RayCastCallbackInfo *info); + static void rectQueryCallbackFunc(cpShape *shape, RectQueryCallbackInfo *info); + +public: + static bool continues; +}; + +bool PhysicsWorldCallback::continues = true; + const float PHYSICS_INFINITY = INFINITY; -int PhysicsWorld::collisionBeginCallbackFunc(cpArbiter *arb, struct cpSpace *space, void *data) +int PhysicsWorldCallback::collisionBeginCallbackFunc(cpArbiter *arb, struct cpSpace *space, PhysicsWorld *world) { - PhysicsWorld* world = static_cast(data); - CP_ARBITER_GET_SHAPES(arb, a, b); auto ita = PhysicsShapeInfo::map.find(a); @@ -77,23 +111,20 @@ int PhysicsWorld::collisionBeginCallbackFunc(cpArbiter *arb, struct cpSpace *spa return world->collisionBeginCallback(*static_cast(arb->data)); } -int PhysicsWorld::collisionPreSolveCallbackFunc(cpArbiter *arb, cpSpace *space, void *data) +int PhysicsWorldCallback::collisionPreSolveCallbackFunc(cpArbiter *arb, cpSpace *space, PhysicsWorld *world) { - PhysicsWorld* world = static_cast(data); return world->collisionPreSolveCallback(*static_cast(arb->data), PhysicsContactPreSolve()); } -void PhysicsWorld::collisionPostSolveCallbackFunc(cpArbiter *arb, cpSpace *space, void *data) +void PhysicsWorldCallback::collisionPostSolveCallbackFunc(cpArbiter *arb, cpSpace *space, PhysicsWorld *world) { - PhysicsWorld* world = static_cast(data); world->collisionPostSolveCallback(*static_cast(arb->data), PhysicsContactPostSolve()); } -void PhysicsWorld::collisionSeparateCallbackFunc(cpArbiter *arb, cpSpace *space, void *data) +void PhysicsWorldCallback::collisionSeparateCallbackFunc(cpArbiter *arb, cpSpace *space, PhysicsWorld *world) { - PhysicsWorld* world = static_cast(data); PhysicsContact* contact = static_cast(arb->data); world->collisionSeparateCallback(*contact); @@ -101,6 +132,40 @@ void PhysicsWorld::collisionSeparateCallbackFunc(cpArbiter *arb, cpSpace *space, delete contact; } +void PhysicsWorldCallback::rayCastCallbackFunc(cpShape *shape, cpFloat t, cpVect n, RayCastCallbackInfo *info) +{ + if (!PhysicsWorldCallback::continues) + { + return; + } + + auto it = PhysicsShapeInfo::map.find(shape); + CC_ASSERT(it != PhysicsShapeInfo::map.end()); + + PhysicsWorldCallback::continues = info->callback->report(*info->world, + *it->second->shape, + Point(info->p1.x+(info->p2.x-info->p1.x)*t, info->p1.y+(info->p2.y-info->p1.y)*t), + Point(n.x, n.y), + (float)t, + info->data); +} + +void PhysicsWorldCallback::rectQueryCallbackFunc(cpShape *shape, RectQueryCallbackInfo *info) +{ + auto it = PhysicsShapeInfo::map.find(shape); + + CC_ASSERT(it != PhysicsShapeInfo::map.end()); + + if (!PhysicsWorldCallback::continues) + { + return; + } + + PhysicsWorldCallback::continues = info->callback->report(*info->world, + *it->second->shape, + info->data); +} + bool PhysicsWorld::init() { _info = new PhysicsWorldInfo(); @@ -108,10 +173,10 @@ bool PhysicsWorld::init() cpSpaceSetGravity(_info->space, PhysicsHelper::point2cpv(_gravity)); cpSpaceSetDefaultCollisionHandler(_info->space, - PhysicsWorld::collisionBeginCallbackFunc, - PhysicsWorld::collisionPreSolveCallbackFunc, - PhysicsWorld::collisionPostSolveCallbackFunc, - PhysicsWorld::collisionSeparateCallbackFunc, + (cpCollisionBeginFunc)PhysicsWorldCallback::collisionBeginCallbackFunc, + (cpCollisionPreSolveFunc)PhysicsWorldCallback::collisionPreSolveCallbackFunc, + (cpCollisionPostSolveFunc)PhysicsWorldCallback::collisionPostSolveCallbackFunc, + (cpCollisionSeparateFunc)PhysicsWorldCallback::collisionSeparateCallbackFunc, this); return true; @@ -125,9 +190,12 @@ void PhysicsWorld::addJoint(PhysicsJoint* joint) { _joints.push_back(joint); - if (!cpSpaceContainsConstraint(_info->space, joint->_info->joint)) + for (auto subjoint : joint->_info->joints) { - cpSpaceAddConstraint(_info->space, joint->_info->joint); + if (!cpSpaceContainsConstraint(_info->space, subjoint)) + { + cpSpaceAddConstraint(_info->space, subjoint); + } } } @@ -164,8 +232,16 @@ void PhysicsWorld::addShape(PhysicsShape* shape) void PhysicsWorld::addBody(PhysicsBody* body) { + CCASSERT(body != nullptr, "the body can not be nullptr"); + if (body->isEnable()) { + //is gravity enable + if (!body->isGravityEnable()) + { + body->applyForce(-_gravity); + } + // add body to space if (body->isDynamic()) { @@ -175,10 +251,7 @@ void PhysicsWorld::addBody(PhysicsBody* body) // add shapes to space for (auto shape : body->getShapes()) { - if (shape->isEnable()) - { - addShape(shape); - } + addShape(shape); } } @@ -194,6 +267,18 @@ void PhysicsWorld::addBody(PhysicsBody* body) void PhysicsWorld::removeBody(PhysicsBody* body) { + CCASSERT(body != nullptr, "the body can not be nullptr"); + + if (body->getWorld() == this) + { + // reset the gravity + if (!body->isGravityEnable()) + { + body->applyForce(-_gravity); + } + } + + // remove shaps for (auto shape : body->getShapes()) { for (auto cps : shape->_info->shapes) @@ -205,6 +290,7 @@ void PhysicsWorld::removeBody(PhysicsBody* body) } } + // remove body if (cpSpaceContainsBody(_info->space, body->_info->body)) { cpSpaceRemoveBody(_info->space, body->_info->body); @@ -242,6 +328,11 @@ void PhysicsWorld::removeShape(PhysicsShape* shape) void PhysicsWorld::update(float delta) { + for (auto body : *_bodys) + { + body->update(delta); + } + cpSpaceStep(_info->space, delta); if (_drawNode) @@ -300,12 +391,16 @@ void PhysicsWorld::drawWithShape(DrawNode* node, PhysicsShape* shape) Point centre = PhysicsHelper::cpv2point(cpBodyGetPos(cpShapeGetBody(shape))) + PhysicsHelper::cpv2point(cpCircleShapeGetOffset(shape)); - Point seg[4] = {}; - seg[0] = Point(centre.x - radius, centre.y - radius); - seg[1] = Point(centre.x - radius, centre.y + radius); - seg[2] = Point(centre.x + radius, centre.y + radius); - seg[3] = Point(centre.x + radius, centre.y - radius); - node->drawPolygon(seg, 4, Color4F(), 1, Color4F(1, 0, 0, 1)); + static const int CIRCLE_SEG_NUM = 12; + Point seg[CIRCLE_SEG_NUM] = {}; + + for (int i = 0; i < CIRCLE_SEG_NUM; ++i) + { + float angle = (float)i * M_PI / (float)CIRCLE_SEG_NUM * 2.0f; + Point d(radius * cosf(angle), radius * sinf(angle)); + seg[i] = centre + d; + } + node->drawPolygon(seg, CIRCLE_SEG_NUM, Color4F(1.0f, 0.0f, 0.0f, 0.3f), 1, Color4F(1, 0, 0, 1)); break; } case CP_SEGMENT_SHAPE: @@ -335,46 +430,145 @@ void PhysicsWorld::drawWithShape(DrawNode* node, PhysicsShape* shape) } } -int PhysicsWorld::collisionBeginCallback(const PhysicsContact& contact) +int PhysicsWorld::collisionBeginCallback(PhysicsContact& contact) { - if (_listener && _listener->onContactBegin) + bool ret = true; + PhysicsBody* bodyA = contact.getShapeA()->getBody(); + PhysicsBody* bodyB = contact.getShapeB()->getBody(); + + if ((bodyA->getCategoryBitmask() & bodyB->getContactTestBitmask()) == 0 + || (bodyB->getContactTestBitmask() & bodyA->getCategoryBitmask()) == 0) { - return _listener->onContactBegin(contact); + contact.setNotify(false); + } + + if ((bodyA->getCategoryBitmask() & bodyB->getCollisionBitmask()) == 0 + || (bodyB->getCategoryBitmask() & bodyA->getCollisionBitmask()) == 0) + { + ret = false; + } + + if (contact.getNotify() && _listener && _listener->onContactBegin) + { + // the mask has high priority than _listener->onContactBegin. + // so if the mask test is false, the two bodies won't have collision. + if (ret) + { + ret = _listener->onContactBegin(*this, contact); + }else + { + _listener->onContactBegin(*this, contact); + } + } + + return ret; +} + +int PhysicsWorld::collisionPreSolveCallback(PhysicsContact& contact, const PhysicsContactPreSolve& solve) +{ + if (!contact.getNotify()) + { + return true; + } + + if (_listener && _listener->onContactPreSolve) + { + return _listener->onContactPreSolve(*this, contact, solve); } return true; } -int PhysicsWorld::collisionPreSolveCallback(const PhysicsContact& contact, const PhysicsContactPreSolve& solve) +void PhysicsWorld::collisionPostSolveCallback(PhysicsContact& contact, const PhysicsContactPostSolve& solve) { - if (_listener && _listener->onContactPreSolve) + if (!contact.getNotify()) { - return _listener->onContactPreSolve(contact, solve); + return; } - return true; -} - -void PhysicsWorld::collisionPostSolveCallback(const PhysicsContact& contact, const PhysicsContactPostSolve& solve) -{ if (_listener && _listener->onContactPreSolve) { - _listener->onContactPostSolve(contact, solve); + _listener->onContactPostSolve(*this, contact, solve); } } -void PhysicsWorld::collisionSeparateCallback(const PhysicsContact& contact) +void PhysicsWorld::collisionSeparateCallback(PhysicsContact& contact) { + if (!contact.getNotify()) + { + return; + } + if (_listener && _listener->onContactEnd) { - _listener->onContactEnd(contact); + _listener->onContactEnd(*this, contact); } } void PhysicsWorld::setGravity(Point gravity) { + if (_bodys != nullptr) + { + for (auto child : *_bodys) + { + PhysicsBody* body = dynamic_cast(child); + + // reset gravity for body + if (!body->isGravityEnable()) + { + body->applyForce(-_gravity); + body->applyForce(gravity); + } + } + } + _gravity = gravity; - cpSpaceSetGravity(_info->space, PhysicsHelper::point2cpv(_gravity)); + cpSpaceSetGravity(_info->space, PhysicsHelper::point2cpv(gravity)); +} + + +void PhysicsWorld::rayCast(PhysicsRayCastCallback& callback, Point point1, Point point2, void* data) +{ + if (callback.report != nullptr) + { + RayCastCallbackInfo info = {this, &callback, point1, point2, data}; + + PhysicsWorldCallback::continues = true; + cpSpaceSegmentQuery(this->_info->space, + PhysicsHelper::point2cpv(point1), + PhysicsHelper::point2cpv(point2), + CP_ALL_LAYERS, + CP_NO_GROUP, + (cpSpaceSegmentQueryFunc)PhysicsWorldCallback::rayCastCallbackFunc, + &info); + } +} + + +void PhysicsWorld::rectQuery(PhysicsRectQueryCallback& callback, Rect rect, void* data) +{ + if (callback.report != nullptr) + { + RectQueryCallbackInfo info = {this, &callback, data}; + + PhysicsWorldCallback::continues = true; + cpSpaceBBQuery(this->_info->space, + PhysicsHelper::rect2cpbb(rect), + CP_ALL_LAYERS, + CP_NO_GROUP, + (cpSpaceBBQueryFunc)PhysicsWorldCallback::rectQueryCallbackFunc, + &info); + } +} + +Array* getShapesAtPoint(Point point) +{ + +} + +Array* PhysicsWorld::getAllBody() const +{ + return _bodys; } #elif (CC_PHYSICS_ENGINE == CC_PHYSICS_BOX2D) diff --git a/cocos/physics/CCPhysicsWorld.h b/cocos/physics/CCPhysicsWorld.h index da6a7477c6..868889b539 100644 --- a/cocos/physics/CCPhysicsWorld.h +++ b/cocos/physics/CCPhysicsWorld.h @@ -33,12 +33,6 @@ #include "CCObject.h" #include "CCGeometry.h" - -#if (CC_PHYSICS_ENGINE == CC_PHYSICS_CHIPMUNK) -typedef struct cpArbiter cpArbiter; -typedef struct cpSpace cpSpace; -#endif - NS_CC_BEGIN class PhysicsBody; @@ -55,6 +49,39 @@ class Sprite; class Scene; class DrawNode; +class PhysicsWorld; +class PhysicsRayCastCallback +{ +public: + PhysicsRayCastCallback() + : report(nullptr) + {} + virtual ~PhysicsRayCastCallback(){} + /** + * @brief Called for each fixture found in the query. You control how the ray cast + * proceeds by returning a float: + * return true: continue + * return false: terminate the ray cast + * @param fixture the fixture hit by the ray + * @param point the point of initial intersection + * @param normal the normal vector at the point of intersection + * @return true to continue, false to terminate + */ + std::function report; +}; + +class PhysicsRectQueryCallback +{ +public: + PhysicsRectQueryCallback() + : report(nullptr) + {} + virtual ~PhysicsRectQueryCallback(){} + +public: + std::function report; +}; + /** * @brief An PhysicsWorld object simulates collisions and other physical properties. You do not create PhysicsWorld objects directly; instead, you can get it from an Scene object. */ @@ -68,9 +95,9 @@ public: /** Remove all joints from the physics world.*/ void removeAllJoints(); - Array* getBodysAlongRay(Point start, Point end) const; - Array* getBodysAtPoint(Point point) const; - Array* getBodysInRect(Rect rect) const; + void rayCast(PhysicsRayCastCallback& callback, Point point1, Point point2, void* data); + void rectQuery(PhysicsRectQueryCallback& callback, Rect rect, void* data); + Array* getShapesAtPoint(Point point); Array* getAllBody() const; /** Register a listener to receive contact callbacks*/ @@ -106,17 +133,10 @@ protected: virtual void drawWithShape(DrawNode* node, PhysicsShape* shape); - virtual int collisionBeginCallback(const PhysicsContact& contact); - virtual int collisionPreSolveCallback(const PhysicsContact& contact, const PhysicsContactPreSolve& solve); - virtual void collisionPostSolveCallback(const PhysicsContact& contact, const PhysicsContactPostSolve& solve); - virtual void collisionSeparateCallback(const PhysicsContact& contact); - -#if (CC_PHYSICS_ENGINE == CC_PHYSICS_CHIPMUNK) - static int collisionBeginCallbackFunc(cpArbiter *arb, struct cpSpace *space, void *data); - static int collisionPreSolveCallbackFunc(cpArbiter *arb, cpSpace *space, void *data); - static void collisionPostSolveCallbackFunc(cpArbiter *arb, cpSpace *space, void *data); - static void collisionSeparateCallbackFunc(cpArbiter *arb, cpSpace *space, void *data); -#endif + virtual int collisionBeginCallback(PhysicsContact& contact); + virtual int collisionPreSolveCallback(PhysicsContact& contact, const PhysicsContactPreSolve& solve); + virtual void collisionPostSolveCallback(PhysicsContact& contact, const PhysicsContactPostSolve& solve); + virtual void collisionSeparateCallback(PhysicsContact& contact); protected: Point _gravity; @@ -140,6 +160,7 @@ protected: friend class Scene; friend class PhysicsBody; friend class PhysicsShape; + friend class PhysicsWorldCallback; }; NS_CC_END diff --git a/cocos/physics/chipmunk/CCPhysicsBodyInfo.cpp b/cocos/physics/chipmunk/CCPhysicsBodyInfo.cpp index 5fd8ceb171..852dad1eeb 100644 --- a/cocos/physics/chipmunk/CCPhysicsBodyInfo.cpp +++ b/cocos/physics/chipmunk/CCPhysicsBodyInfo.cpp @@ -28,6 +28,7 @@ NS_CC_BEGIN PhysicsBodyInfo::PhysicsBodyInfo() : body(nullptr) +, group(CP_NO_GROUP) { } diff --git a/cocos/physics/chipmunk/CCPhysicsBodyInfo.h b/cocos/physics/chipmunk/CCPhysicsBodyInfo.h index 03a8e0fee4..ec84526b59 100644 --- a/cocos/physics/chipmunk/CCPhysicsBodyInfo.h +++ b/cocos/physics/chipmunk/CCPhysicsBodyInfo.h @@ -37,6 +37,7 @@ class PhysicsBodyInfo : public Clonable { public: cpBody* body; + cpGroup group; private: PhysicsBodyInfo(); diff --git a/cocos/physics/chipmunk/CCPhysicsHelper.h b/cocos/physics/chipmunk/CCPhysicsHelper.h index 8c3bed53ef..bf6f6d14db 100644 --- a/cocos/physics/chipmunk/CCPhysicsHelper.h +++ b/cocos/physics/chipmunk/CCPhysicsHelper.h @@ -43,13 +43,17 @@ public: static cpVect size2cpv(const Size& size) { return cpv(size.width, size.height); } static float cpfloat2float(cpFloat f) { return f; } static cpFloat float2cpfloat(float f) { return f; } + static cpBB rect2cpbb(const Rect& rect) { return cpBBNew(rect.origin.x, rect.origin.y, rect.origin.x + rect.size.width, rect.origin.y + rect.size.height); } + static Rect cpbb2rect(const cpBB& bb) { return Rect(bb.l, bb.b, bb.r, bb.t); } - static void cpvs2points(const cpVect* cpvs, Point* points, int count) + static Point* cpvs2points(const cpVect* cpvs, Point* points, int count) { for (int i = 0; i < count; ++i) { points[i] = cpv2point(cpvs[i]); } + + return points; } static cpVect* points2cpvs(const Point* points, cpVect* cpvs, int count) diff --git a/cocos/physics/chipmunk/CCPhysicsJointInfo.cpp b/cocos/physics/chipmunk/CCPhysicsJointInfo.cpp index aca28aa0fb..b3fc376710 100644 --- a/cocos/physics/chipmunk/CCPhysicsJointInfo.cpp +++ b/cocos/physics/chipmunk/CCPhysicsJointInfo.cpp @@ -24,20 +24,59 @@ #include "CCPhysicsJointInfo.h" #if (CC_PHYSICS_ENGINE == CC_PHYSICS_CHIPMUNK) +#include NS_CC_BEGIN -PhysicsJointInfo::PhysicsJointInfo() -: joint(nullptr) +std::map PhysicsJointInfo::map; + +PhysicsJointInfo::PhysicsJointInfo(PhysicsJoint* joint) +: joint(joint) { } PhysicsJointInfo::~PhysicsJointInfo() { - if (joint) + for (cpConstraint* joint : joints) { cpConstraintFree(joint); } } +void PhysicsJointInfo::add(cpConstraint* joint) +{ + if (joint == nullptr) return; + + joints.push_back(joint); + map.insert(std::pair(joint, this)); +} + +void PhysicsJointInfo::remove(cpConstraint* joint) +{ + if (joint == nullptr) return; + + auto it = std::find(joints.begin(), joints.end(), joint); + if (it != joints.end()) + { + joints.erase(it); + + auto mit = map.find(joint); + if (mit != map.end()) map.erase(mit); + + cpConstraintFree(joint); + } +} + +void PhysicsJointInfo::removeAll() +{ + for (cpConstraint* joint : joints) + { + auto mit = map.find(joint); + if (mit != map.end()) map.erase(mit); + cpConstraintFree(joint); + } + + joints.clear(); +} + NS_CC_END #endif // CC_PHYSICS_ENGINE == CC_PHYSICS_CHIPMUNK diff --git a/cocos/physics/chipmunk/CCPhysicsJointInfo.h b/cocos/physics/chipmunk/CCPhysicsJointInfo.h index 9e09abf52b..04a2c716bf 100644 --- a/cocos/physics/chipmunk/CCPhysicsJointInfo.h +++ b/cocos/physics/chipmunk/CCPhysicsJointInfo.h @@ -29,15 +29,26 @@ #define __CCPHYSICS_JOINT_INFO_H__ #include "chipmunk.h" #include "CCPlatformMacros.h" +#include +#include NS_CC_BEGIN +class PhysicsJoint; + class PhysicsJointInfo { public: - cpConstraint* joint; + void add(cpConstraint* shape); + void remove(cpConstraint* shape); + void removeAll(); + +public: + std::vector joints; + PhysicsJoint* joint; + static std::map map; private: - PhysicsJointInfo(); + PhysicsJointInfo(PhysicsJoint* joint); ~PhysicsJointInfo(); friend class PhysicsJoint; diff --git a/cocos/physics/chipmunk/CCPhysicsShapeInfo.cpp b/cocos/physics/chipmunk/CCPhysicsShapeInfo.cpp index 0c048c780b..07e5c2f932 100644 --- a/cocos/physics/chipmunk/CCPhysicsShapeInfo.cpp +++ b/cocos/physics/chipmunk/CCPhysicsShapeInfo.cpp @@ -32,6 +32,7 @@ cpBody* PhysicsShapeInfo::shareBody = nullptr; PhysicsShapeInfo::PhysicsShapeInfo(PhysicsShape* shape) : shape(shape) +, group(CP_NO_GROUP) { if (shareBody == nullptr) { @@ -52,10 +53,33 @@ PhysicsShapeInfo::~PhysicsShapeInfo() } } +void PhysicsShapeInfo::setGroup(cpGroup group) +{ + this->group = group; + + for (cpShape* shape : shapes) + { + cpShapeSetGroup(shape, group); + } +} + +void PhysicsShapeInfo::setBody(cpBody* body) +{ + if (this->body != body) + { + this->body = body; + for (cpShape* shape : shapes) + { + cpShapeSetBody(shape, body == nullptr ? shareBody : body); + } + } +} + void PhysicsShapeInfo::add(cpShape* shape) { if (shape == nullptr) return; + cpShapeSetGroup(shape, group); shapes.push_back(shape); map.insert(std::pair(shape, this)); } @@ -71,8 +95,22 @@ void PhysicsShapeInfo::remove(cpShape* shape) auto mit = map.find(shape); if (mit != map.end()) map.erase(mit); + + cpShapeFree(shape); } } +void PhysicsShapeInfo::removeAll() +{ + for (cpShape* shape : shapes) + { + auto mit = map.find(shape); + if (mit != map.end()) map.erase(mit); + cpShapeFree(shape); + } + + shapes.clear(); +} + NS_CC_END #endif // CC_PHYSICS_ENGINE == CC_PHYSICS_CHIPMUNK diff --git a/cocos/physics/chipmunk/CCPhysicsShapeInfo.h b/cocos/physics/chipmunk/CCPhysicsShapeInfo.h index 61da25d63b..83be655b02 100644 --- a/cocos/physics/chipmunk/CCPhysicsShapeInfo.h +++ b/cocos/physics/chipmunk/CCPhysicsShapeInfo.h @@ -42,12 +42,15 @@ class PhysicsShapeInfo public: void add(cpShape* shape); void remove(cpShape* shape); - void removeall(); + void removeAll(); + void setGroup(cpGroup group); + void setBody(cpBody* body); public: std::vector shapes; PhysicsShape* shape; cpBody* body; + cpGroup group; static std::map map; static cpBody* shareBody; diff --git a/cocos/scripting/auto-generated b/cocos/scripting/auto-generated index 73aebd082a..893da8ccfb 160000 --- a/cocos/scripting/auto-generated +++ b/cocos/scripting/auto-generated @@ -1 +1 @@ -Subproject commit 73aebd082ae63561cc1ca769f28e302820da7e39 +Subproject commit 893da8ccfb4ed7fa754c483a90dc4e5248c36e03 diff --git a/cocos/scripting/javascript/bindings/Android.mk b/cocos/scripting/javascript/bindings/Android.mk index 27a3b51306..5689684060 100644 --- a/cocos/scripting/javascript/bindings/Android.mk +++ b/cocos/scripting/javascript/bindings/Android.mk @@ -36,7 +36,8 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH) \ $(LOCAL_PATH)/../../../CocosDenshion/include \ $(LOCAL_PATH)/../../auto-generated/js-bindings \ $(LOCAL_PATH)/../../../../extensions \ - $(LOCAL_PATH)/../../../editor-support/cocostudio + $(LOCAL_PATH)/../../../editor-support/cocostudio \ + $(LOCAL_PATH)/../../../editor-support/cocosbuilder LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) \ $(LOCAL_PATH)/../../auto-generated/js-bindings diff --git a/cocos/scripting/javascript/bindings/js_bindings_chipmunk_auto_classes.cpp.REMOVED.git-id b/cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_auto_classes.cpp.REMOVED.git-id similarity index 100% rename from cocos/scripting/javascript/bindings/js_bindings_chipmunk_auto_classes.cpp.REMOVED.git-id rename to cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_auto_classes.cpp.REMOVED.git-id diff --git a/cocos/scripting/javascript/bindings/js_bindings_chipmunk_auto_classes.h b/cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_auto_classes.h similarity index 100% rename from cocos/scripting/javascript/bindings/js_bindings_chipmunk_auto_classes.h rename to cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_auto_classes.h diff --git a/cocos/scripting/javascript/bindings/js_bindings_chipmunk_auto_classes_registration.h b/cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_auto_classes_registration.h similarity index 100% rename from cocos/scripting/javascript/bindings/js_bindings_chipmunk_auto_classes_registration.h rename to cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_auto_classes_registration.h diff --git a/cocos/scripting/javascript/bindings/js_bindings_chipmunk_functions.cpp.REMOVED.git-id b/cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_functions.cpp.REMOVED.git-id similarity index 100% rename from cocos/scripting/javascript/bindings/js_bindings_chipmunk_functions.cpp.REMOVED.git-id rename to cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_functions.cpp.REMOVED.git-id diff --git a/cocos/scripting/javascript/bindings/js_bindings_chipmunk_functions.h b/cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_functions.h similarity index 100% rename from cocos/scripting/javascript/bindings/js_bindings_chipmunk_functions.h rename to cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_functions.h diff --git a/cocos/scripting/javascript/bindings/js_bindings_chipmunk_functions_registration.h b/cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_functions_registration.h similarity index 100% rename from cocos/scripting/javascript/bindings/js_bindings_chipmunk_functions_registration.h rename to cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_functions_registration.h diff --git a/cocos/scripting/javascript/bindings/js_bindings_chipmunk_manual.cpp b/cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_manual.cpp similarity index 100% rename from cocos/scripting/javascript/bindings/js_bindings_chipmunk_manual.cpp rename to cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_manual.cpp diff --git a/cocos/scripting/javascript/bindings/js_bindings_chipmunk_manual.h b/cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_manual.h similarity index 100% rename from cocos/scripting/javascript/bindings/js_bindings_chipmunk_manual.h rename to cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_manual.h diff --git a/cocos/scripting/javascript/bindings/js_bindings_chipmunk_registration.cpp b/cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_registration.cpp similarity index 100% rename from cocos/scripting/javascript/bindings/js_bindings_chipmunk_registration.cpp rename to cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_registration.cpp diff --git a/cocos/scripting/javascript/bindings/js_bindings_chipmunk_registration.h b/cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_registration.h similarity index 100% rename from cocos/scripting/javascript/bindings/js_bindings_chipmunk_registration.h rename to cocos/scripting/javascript/bindings/chipmunk/js_bindings_chipmunk_registration.h diff --git a/cocos/scripting/javascript/bindings/chipmunk/libJSBindingForChipmunk.vcxproj b/cocos/scripting/javascript/bindings/chipmunk/libJSBindingForChipmunk.vcxproj new file mode 100644 index 0000000000..9148f9376f --- /dev/null +++ b/cocos/scripting/javascript/bindings/chipmunk/libJSBindingForChipmunk.vcxproj @@ -0,0 +1,121 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + + + + {21070E58-EEC6-4E16-8B4F-6D083DF55790} + Win32Proj + libJSBindingForChipmunk + + + + StaticLibrary + true + Unicode + v100 + v110 + v110_xp + + + StaticLibrary + false + Unicode + v100 + v110 + v110_xp + + + + + + + + + + + + + + + $(SolutionDir)$(Configuration).win32\ + + + $(Configuration).win32\ + + + $(SolutionDir)$(Configuration).win32\ + + + $(Configuration).win32\ + + + + + + Level3 + Disabled + WIN32;_WINDOWS;_DEBUG;_LIB;DEBUG;COCOS2D_DEBUG=1;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) + 4068;4101;4800;4251;4244;%(DisableSpecificWarnings) + true + false + + + Windows + true + + + if not exist "$(OutDir)" mkdir "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\..\external\sqlite3\libraries\win32\*.*" "$(OutDir)" + + + + + Level3 + + + MaxSpeed + true + true + WIN32;_WINDOWS;NDEBUG;_LIB;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) + 4068;4101;4800;4251;4244;%(DisableSpecificWarnings) + true + + + Windows + true + true + true + + + + + + + + + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/chipmunk/libJSBindingForChipmunk.vcxproj.filters b/cocos/scripting/javascript/bindings/chipmunk/libJSBindingForChipmunk.vcxproj.filters new file mode 100644 index 0000000000..43253970bc --- /dev/null +++ b/cocos/scripting/javascript/bindings/chipmunk/libJSBindingForChipmunk.vcxproj.filters @@ -0,0 +1,47 @@ + + + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + + + manual + + + manual + + + manual + + + manual + + + manual + + + manual + + + + + manual + + + manual + + + manual + + + manual + + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/chipmunk/libJSBindingForChipmunk.vcxproj.user b/cocos/scripting/javascript/bindings/chipmunk/libJSBindingForChipmunk.vcxproj.user new file mode 100644 index 0000000000..3f03091124 --- /dev/null +++ b/cocos/scripting/javascript/bindings/chipmunk/libJSBindingForChipmunk.vcxproj.user @@ -0,0 +1,6 @@ + + + + false + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/cocos2d_specifics.cpp.REMOVED.git-id b/cocos/scripting/javascript/bindings/cocos2d_specifics.cpp.REMOVED.git-id index b8cda9a498..082d55b8bd 100644 --- a/cocos/scripting/javascript/bindings/cocos2d_specifics.cpp.REMOVED.git-id +++ b/cocos/scripting/javascript/bindings/cocos2d_specifics.cpp.REMOVED.git-id @@ -1 +1 @@ -bf994ad1fc8ac1044957d83708f7848e99ca59e6 \ No newline at end of file +33fef8c7bc7006ad55c27fd0ed9c9dd2c8064079 \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/cocos2d_specifics.hpp b/cocos/scripting/javascript/bindings/cocos2d_specifics.hpp index 1072cc8064..2981a726a8 100644 --- a/cocos/scripting/javascript/bindings/cocos2d_specifics.hpp +++ b/cocos/scripting/javascript/bindings/cocos2d_specifics.hpp @@ -101,25 +101,6 @@ protected: jsval _extraData; }; - -class JSCCBAnimationWrapper: public JSCallbackWrapper { -public: - JSCCBAnimationWrapper() {} - virtual ~JSCCBAnimationWrapper() {} - - void animationCompleteCallback() { - - JSContext *cx = ScriptingCore::getInstance()->getGlobalContext(); - jsval retval = JSVAL_NULL; - - if(!JSVAL_IS_VOID(_jsCallback) && !JSVAL_IS_VOID(_jsThisObj)) { - JS_CallFunctionValue(cx, JSVAL_TO_OBJECT(_jsThisObj), _jsCallback, 0, NULL, &retval); - } - } - -}; - - class JSCallFuncWrapper: public JSCallbackWrapper { public: JSCallFuncWrapper() {} diff --git a/cocos/scripting/javascript/bindings/cocosbuilder/cocosbuilder_specifics.hpp b/cocos/scripting/javascript/bindings/cocosbuilder/cocosbuilder_specifics.hpp new file mode 100644 index 0000000000..f6b3252c57 --- /dev/null +++ b/cocos/scripting/javascript/bindings/cocosbuilder/cocosbuilder_specifics.hpp @@ -0,0 +1,23 @@ +#ifndef __JS_COCOSBUILDER_SPECIFICS_H__ +#define __JS_COCOSBUILDER_SPECIFICS_H__ + +#include "../cocos2d_specifics.hpp" + +class JSCCBAnimationWrapper: public JSCallbackWrapper { +public: + JSCCBAnimationWrapper() {} + virtual ~JSCCBAnimationWrapper() {} + + void animationCompleteCallback() { + + JSContext *cx = ScriptingCore::getInstance()->getGlobalContext(); + jsval retval = JSVAL_NULL; + + if(!JSVAL_IS_VOID(_jsCallback) && !JSVAL_IS_VOID(_jsThisObj)) { + JS_CallFunctionValue(cx, JSVAL_TO_OBJECT(_jsThisObj), _jsCallback, 0, NULL, &retval); + } + } + +}; + +#endif diff --git a/cocos/scripting/javascript/bindings/js_bindings_ccbreader.cpp b/cocos/scripting/javascript/bindings/cocosbuilder/js_bindings_ccbreader.cpp similarity index 100% rename from cocos/scripting/javascript/bindings/js_bindings_ccbreader.cpp rename to cocos/scripting/javascript/bindings/cocosbuilder/js_bindings_ccbreader.cpp diff --git a/cocos/scripting/javascript/bindings/js_bindings_ccbreader.h b/cocos/scripting/javascript/bindings/cocosbuilder/js_bindings_ccbreader.h similarity index 98% rename from cocos/scripting/javascript/bindings/js_bindings_ccbreader.h rename to cocos/scripting/javascript/bindings/cocosbuilder/js_bindings_ccbreader.h index 8bcdabd044..b1b3b187cc 100644 --- a/cocos/scripting/javascript/bindings/js_bindings_ccbreader.h +++ b/cocos/scripting/javascript/bindings/cocosbuilder/js_bindings_ccbreader.h @@ -9,7 +9,7 @@ #define __JS_BINDINGS_CCBREADER_H__ #include "jsapi.h" -#include "cocos2d_specifics.hpp" +#include "cocosbuilder_specifics.hpp" #include "cocosbuilder/CocosBuilder.h" class CCBScriptCallbackProxy: public cocos2d::Layer diff --git a/cocos/scripting/javascript/bindings/cocosbuilder/libJSBindingForBuilder.vcxproj b/cocos/scripting/javascript/bindings/cocosbuilder/libJSBindingForBuilder.vcxproj new file mode 100644 index 0000000000..d6f2eb8d12 --- /dev/null +++ b/cocos/scripting/javascript/bindings/cocosbuilder/libJSBindingForBuilder.vcxproj @@ -0,0 +1,119 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + + {F9DA0FC1-651B-457B-962E-A4D61CEBF5FD} + Win32Proj + libJSBindingForBuilder + + + + StaticLibrary + true + Unicode + v100 + v110 + v110_xp + + + StaticLibrary + false + Unicode + v100 + v110 + v110_xp + + + + + + + + + + + + + + + $(SolutionDir)$(Configuration).win32\ + + + $(Configuration).win32\ + + + $(SolutionDir)$(Configuration).win32\ + + + $(Configuration).win32\ + + + + + + Level3 + Disabled + WIN32;_WINDOWS;_DEBUG;_LIB;DEBUG;COCOS2D_DEBUG=1;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\editor-support\cocosbuilder;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) + 4068;4101;4800;4251;4244;%(DisableSpecificWarnings) + true + false + + + Windows + true + + + if not exist "$(OutDir)" mkdir "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\..\external\sqlite3\libraries\win32\*.*" "$(OutDir)" + + + + + Level3 + + + MaxSpeed + true + true + WIN32;_WINDOWS;NDEBUG;_LIB;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\editor-support\cocosbuilder;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) + 4068;4101;4800;4251;4244;%(DisableSpecificWarnings) + true + + + Windows + true + true + true + + + + + + + + + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/cocosbuilder/libJSBindingForBuilder.vcxproj.filters b/cocos/scripting/javascript/bindings/cocosbuilder/libJSBindingForBuilder.vcxproj.filters new file mode 100644 index 0000000000..6746ab6be9 --- /dev/null +++ b/cocos/scripting/javascript/bindings/cocosbuilder/libJSBindingForBuilder.vcxproj.filters @@ -0,0 +1,37 @@ + + + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + + + generated + + + manual + + + + + generated + + + manual + + + manual + + + + + generated + + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/cocosbuilder/libJSBindingForBuilder.vcxproj.user b/cocos/scripting/javascript/bindings/cocosbuilder/libJSBindingForBuilder.vcxproj.user new file mode 100644 index 0000000000..3f03091124 --- /dev/null +++ b/cocos/scripting/javascript/bindings/cocosbuilder/libJSBindingForBuilder.vcxproj.user @@ -0,0 +1,6 @@ + + + + false + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/cocostudio/jsb_cocos2dx_studio_manual.cpp b/cocos/scripting/javascript/bindings/cocostudio/jsb_cocos2dx_studio_manual.cpp new file mode 100644 index 0000000000..34ecbca985 --- /dev/null +++ b/cocos/scripting/javascript/bindings/cocostudio/jsb_cocos2dx_studio_manual.cpp @@ -0,0 +1,229 @@ +// +// jsb_cocos2dx_studio_manual.h +// +// Created by LinWenhai on 20/10/13. +// +// +#include "jsb_cocos2dx_studio_manual.h" +#include "ScriptingCore.h" +#include "cocos2d_specifics.hpp" +#include "cocostudio/CocoStudio.h" + +class JSArmatureWrapper: public JSCallbackWrapper { +public: + JSArmatureWrapper(); + virtual ~JSArmatureWrapper(); + + virtual void setJSCallbackThis(jsval thisObj); + + void movementCallbackFunc(cocostudio::Armature * pArmature, cocostudio::MovementEventType pMovementEventType, const char *pMovementId); + void frameCallbackFunc(cocostudio::Bone *pBone, const char *frameEventName, int originFrameIndex, int currentFrameIndex); + void addArmatureFileInfoAsyncCallbackFunc(float percent); + +private: + bool m_bNeedUnroot; +}; + +JSArmatureWrapper::JSArmatureWrapper() + : m_bNeedUnroot(false) +{ + +} + +JSArmatureWrapper::~JSArmatureWrapper() +{ + if (m_bNeedUnroot) + { + JSObject *thisObj = JSVAL_TO_OBJECT(_jsThisObj); + JSContext *cx = ScriptingCore::getInstance()->getGlobalContext(); + JS_RemoveObjectRoot(cx, &thisObj); + } +} + +void JSArmatureWrapper::setJSCallbackThis(jsval _jsThisObj) +{ + JSCallbackWrapper::setJSCallbackThis(_jsThisObj); + + JSObject *thisObj = JSVAL_TO_OBJECT(_jsThisObj); + js_proxy *p = jsb_get_js_proxy(thisObj); + if (!p) + { + JSContext *cx = ScriptingCore::getInstance()->getGlobalContext(); + JS_AddObjectRoot(cx, &thisObj); + m_bNeedUnroot = true; + } +} + +void JSArmatureWrapper::movementCallbackFunc(cocostudio::Armature *pArmature, cocostudio::MovementEventType pMovementEventType, const char *pMovementId) +{ + JSContext *cx = ScriptingCore::getInstance()->getGlobalContext(); + JSObject *thisObj = JSVAL_IS_VOID(_jsThisObj) ? NULL : JSVAL_TO_OBJECT(_jsThisObj); + js_proxy_t *proxy = js_get_or_create_proxy(cx, pArmature); + jsval retval; + if (_jsCallback != JSVAL_VOID) + { + int movementEventType = (int)pMovementEventType; + jsval movementVal = INT_TO_JSVAL(movementEventType); + + jsval idVal = c_string_to_jsval(cx, pMovementId); + + jsval valArr[3]; + valArr[0] = OBJECT_TO_JSVAL(proxy->obj); + valArr[1] = movementVal; + valArr[2] = idVal; + + JS_AddValueRoot(cx, valArr); + JS_CallFunctionValue(cx, thisObj, _jsCallback, 3, valArr, &retval); + JS_RemoveValueRoot(cx, valArr); + } +} + +void JSArmatureWrapper::addArmatureFileInfoAsyncCallbackFunc(float percent) +{ + JSContext *cx = ScriptingCore::getInstance()->getGlobalContext(); + JSObject *thisObj = JSVAL_IS_VOID(_jsThisObj) ? NULL : JSVAL_TO_OBJECT(_jsThisObj); + jsval retval; + if (_jsCallback != JSVAL_VOID) + { + jsval percentVal = DOUBLE_TO_JSVAL(percent); + + JS_AddValueRoot(cx, &percentVal); + JS_CallFunctionValue(cx, thisObj, _jsCallback, 1, &percentVal, &retval); + JS_RemoveValueRoot(cx, &percentVal); + } +} + + +void JSArmatureWrapper::frameCallbackFunc(cocostudio::Bone *pBone, const char *frameEventName, int originFrameIndex, int currentFrameIndex) +{ + JSContext *cx = ScriptingCore::getInstance()->getGlobalContext(); + JSObject *thisObj = JSVAL_IS_VOID(_jsThisObj) ? NULL : JSVAL_TO_OBJECT(_jsThisObj); + js_proxy_t *proxy = js_get_or_create_proxy(cx, pBone); + jsval retval; + if (_jsCallback != JSVAL_VOID) + { + jsval nameVal = c_string_to_jsval(cx, frameEventName); + jsval originIndexVal = INT_TO_JSVAL(originFrameIndex); + jsval currentIndexVal = INT_TO_JSVAL(currentFrameIndex); + + jsval valArr[4]; + valArr[0] = OBJECT_TO_JSVAL(proxy->obj); + valArr[1] = nameVal; + valArr[2] = originIndexVal; + valArr[3] = currentIndexVal; + + JS_AddValueRoot(cx, valArr); + JS_CallFunctionValue(cx, thisObj, _jsCallback, 4, valArr, &retval); + JS_RemoveValueRoot(cx, valArr); + } +} + +static JSBool js_cocos2dx_ArmatureAnimation_setMovementEventCallFunc(JSContext *cx, uint32_t argc, jsval *vp) +{ + JSObject *obj = JS_THIS_OBJECT(cx, vp); + js_proxy_t *proxy = jsb_get_js_proxy(obj); + cocostudio::ArmatureAnimation* cobj = (cocostudio::ArmatureAnimation *)(proxy ? proxy->ptr : NULL); + JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); + + if (argc == 2) { + jsval *argv = JS_ARGV(cx, vp); + + JSArmatureWrapper *tmpObj = new JSArmatureWrapper(); + tmpObj->autorelease(); + + tmpObj->setJSCallbackFunc(argv[0]); + tmpObj->setJSCallbackThis(argv[1]); + + cobj->setMovementEventCallFunc(tmpObj, movementEvent_selector(JSArmatureWrapper::movementCallbackFunc)); + + return JS_TRUE; + } + JS_ReportError(cx, "Invalid number of arguments"); + return JS_FALSE; +} + +static JSBool js_cocos2dx_ArmatureAnimation_setFrameEventCallFunc(JSContext *cx, uint32_t argc, jsval *vp) +{ + JSObject *obj = JS_THIS_OBJECT(cx, vp); + js_proxy_t *proxy = jsb_get_js_proxy(obj); + cocostudio::ArmatureAnimation* cobj = (cocostudio::ArmatureAnimation *)(proxy ? proxy->ptr : NULL); + JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); + + if (argc == 2) { + jsval *argv = JS_ARGV(cx, vp); + + JSArmatureWrapper *tmpObj = new JSArmatureWrapper(); + tmpObj->autorelease(); + + tmpObj->setJSCallbackFunc(argv[0]); + tmpObj->setJSCallbackThis(argv[1]); + + cobj->setFrameEventCallFunc(tmpObj, frameEvent_selector(JSArmatureWrapper::frameCallbackFunc)); + + return JS_TRUE; + } + JS_ReportError(cx, "Invalid number of arguments"); + return JS_FALSE; +} + +static JSBool jsb_Animation_addArmatureFileInfoAsyncCallFunc(JSContext *cx, uint32_t argc, jsval *vp) +{ + JSObject *obj = JS_THIS_OBJECT(cx, vp); + js_proxy_t *proxy = jsb_get_js_proxy(obj); + cocostudio::ArmatureDataManager* cobj = (cocostudio::ArmatureDataManager *)(proxy ? proxy->ptr : NULL); + JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); + + if (argc == 3) { + jsval *argv = JS_ARGV(cx, vp); + + JSArmatureWrapper *tmpObj = new JSArmatureWrapper(); + tmpObj->autorelease(); + + tmpObj->setJSCallbackFunc(argv[2]); + tmpObj->setJSCallbackThis(argv[1]); + + std::string ret; + jsval_to_std_string(cx, argv[0], &ret); + + cobj->addArmatureFileInfoAsync(ret.c_str(), tmpObj, schedule_selector(JSArmatureWrapper::addArmatureFileInfoAsyncCallbackFunc)); + + return JS_TRUE; + } + + if(argc == 5){ + jsval *argv = JS_ARGV(cx, vp); + + JSArmatureWrapper *tmpObj = new JSArmatureWrapper(); + tmpObj->autorelease(); + + tmpObj->setJSCallbackFunc(argv[4]); + tmpObj->setJSCallbackThis(argv[3]); + + std::string imagePath; + jsval_to_std_string(cx ,argv[0] , &imagePath); + + std::string plistPath; + jsval_to_std_string(cx ,argv[1] , &plistPath); + + std::string configFilePath; + jsval_to_std_string(cx ,argv[2] , &configFilePath); + + cobj->addArmatureFileInfoAsync(imagePath.c_str(), plistPath.c_str(), configFilePath.c_str(), tmpObj, schedule_selector(JSArmatureWrapper::addArmatureFileInfoAsyncCallbackFunc)); + + return JS_TRUE; + } + JS_ReportError(cx, "Invalid number of arguments"); + return JS_FALSE; +} + +extern JSObject* jsb_ArmatureAnimation_prototype; +extern JSObject* jsb_ArmatureDataManager_prototype; + +void register_all_cocos2dx_studio_manual(JSContext* cx, JSObject* global) +{ + JS_DefineFunction(cx, jsb_ArmatureAnimation_prototype, "setMovementEventCallFunc", js_cocos2dx_ArmatureAnimation_setMovementEventCallFunc, 2, JSPROP_READONLY | JSPROP_PERMANENT); + + JS_DefineFunction(cx, jsb_ArmatureAnimation_prototype, "setFrameEventCallFunc", js_cocos2dx_ArmatureAnimation_setFrameEventCallFunc, 2, JSPROP_READONLY | JSPROP_PERMANENT); + + JS_DefineFunction(cx, jsb_ArmatureDataManager_prototype, "addArmatureFileInfoAsync", jsb_Animation_addArmatureFileInfoAsyncCallFunc, 3, JSPROP_READONLY | JSPROP_PERMANENT); +} \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/cocostudio/jsb_cocos2dx_studio_manual.h b/cocos/scripting/javascript/bindings/cocostudio/jsb_cocos2dx_studio_manual.h new file mode 100644 index 0000000000..35ebd55755 --- /dev/null +++ b/cocos/scripting/javascript/bindings/cocostudio/jsb_cocos2dx_studio_manual.h @@ -0,0 +1,16 @@ +// +// jsb_cocos2dx_studio_manual.h +// +// Created by LinWenhai on 20/10/13. +// +// + +#ifndef __jsb_cocos2dx_studio_manual__ +#define __jsb_cocos2dx_studio_manual__ + +#include "jsapi.h" +#include "jsfriendapi.h" + +void register_all_cocos2dx_studio_manual(JSContext* cx, JSObject* global); + +#endif /* defined(__jsb_cocos2dx_studio_manual__) */ diff --git a/cocos/scripting/javascript/bindings/cocostudio/libJSBindingForStudio.vcxproj b/cocos/scripting/javascript/bindings/cocostudio/libJSBindingForStudio.vcxproj new file mode 100644 index 0000000000..2212730521 --- /dev/null +++ b/cocos/scripting/javascript/bindings/cocostudio/libJSBindingForStudio.vcxproj @@ -0,0 +1,118 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + {79D34511-E54E-410A-8BBA-EF175AD6C695} + Win32Proj + libJSBindingForStudio + + + + StaticLibrary + true + Unicode + v100 + v110 + v110_xp + + + StaticLibrary + false + Unicode + v100 + v110 + v110_xp + + + + + + + + + + + + + + + $(SolutionDir)$(Configuration).win32\ + + + $(Configuration).win32\ + + + $(SolutionDir)$(Configuration).win32\ + + + $(Configuration).win32\ + + + + + + Level3 + Disabled + WIN32;_WINDOWS;_DEBUG;_LIB;DEBUG;COCOS2D_DEBUG=1;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\editor-support\cocostudio;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) + 4068;4101;4800;4251;4244;%(DisableSpecificWarnings) + true + false + + + Windows + true + + + if not exist "$(OutDir)" mkdir "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\..\external\sqlite3\libraries\win32\*.*" "$(OutDir)" + + + + + Level3 + + + MaxSpeed + true + true + WIN32;_WINDOWS;NDEBUG;_LIB;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\editor-support\cocostudio;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) + 4068;4101;4800;4251;4244;%(DisableSpecificWarnings) + true + + + Windows + true + true + true + + + + + + + + + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/cocostudio/libJSBindingForStudio.vcxproj.filters b/cocos/scripting/javascript/bindings/cocostudio/libJSBindingForStudio.vcxproj.filters new file mode 100644 index 0000000000..16be2bb316 --- /dev/null +++ b/cocos/scripting/javascript/bindings/cocostudio/libJSBindingForStudio.vcxproj.filters @@ -0,0 +1,34 @@ + + + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + + + generated + + + manual + + + + + generated + + + manual + + + + + generated + + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/cocostudio/libJSBindingForStudio.vcxproj.user b/cocos/scripting/javascript/bindings/cocostudio/libJSBindingForStudio.vcxproj.user new file mode 100644 index 0000000000..3f03091124 --- /dev/null +++ b/cocos/scripting/javascript/bindings/cocostudio/libJSBindingForStudio.vcxproj.user @@ -0,0 +1,6 @@ + + + + false + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/jsb_cocos2dx_extension_manual.cpp b/cocos/scripting/javascript/bindings/extension/jsb_cocos2dx_extension_manual.cpp similarity index 77% rename from cocos/scripting/javascript/bindings/jsb_cocos2dx_extension_manual.cpp rename to cocos/scripting/javascript/bindings/extension/jsb_cocos2dx_extension_manual.cpp index 413f941bca..9f2ab82470 100644 --- a/cocos/scripting/javascript/bindings/jsb_cocos2dx_extension_manual.cpp +++ b/cocos/scripting/javascript/bindings/extension/jsb_cocos2dx_extension_manual.cpp @@ -9,7 +9,6 @@ #include "extensions/cocos-ext.h" #include "ScriptingCore.h" #include "cocos2d_specifics.hpp" -#include "cocostudio/CocoStudio.h" USING_NS_CC; USING_NS_CC_EXT; @@ -781,218 +780,9 @@ static JSBool js_cocos2dx_CCControl_removeTargetWithActionForControlEvents(JSCon return JS_FALSE; } -class JSArmatureWrapper: public JSCallbackWrapper { -public: - JSArmatureWrapper(); - virtual ~JSArmatureWrapper(); - - virtual void setJSCallbackThis(jsval thisObj); - - void movementCallbackFunc(cocostudio::Armature * pArmature, cocostudio::MovementEventType pMovementEventType, const char *pMovementId); - void frameCallbackFunc(cocostudio::Bone *pBone, const char *frameEventName, int originFrameIndex, int currentFrameIndex); - void addArmatureFileInfoAsyncCallbackFunc(float percent); - -private: - bool m_bNeedUnroot; -}; - -JSArmatureWrapper::JSArmatureWrapper() - : m_bNeedUnroot(false) -{ - -} - -JSArmatureWrapper::~JSArmatureWrapper() -{ - if (m_bNeedUnroot) - { - JSObject *thisObj = JSVAL_TO_OBJECT(_jsThisObj); - JSContext *cx = ScriptingCore::getInstance()->getGlobalContext(); - JS_RemoveObjectRoot(cx, &thisObj); - } -} - -void JSArmatureWrapper::setJSCallbackThis(jsval _jsThisObj) -{ - JSCallbackWrapper::setJSCallbackThis(_jsThisObj); - - JSObject *thisObj = JSVAL_TO_OBJECT(_jsThisObj); - js_proxy *p = jsb_get_js_proxy(thisObj); - if (!p) - { - JSContext *cx = ScriptingCore::getInstance()->getGlobalContext(); - JS_AddObjectRoot(cx, &thisObj); - m_bNeedUnroot = true; - } -} - -void JSArmatureWrapper::movementCallbackFunc(cocostudio::Armature *pArmature, cocostudio::MovementEventType pMovementEventType, const char *pMovementId) -{ - JSContext *cx = ScriptingCore::getInstance()->getGlobalContext(); - JSObject *thisObj = JSVAL_IS_VOID(_jsThisObj) ? NULL : JSVAL_TO_OBJECT(_jsThisObj); - js_proxy_t *proxy = js_get_or_create_proxy(cx, pArmature); - jsval retval; - if (_jsCallback != JSVAL_VOID) - { - int movementEventType = (int)pMovementEventType; - jsval movementVal = INT_TO_JSVAL(movementEventType); - - jsval idVal = c_string_to_jsval(cx, pMovementId); - - jsval valArr[3]; - valArr[0] = OBJECT_TO_JSVAL(proxy->obj); - valArr[1] = movementVal; - valArr[2] = idVal; - - JS_AddValueRoot(cx, valArr); - JS_CallFunctionValue(cx, thisObj, _jsCallback, 3, valArr, &retval); - JS_RemoveValueRoot(cx, valArr); - } -} - -void JSArmatureWrapper::addArmatureFileInfoAsyncCallbackFunc(float percent) -{ - JSContext *cx = ScriptingCore::getInstance()->getGlobalContext(); - JSObject *thisObj = JSVAL_IS_VOID(_jsThisObj) ? NULL : JSVAL_TO_OBJECT(_jsThisObj); - jsval retval; - if (_jsCallback != JSVAL_VOID) - { - jsval percentVal = DOUBLE_TO_JSVAL(percent); - - JS_AddValueRoot(cx, &percentVal); - JS_CallFunctionValue(cx, thisObj, _jsCallback, 1, &percentVal, &retval); - JS_RemoveValueRoot(cx, &percentVal); - } -} - - -void JSArmatureWrapper::frameCallbackFunc(cocostudio::Bone *pBone, const char *frameEventName, int originFrameIndex, int currentFrameIndex) -{ - JSContext *cx = ScriptingCore::getInstance()->getGlobalContext(); - JSObject *thisObj = JSVAL_IS_VOID(_jsThisObj) ? NULL : JSVAL_TO_OBJECT(_jsThisObj); - js_proxy_t *proxy = js_get_or_create_proxy(cx, pBone); - jsval retval; - if (_jsCallback != JSVAL_VOID) - { - jsval nameVal = c_string_to_jsval(cx, frameEventName); - jsval originIndexVal = INT_TO_JSVAL(originFrameIndex); - jsval currentIndexVal = INT_TO_JSVAL(currentFrameIndex); - - jsval valArr[4]; - valArr[0] = OBJECT_TO_JSVAL(proxy->obj); - valArr[1] = nameVal; - valArr[2] = originIndexVal; - valArr[3] = currentIndexVal; - - JS_AddValueRoot(cx, valArr); - JS_CallFunctionValue(cx, thisObj, _jsCallback, 4, valArr, &retval); - JS_RemoveValueRoot(cx, valArr); - } -} - -static JSBool js_cocos2dx_ArmatureAnimation_setMovementEventCallFunc(JSContext *cx, uint32_t argc, jsval *vp) -{ - JSObject *obj = JS_THIS_OBJECT(cx, vp); - js_proxy_t *proxy = jsb_get_js_proxy(obj); - cocostudio::ArmatureAnimation* cobj = (cocostudio::ArmatureAnimation *)(proxy ? proxy->ptr : NULL); - JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); - - if (argc == 2) { - jsval *argv = JS_ARGV(cx, vp); - - JSArmatureWrapper *tmpObj = new JSArmatureWrapper(); - tmpObj->autorelease(); - - tmpObj->setJSCallbackFunc(argv[0]); - tmpObj->setJSCallbackThis(argv[1]); - - cobj->setMovementEventCallFunc(tmpObj, movementEvent_selector(JSArmatureWrapper::movementCallbackFunc)); - - return JS_TRUE; - } - JS_ReportError(cx, "Invalid number of arguments"); - return JS_FALSE; -} - -static JSBool js_cocos2dx_ArmatureAnimation_setFrameEventCallFunc(JSContext *cx, uint32_t argc, jsval *vp) -{ - JSObject *obj = JS_THIS_OBJECT(cx, vp); - js_proxy_t *proxy = jsb_get_js_proxy(obj); - cocostudio::ArmatureAnimation* cobj = (cocostudio::ArmatureAnimation *)(proxy ? proxy->ptr : NULL); - JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); - - if (argc == 2) { - jsval *argv = JS_ARGV(cx, vp); - - JSArmatureWrapper *tmpObj = new JSArmatureWrapper(); - tmpObj->autorelease(); - - tmpObj->setJSCallbackFunc(argv[0]); - tmpObj->setJSCallbackThis(argv[1]); - - cobj->setFrameEventCallFunc(tmpObj, frameEvent_selector(JSArmatureWrapper::frameCallbackFunc)); - - return JS_TRUE; - } - JS_ReportError(cx, "Invalid number of arguments"); - return JS_FALSE; -} - -static JSBool jsb_Animation_addArmatureFileInfoAsyncCallFunc(JSContext *cx, uint32_t argc, jsval *vp) -{ - JSObject *obj = JS_THIS_OBJECT(cx, vp); - js_proxy_t *proxy = jsb_get_js_proxy(obj); - cocostudio::ArmatureDataManager* cobj = (cocostudio::ArmatureDataManager *)(proxy ? proxy->ptr : NULL); - JSB_PRECONDITION2( cobj, cx, JS_FALSE, "Invalid Native Object"); - - if (argc == 3) { - jsval *argv = JS_ARGV(cx, vp); - - JSArmatureWrapper *tmpObj = new JSArmatureWrapper(); - tmpObj->autorelease(); - - tmpObj->setJSCallbackFunc(argv[2]); - tmpObj->setJSCallbackThis(argv[1]); - - std::string ret; - jsval_to_std_string(cx, argv[0], &ret); - - cobj->addArmatureFileInfoAsync(ret.c_str(), tmpObj, schedule_selector(JSArmatureWrapper::addArmatureFileInfoAsyncCallbackFunc)); - - return JS_TRUE; - } - - if(argc == 5){ - jsval *argv = JS_ARGV(cx, vp); - - JSArmatureWrapper *tmpObj = new JSArmatureWrapper(); - tmpObj->autorelease(); - - tmpObj->setJSCallbackFunc(argv[4]); - tmpObj->setJSCallbackThis(argv[3]); - - std::string imagePath; - jsval_to_std_string(cx ,argv[0] , &imagePath); - - std::string plistPath; - jsval_to_std_string(cx ,argv[1] , &plistPath); - - std::string configFilePath; - jsval_to_std_string(cx ,argv[2] , &configFilePath); - - cobj->addArmatureFileInfoAsync(imagePath.c_str(), plistPath.c_str(), configFilePath.c_str(), tmpObj, schedule_selector(JSArmatureWrapper::addArmatureFileInfoAsyncCallbackFunc)); - - return JS_TRUE; - } - JS_ReportError(cx, "Invalid number of arguments"); - return JS_FALSE; -} - extern JSObject* jsb_ScrollView_prototype; extern JSObject* jsb_TableView_prototype; extern JSObject* jsb_EditBox_prototype; -extern JSObject* jsb_ArmatureAnimation_prototype; -extern JSObject* jsb_ArmatureDataManager_prototype; extern JSObject* jsb_Control_prototype; void register_all_cocos2dx_extension_manual(JSContext* cx, JSObject* global) @@ -1004,12 +794,6 @@ void register_all_cocos2dx_extension_manual(JSContext* cx, JSObject* global) JS_DefineFunction(cx, jsb_Control_prototype, "addTargetWithActionForControlEvents", js_cocos2dx_CCControl_addTargetWithActionForControlEvents, 3, JSPROP_READONLY | JSPROP_PERMANENT); JS_DefineFunction(cx, jsb_Control_prototype, "removeTargetWithActionForControlEvents", js_cocos2dx_CCControl_removeTargetWithActionForControlEvents, 3, JSPROP_READONLY | JSPROP_PERMANENT); - JS_DefineFunction(cx, jsb_ArmatureAnimation_prototype, "setMovementEventCallFunc", js_cocos2dx_ArmatureAnimation_setMovementEventCallFunc, 2, JSPROP_READONLY | JSPROP_PERMANENT); - - JS_DefineFunction(cx, jsb_ArmatureAnimation_prototype, "setFrameEventCallFunc", js_cocos2dx_ArmatureAnimation_setFrameEventCallFunc, 2, JSPROP_READONLY | JSPROP_PERMANENT); - - JS_DefineFunction(cx, jsb_ArmatureDataManager_prototype, "addArmatureFileInfoAsync", jsb_Animation_addArmatureFileInfoAsyncCallFunc, 3, JSPROP_READONLY | JSPROP_PERMANENT); - JSObject *tmpObj = JSVAL_TO_OBJECT(anonEvaluate(cx, global, "(function () { return cc.TableView; })()")); JS_DefineFunction(cx, tmpObj, "create", js_cocos2dx_CCTableView_create, 3, JSPROP_READONLY | JSPROP_PERMANENT); } \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/jsb_cocos2dx_extension_manual.h b/cocos/scripting/javascript/bindings/extension/jsb_cocos2dx_extension_manual.h similarity index 100% rename from cocos/scripting/javascript/bindings/jsb_cocos2dx_extension_manual.h rename to cocos/scripting/javascript/bindings/extension/jsb_cocos2dx_extension_manual.h diff --git a/cocos/scripting/javascript/bindings/extension/libJSBindingForExtension.vcxproj b/cocos/scripting/javascript/bindings/extension/libJSBindingForExtension.vcxproj new file mode 100644 index 0000000000..b9ea3695d9 --- /dev/null +++ b/cocos/scripting/javascript/bindings/extension/libJSBindingForExtension.vcxproj @@ -0,0 +1,118 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + {625F7391-9A91-48A1-8CFC-79508C822637} + Win32Proj + libJSBindingForExtension + + + + StaticLibrary + true + Unicode + v100 + v110 + v110_xp + + + StaticLibrary + false + Unicode + v100 + v110 + v110_xp + + + + + + + + + + + + + + + $(SolutionDir)$(Configuration).win32\ + + + $(Configuration).win32\ + + + $(SolutionDir)$(Configuration).win32\ + + + $(Configuration).win32\ + + + + + + Level3 + Disabled + WIN32;_WINDOWS;_DEBUG;_LIB;DEBUG;COCOS2D_DEBUG=1;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\network;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) + 4068;4101;4800;4251;4244;%(DisableSpecificWarnings) + true + false + + + Windows + true + + + if not exist "$(OutDir)" mkdir "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\..\external\sqlite3\libraries\win32\*.*" "$(OutDir)" + + + + + Level3 + + + MaxSpeed + true + true + WIN32;_WINDOWS;NDEBUG;_LIB;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\network;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) + 4068;4101;4800;4251;4244;%(DisableSpecificWarnings) + true + + + Windows + true + true + true + + + + + + + + + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/extension/libJSBindingForExtension.vcxproj.filters b/cocos/scripting/javascript/bindings/extension/libJSBindingForExtension.vcxproj.filters new file mode 100644 index 0000000000..805e94fc71 --- /dev/null +++ b/cocos/scripting/javascript/bindings/extension/libJSBindingForExtension.vcxproj.filters @@ -0,0 +1,34 @@ + + + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + + + generated + + + manual + + + + + generated + + + manual + + + + + generated + + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/extension/libJSBindingForExtension.vcxproj.user b/cocos/scripting/javascript/bindings/extension/libJSBindingForExtension.vcxproj.user new file mode 100644 index 0000000000..3f03091124 --- /dev/null +++ b/cocos/scripting/javascript/bindings/extension/libJSBindingForExtension.vcxproj.user @@ -0,0 +1,6 @@ + + + + false + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/js_bindings_core.cpp b/cocos/scripting/javascript/bindings/js_bindings_core.cpp index 295184cbb8..fbb6e808fb 100644 --- a/cocos/scripting/javascript/bindings/js_bindings_core.cpp +++ b/cocos/scripting/javascript/bindings/js_bindings_core.cpp @@ -26,7 +26,7 @@ // cocos2d + chipmunk registration files -#include "js_bindings_chipmunk_registration.h" +#include "chipmunk/js_bindings_chipmunk_registration.h" //#pragma mark - Hash diff --git a/cocos/scripting/javascript/bindings/js_bindings_system_functions.cpp b/cocos/scripting/javascript/bindings/localstorage/js_bindings_system_functions.cpp similarity index 100% rename from cocos/scripting/javascript/bindings/js_bindings_system_functions.cpp rename to cocos/scripting/javascript/bindings/localstorage/js_bindings_system_functions.cpp diff --git a/cocos/scripting/javascript/bindings/js_bindings_system_functions.h b/cocos/scripting/javascript/bindings/localstorage/js_bindings_system_functions.h similarity index 100% rename from cocos/scripting/javascript/bindings/js_bindings_system_functions.h rename to cocos/scripting/javascript/bindings/localstorage/js_bindings_system_functions.h diff --git a/cocos/scripting/javascript/bindings/js_bindings_system_functions_registration.h b/cocos/scripting/javascript/bindings/localstorage/js_bindings_system_functions_registration.h similarity index 94% rename from cocos/scripting/javascript/bindings/js_bindings_system_functions_registration.h rename to cocos/scripting/javascript/bindings/localstorage/js_bindings_system_functions_registration.h index 5bce81d241..5774403878 100644 --- a/cocos/scripting/javascript/bindings/js_bindings_system_functions_registration.h +++ b/cocos/scripting/javascript/bindings/localstorage/js_bindings_system_functions_registration.h @@ -3,7 +3,7 @@ * Generated by "generate_js_bindings.py -c system_jsb.ini" on 2012-12-17 * Script version: v0.5 */ -#include "js_bindings_config.h" +#include "../js_bindings_config.h" //#ifdef JSB_INCLUDE_SYSTEM //#include "LocalStorage.h" diff --git a/cocos/scripting/javascript/bindings/js_bindings_system_registration.cpp b/cocos/scripting/javascript/bindings/localstorage/js_bindings_system_registration.cpp similarity index 100% rename from cocos/scripting/javascript/bindings/js_bindings_system_registration.cpp rename to cocos/scripting/javascript/bindings/localstorage/js_bindings_system_registration.cpp diff --git a/cocos/scripting/javascript/bindings/js_bindings_system_registration.h b/cocos/scripting/javascript/bindings/localstorage/js_bindings_system_registration.h similarity index 100% rename from cocos/scripting/javascript/bindings/js_bindings_system_registration.h rename to cocos/scripting/javascript/bindings/localstorage/js_bindings_system_registration.h diff --git a/cocos/scripting/javascript/bindings/localstorage/libJSBindingForLocalStorage.vcxproj b/cocos/scripting/javascript/bindings/localstorage/libJSBindingForLocalStorage.vcxproj new file mode 100644 index 0000000000..2f074d6c17 --- /dev/null +++ b/cocos/scripting/javascript/bindings/localstorage/libJSBindingForLocalStorage.vcxproj @@ -0,0 +1,116 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + {68F5F371-BD7B-4C30-AE5B-0B08F22E0CDE} + Win32Proj + libJSBindingForLocalStorage + + + + StaticLibrary + true + Unicode + v100 + v110 + v110_xp + + + StaticLibrary + false + Unicode + v100 + v110 + v110_xp + + + + + + + + + + + + + + + $(SolutionDir)$(Configuration).win32\ + + + $(Configuration).win32\ + + + $(SolutionDir)$(Configuration).win32\ + + + $(Configuration).win32\ + + + + + + Level3 + Disabled + WIN32;_WINDOWS;_DEBUG;_LIB;DEBUG;COCOS2D_DEBUG=1;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\storage;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\spidermonkey\include\win32;%(AdditionalIncludeDirectories) + 4068;4101;4800;4251;4244;%(DisableSpecificWarnings) + true + false + + + Windows + true + + + if not exist "$(OutDir)" mkdir "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\..\external\sqlite3\libraries\win32\*.*" "$(OutDir)" + + + + + Level3 + + + MaxSpeed + true + true + WIN32;_WINDOWS;NDEBUG;_LIB;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\storage;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\spidermonkey\include\win32;%(AdditionalIncludeDirectories) + 4068;4101;4800;4251;4244;%(DisableSpecificWarnings) + true + + + Windows + true + true + true + + + + + + + + + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/localstorage/libJSBindingForLocalStorage.vcxproj.filters b/cocos/scripting/javascript/bindings/localstorage/libJSBindingForLocalStorage.vcxproj.filters new file mode 100644 index 0000000000..9fc0ee4734 --- /dev/null +++ b/cocos/scripting/javascript/bindings/localstorage/libJSBindingForLocalStorage.vcxproj.filters @@ -0,0 +1,32 @@ + + + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + + + manual + + + manual + + + + + manual + + + manual + + + manual + + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/localstorage/libJSBindingForLocalStorage.vcxproj.user b/cocos/scripting/javascript/bindings/localstorage/libJSBindingForLocalStorage.vcxproj.user new file mode 100644 index 0000000000..3f03091124 --- /dev/null +++ b/cocos/scripting/javascript/bindings/localstorage/libJSBindingForLocalStorage.vcxproj.user @@ -0,0 +1,6 @@ + + + + false + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/XMLHTTPRequest.cpp b/cocos/scripting/javascript/bindings/network/XMLHTTPRequest.cpp similarity index 100% rename from cocos/scripting/javascript/bindings/XMLHTTPRequest.cpp rename to cocos/scripting/javascript/bindings/network/XMLHTTPRequest.cpp diff --git a/cocos/scripting/javascript/bindings/XMLHTTPRequest.h b/cocos/scripting/javascript/bindings/network/XMLHTTPRequest.h similarity index 100% rename from cocos/scripting/javascript/bindings/XMLHTTPRequest.h rename to cocos/scripting/javascript/bindings/network/XMLHTTPRequest.h diff --git a/cocos/scripting/javascript/bindings/jsb_websocket.cpp b/cocos/scripting/javascript/bindings/network/jsb_websocket.cpp similarity index 100% rename from cocos/scripting/javascript/bindings/jsb_websocket.cpp rename to cocos/scripting/javascript/bindings/network/jsb_websocket.cpp diff --git a/cocos/scripting/javascript/bindings/jsb_websocket.h b/cocos/scripting/javascript/bindings/network/jsb_websocket.h similarity index 100% rename from cocos/scripting/javascript/bindings/jsb_websocket.h rename to cocos/scripting/javascript/bindings/network/jsb_websocket.h diff --git a/cocos/scripting/javascript/bindings/network/libJSBindingForNetwork.vcxproj b/cocos/scripting/javascript/bindings/network/libJSBindingForNetwork.vcxproj new file mode 100644 index 0000000000..e4ff3eed4b --- /dev/null +++ b/cocos/scripting/javascript/bindings/network/libJSBindingForNetwork.vcxproj @@ -0,0 +1,115 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + {3BEC13F5-E227-4D80-BC77-1C857F83BCFC} + Win32Proj + libJSBindingForNetwork + + + + StaticLibrary + true + Unicode + v100 + v110 + v110_xp + + + StaticLibrary + false + Unicode + v100 + v110 + v110_xp + + + + + + + + + + + + + + + $(SolutionDir)$(Configuration).win32\ + + + $(Configuration).win32\ + + + $(SolutionDir)$(Configuration).win32\ + + + $(Configuration).win32\ + + + + + + Level3 + Disabled + WIN32;_WINDOWS;_DEBUG;_LIB;DEBUG;COCOS2D_DEBUG=1;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\network;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\websockets\include\win32;%(AdditionalIncludeDirectories) + 4068;4101;4800;4251;4244;%(DisableSpecificWarnings) + true + false + + + Windows + true + + + if not exist "$(OutDir)" mkdir "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\..\external\sqlite3\libraries\win32\*.*" "$(OutDir)" + + + + + Level3 + + + MaxSpeed + true + true + WIN32;_WINDOWS;NDEBUG;_LIB;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\network;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\websockets\include\win32;%(AdditionalIncludeDirectories) + 4068;4101;4800;4251;4244;%(DisableSpecificWarnings) + true + + + Windows + true + true + true + + + + + + + + + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/network/libJSBindingForNetwork.vcxproj.filters b/cocos/scripting/javascript/bindings/network/libJSBindingForNetwork.vcxproj.filters new file mode 100644 index 0000000000..3fd3c5a5d1 --- /dev/null +++ b/cocos/scripting/javascript/bindings/network/libJSBindingForNetwork.vcxproj.filters @@ -0,0 +1,29 @@ + + + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + + + manual + + + manual + + + + + manual + + + manual + + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/network/libJSBindingForNetwork.vcxproj.user b/cocos/scripting/javascript/bindings/network/libJSBindingForNetwork.vcxproj.user new file mode 100644 index 0000000000..3f03091124 --- /dev/null +++ b/cocos/scripting/javascript/bindings/network/libJSBindingForNetwork.vcxproj.user @@ -0,0 +1,6 @@ + + + + false + + \ No newline at end of file diff --git a/cocos/scripting/javascript/bindings/proj.win32/libJSBinding.vcxproj b/cocos/scripting/javascript/bindings/proj.win32/libJSBinding.vcxproj index df73497bd8..11085f336c 100644 --- a/cocos/scripting/javascript/bindings/proj.win32/libJSBinding.vcxproj +++ b/cocos/scripting/javascript/bindings/proj.win32/libJSBinding.vcxproj @@ -12,68 +12,41 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + {39379840-825A-45A0-B363-C09FFEF864BD} @@ -102,9 +75,11 @@ + + @@ -126,7 +101,7 @@ Level3 Disabled WIN32;_WINDOWS;_DEBUG;_LIB;DEBUG;COCOS2D_DEBUG=1;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - $(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\pthread;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\audio\include;$(ProjectDir)..;$(ProjectDir)..\..\spidermonkey-win32\include;$(ProjectDir)..\..\..\auto-generated\js-bindings;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\external\libwebsockets\win32\include;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\extensions\LocalStorage;$(ProjectDir)..\..\..\..\extensions\network;%(AdditionalIncludeDirectories) + $(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\storage;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) 4068;4101;4800;4251;4244;%(DisableSpecificWarnings) true false @@ -137,7 +112,7 @@ if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\sqlite3\libraries\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\..\external\sqlite3\libraries\win32\*.*" "$(OutDir)" @@ -149,7 +124,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\sqlite3\libraries\win32\*.*" "$(O true true WIN32;_WINDOWS;NDEBUG;_LIB;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - $(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\pthread;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\audio\include;$(ProjectDir)..;$(ProjectDir)..\..\spidermonkey-win32\include;$(ProjectDir)..\..\..\auto-generated\js-bindings;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\external\libwebsockets\win32\include;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\extensions\LocalStorage;$(ProjectDir)..\..\..\..\extensions\network;%(AdditionalIncludeDirectories) + $(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\storage;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) 4068;4101;4800;4251;4244;%(DisableSpecificWarnings) true @@ -161,7 +136,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\sqlite3\libraries\win32\*.*" "$(O if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\sqlite3\libraries\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\..\external\sqlite3\libraries\win32\*.*" "$(OutDir)" diff --git a/cocos/scripting/javascript/bindings/proj.win32/libJSBinding.vcxproj.filters b/cocos/scripting/javascript/bindings/proj.win32/libJSBinding.vcxproj.filters index 4fdf5413d2..1d1e1d400a 100644 --- a/cocos/scripting/javascript/bindings/proj.win32/libJSBinding.vcxproj.filters +++ b/cocos/scripting/javascript/bindings/proj.win32/libJSBinding.vcxproj.filters @@ -20,21 +20,6 @@ manual - - manual - - - manual - - - manual - - - manual - - - manual - manual @@ -44,15 +29,6 @@ manual - - manual - - - manual - - - manual - manual @@ -65,18 +41,9 @@ manual - - manual - - - manual - generated - - generated - @@ -85,27 +52,6 @@ manual - - manual - - - manual - - - manual - - - manual - - - manual - - - manual - - - manual - manual @@ -121,18 +67,6 @@ manual - - manual - - - manual - - - manual - - - manual - manual @@ -145,55 +79,40 @@ manual - - manual - - - manual - manual generated - - generated - - - js - - - js - - - js - - - js - - - js - - - js - - - js - - - js - - - js - generated - - generated + + js + + + js + + + js + + + js + + + js + + + js + + + js + + + js \ No newline at end of file diff --git a/cocos/scripting/javascript/script/jsb_cocos2d.js b/cocos/scripting/javascript/script/jsb_cocos2d.js index 80ddb0a066..684eb386d9 100644 --- a/cocos/scripting/javascript/script/jsb_cocos2d.js +++ b/cocos/scripting/javascript/script/jsb_cocos2d.js @@ -4,6 +4,30 @@ var cc = cc || {}; +cc.RESOLUTION_POLICY = { + // The entire application is visible in the specified area without trying to preserve the original aspect ratio. + // Distortion can occur, and the application may appear stretched or compressed. +EXACT_FIT:0, + // The entire application fills the specified area, without distortion but possibly with some cropping, + // while maintaining the original aspect ratio of the application. +NO_BORDER:1, + // The entire application is visible in the specified area without distortion while maintaining the original + // aspect ratio of the application. Borders can appear on two sides of the application. +SHOW_ALL:2, + // The application takes the height of the design resolution size and modifies the width of the internal + // canvas so that it fits the aspect ratio of the device + // no distortion will occur however you must make sure your application works on different + // aspect ratios +FIXED_HEIGHT:3, + // The application takes the width of the design resolution size and modifies the height of the internal + // canvas so that it fits the aspect ratio of the device + // no distortion will occur however you must make sure your application works on different + // aspect ratios +FIXED_WIDTH:4, + +UNKNOWN:5 +}; + cc.LANGUAGE_ENGLISH = 0; cc.LANGUAGE_CHINESE = 1; cc.LANGUAGE_FRENCH = 2; diff --git a/cocos/scripting/lua/bindings/Makefile b/cocos/scripting/lua/bindings/Makefile index 1aaa6c897e..95145d5fbc 100644 --- a/cocos/scripting/lua/bindings/Makefile +++ b/cocos/scripting/lua/bindings/Makefile @@ -1,64 +1,72 @@ TARGET = liblua.so -INCLUDES += -I.. -I../lua -I../tolua -I../cocos2dx_support -I../../auto-generated/lua-bindings \ - -I../Classes -I../../../audio/include -I../../../extensions -I../../../external/chipmunk/include/chipmunk +INCLUDES += -I../../../../external/lua/tolua \ +-I../../../../external/lua/lua \ +-I../../auto-generated/lua-bindings \ +-I../../../../extensions \ +-I../../../editor-support \ +-I. \ +-I../../../editor-support/cocosbuilder \ +-I../../../editor-support/cocostudio \ +-I../../../../external \ +-I../../../ -SOURCES = ../lua/lapi.c \ - ../lua/lauxlib.c \ - ../lua/lbaselib.c \ - ../lua/lcode.c \ - ../lua/ldblib.c \ - ../lua/ldebug.c \ - ../lua/ldo.c \ - ../lua/ldump.c \ - ../lua/lfunc.c \ - ../lua/lgc.c \ - ../lua/linit.c \ - ../lua/liolib.c \ - ../lua/llex.c \ - ../lua/lmathlib.c \ - ../lua/lmem.c \ - ../lua/loadlib.c \ - ../lua/lobject.c \ - ../lua/lopcodes.c \ - ../lua/loslib.c \ - ../lua/lparser.c \ - ../lua/lstate.c \ - ../lua/lstring.c \ - ../lua/lstrlib.c \ - ../lua/ltable.c \ - ../lua/ltablib.c \ - ../lua/ltm.c \ - ../lua/lundump.c \ - ../lua/lvm.c \ - ../lua/lzio.c \ - ../lua/print.c \ - ../tolua/tolua_event.c \ - ../tolua/tolua_is.c \ - ../tolua/tolua_map.c \ - ../tolua/tolua_push.c \ - ../tolua/tolua_to.c \ - ../cocos2dx_support/tolua_fix.c \ +SOURCES = ../../../../external/lua/lua/lapi.c \ + ../../../../external/lua/lua/lauxlib.c \ + ../../../../external/lua/lua/lbaselib.c \ + ../../../../external/lua/lua/lcode.c \ + ../../../../external/lua/lua/ldblib.c \ + ../../../../external/lua/lua/ldebug.c \ + ../../../../external/lua/lua/ldo.c \ + ../../../../external/lua/lua/ldump.c \ + ../../../../external/lua/lua/lfunc.c \ + ../../../../external/lua/lua/lgc.c \ + ../../../../external/lua/lua/linit.c \ + ../../../../external/lua/lua/liolib.c \ + ../../../../external/lua/lua/llex.c \ + ../../../../external/lua/lua/lmathlib.c \ + ../../../../external/lua/lua/lmem.c \ + ../../../../external/lua/lua/loadlib.c \ + ../../../../external/lua/lua/lobject.c \ + ../../../../external/lua/lua/lopcodes.c \ + ../../../../external/lua/lua/loslib.c \ + ../../../../external/lua/lua/lparser.c \ + ../../../../external/lua/lua/lstate.c \ + ../../../../external/lua/lua/lstring.c \ + ../../../../external/lua/lua/lstrlib.c \ + ../../../../external/lua/lua/ltable.c \ + ../../../../external/lua/lua/ltablib.c \ + ../../../../external/lua/lua/ltm.c \ + ../../../../external/lua/lua/lundump.c \ + ../../../../external/lua/lua/lvm.c \ + ../../../../external/lua/lua/lzio.c \ + ../../../../external/lua/lua/print.c \ + ../../../../external/lua/tolua/tolua_event.c \ + ../../../../external/lua/tolua/tolua_is.c \ + ../../../../external/lua/tolua/tolua_map.c \ + ../../../../external/lua/tolua/tolua_push.c \ + ../../../../external/lua/tolua/tolua_to.c \ + tolua_fix.c \ ../../auto-generated/lua-bindings/lua_cocos2dx_auto.cpp \ ../../auto-generated/lua-bindings/lua_cocos2dx_extension_auto.cpp \ - ../cocos2dx_support/CCLuaBridge.cpp \ - ../cocos2dx_support/CCLuaEngine.cpp \ - ../cocos2dx_support/CCLuaStack.cpp \ - ../cocos2dx_support/CCLuaValue.cpp \ - ../cocos2dx_support/Cocos2dxLuaLoader.cpp \ - ../cocos2dx_support/CCBProxy.cpp \ - ../cocos2dx_support/LuaOpengl.cpp \ - ../cocos2dx_support/LuaScriptHandlerMgr.cpp \ - ../cocos2dx_support/LuaBasicConversions.cpp \ - ../cocos2dx_support/lua_cocos2dx_manual.cpp \ - ../cocos2dx_support/lua_cocos2dx_extension_manual.cpp \ - ../cocos2dx_support/lua_cocos2dx_deprecated.cpp + CCLuaBridge.cpp \ + CCLuaEngine.cpp \ + CCLuaStack.cpp \ + CCLuaValue.cpp \ + Cocos2dxLuaLoader.cpp \ + CCBProxy.cpp \ + LuaOpengl.cpp \ + LuaScriptHandlerMgr.cpp \ + LuaBasicConversions.cpp \ + lua_cocos2dx_manual.cpp \ + lua_cocos2dx_extension_manual.cpp \ + lua_cocos2dx_deprecated.cpp -include ../../../cocos2dx/proj.linux/cocos2dx.mk +include ../../../2d/cocos2dx.mk TARGET := $(LIB_DIR)/$(TARGET) -SHAREDLIBS += -lextension +SHAREDLIBS += -lextension -lcocostudio -lcocosbuilder STATICLIBS += $(LIB_DIR)/libbox2d.a all: $(TARGET) @@ -67,14 +75,18 @@ $(TARGET): $(OBJECTS) $(CORE_MAKEFILE_LIST) @mkdir -p $(@D) $(LOG_LINK)$(CXX) $(CXXFLAGS) $(OBJECTS) -shared -o $@ $(SHAREDLIBS) $(STATICLIBS) +$(OBJ_DIR)/%.o: %.cpp $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ + $(OBJ_DIR)/%.o: ../../%.cpp $(CORE_MAKEFILE_LIST) @mkdir -p $(@D) $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ -$(OBJ_DIR)/%.o: ../%.cpp $(CORE_MAKEFILE_LIST) - @mkdir -p $(@D) - $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ - -$(OBJ_DIR)/%.o: ../%.c $(CORE_MAKEFILE_LIST) +$(OBJ_DIR)/%.o: ../../../../%.c $(CORE_MAKEFILE_LIST) + @mkdir -p $(@D) + $(LOG_CC)$(CC) $(CCFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ + +$(OBJ_DIR)/%.o: %.c $(CORE_MAKEFILE_LIST) @mkdir -p $(@D) $(LOG_CC)$(CC) $(CCFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@ diff --git a/cocos/scripting/lua/bindings/liblua.vcxproj b/cocos/scripting/lua/bindings/liblua.vcxproj index 84026e44fd..ed1ef534ed 100644 --- a/cocos/scripting/lua/bindings/liblua.vcxproj +++ b/cocos/scripting/lua/bindings/liblua.vcxproj @@ -35,9 +35,11 @@ + + @@ -62,7 +64,7 @@ Disabled - $(ProjectDir)..\..\..\cocos2dx;$(ProjectDir)..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32\pthread;$(ProjectDir)..\..\..\audio\include;$(ProjectDir)..\..\..\extensions;$(ProjectDir)..\..\..\extensions\network;$(ProjectDir)..\..\..\external\libwebsockets\win32\include;$(ProjectDir)..\tolua;$(ProjectDir)..\luajit\include;$(ProjectDir)..\..\auto-generated\lua-bindings;$(ProjectDir)..\cocos2dx_support;$(ProjectDir)..\..\..\external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) + $(ProjectDir);$(ProjectDir)..\..\..;$(EngineRoot);$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\editor-support\cocostudio;$(EngineRoot)cocos\editor-support\cocosbuilder;$(EngineRoot)cocos\audio\include;$(EngineRoot)extensions;$(EngineRoot)extensions\network;$(EngineRoot)external;$(EngineRoot)external\libwebsockets\win32\include;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\lua\luajit\include;$(EngineRoot)cocos\scripting\auto-generated\lua-bindings;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;_DEBUG;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false EnableFastChecks @@ -87,14 +89,14 @@ if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\luajit\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\lua\luajit\prebuilt\win32\*.*" "$(OutDir)" MaxSpeed true - $(ProjectDir)..\..\..\cocos2dx;$(ProjectDir)..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32\pthread;$(ProjectDir)..\..\..\audio\include;$(ProjectDir)..\..\..\extensions;$(ProjectDir)..\..\..\extensions\network;$(ProjectDir)..\..\..\external\libwebsockets\win32\include;$(ProjectDir)..\tolua;$(ProjectDir)..\luajit\include;$(ProjectDir)..\..\auto-generated\lua-bindings;$(ProjectDir)..\cocos2dx_support;%(AdditionalIncludeDirectories) + $(ProjectDir);$(ProjectDir)..\..\..;$(EngineRoot);$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\editor-support\cocostudio;$(EngineRoot)cocos\editor-support\cocosbuilder;$(EngineRoot)cocos\audio\include;$(EngineRoot)extensions;$(EngineRoot)extensions\network;$(EngineRoot)external;$(EngineRoot)external\libwebsockets\win32\include;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\lua\luajit\include;$(EngineRoot)cocos\scripting\auto-generated\lua-bindings;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;LIBLUA_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) MultiThreadedDLL true @@ -118,55 +120,55 @@ xcopy /Y /Q "$(ProjectDir)..\luajit\win32\*.*" "$(OutDir)" if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\luajit\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\lua\luajit\prebuilt\win32\*.*" "$(OutDir)" + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/cocos/scripting/lua/bindings/liblua.vcxproj.filters b/cocos/scripting/lua/bindings/liblua.vcxproj.filters index a65b18d1ac..56f49872c4 100644 --- a/cocos/scripting/lua/bindings/liblua.vcxproj.filters +++ b/cocos/scripting/lua/bindings/liblua.vcxproj.filters @@ -18,135 +18,135 @@ - - tolua - - - tolua - - - tolua - - - tolua - - - tolua - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - cocos2dx_support\generated cocos2dx_support\generated - + + tolua + + + tolua + + + tolua + + + tolua + + + tolua + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + cocos2dx_support - - tolua - - - tolua - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - luajit\include - - - luajit\include - - - luajit\include - - - luajit\include - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - - - cocos2dx_support - cocos2dx_support\generated cocos2dx_support\generated - + + luajit\include + + + luajit\include + + + luajit\include + + + luajit\include + + + tolua + + + tolua + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + + cocos2dx_support + + cocos2dx_support diff --git a/cocos/storage/local-storage/proj.win32/libLocalStorage.vcxproj b/cocos/storage/local-storage/proj.win32/libLocalStorage.vcxproj new file mode 100644 index 0000000000..d79eb7ce1c --- /dev/null +++ b/cocos/storage/local-storage/proj.win32/libLocalStorage.vcxproj @@ -0,0 +1,93 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + {632A8F38-D0F0-4D22-86B3-D69F5E6BF63A} + libLocalStorage + + + + StaticLibrary + true + v110_xp + Unicode + + + StaticLibrary + false + v110_xp + true + Unicode + + + + + + + + + + + + + + + $(SolutionDir)$(Configuration).win32\ + $(Configuration).win32\ + + + $(SolutionDir)$(Configuration).win32\ + $(Configuration).win32\ + + + + Level3 + Disabled + + + $(EngineRoot)external\sqlite3\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + 4267;4251;4244;%(DisableSpecificWarnings) + false + + + true + + + + + Level3 + MaxSpeed + true + true + + + $(EngineRoot)external\sqlite3\include;%(AdditionalIncludeDirectories) + WIN32;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + + + true + true + true + + + + + + \ No newline at end of file diff --git a/cocos/storage/local-storage/proj.win32/libLocalStorage.vcxproj.filters b/cocos/storage/local-storage/proj.win32/libLocalStorage.vcxproj.filters new file mode 100644 index 0000000000..b23d606b74 --- /dev/null +++ b/cocos/storage/local-storage/proj.win32/libLocalStorage.vcxproj.filters @@ -0,0 +1,21 @@ + + + + + {0310200c-b520-4f77-85f6-46f568b10f4d} + + + {69cfa37c-4b20-409e-ad74-a26314878d8a} + + + + + Source Files + + + + + Header Files + + + \ No newline at end of file diff --git a/cocos/storage/local-storage/proj.win32/libLocalStorage.vcxproj.user b/cocos/storage/local-storage/proj.win32/libLocalStorage.vcxproj.user new file mode 100644 index 0000000000..a375ae3527 --- /dev/null +++ b/cocos/storage/local-storage/proj.win32/libLocalStorage.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/extensions/Android.mk b/extensions/Android.mk index 8f9bbe4f66..a5f4fd051f 100644 --- a/extensions/Android.mk +++ b/extensions/Android.mk @@ -6,36 +6,35 @@ LOCAL_MODULE := cocos_extension_static LOCAL_MODULE_FILENAME := libextension LOCAL_SRC_FILES := \ -$(LOCAL_PATH)/assets-manager/AssetsManager.cpp \ -$(LOCAL_PATH)/GUI/CCControlExtension/CCControl.cpp \ -$(LOCAL_PATH)/GUI/CCControlExtension/CCControlButton.cpp \ -$(LOCAL_PATH)/GUI/CCControlExtension/CCControlColourPicker.cpp \ -$(LOCAL_PATH)/GUI/CCControlExtension/CCControlHuePicker.cpp \ -$(LOCAL_PATH)/GUI/CCControlExtension/CCControlPotentiometer.cpp \ -$(LOCAL_PATH)/GUI/CCControlExtension/CCControlSaturationBrightnessPicker.cpp \ -$(LOCAL_PATH)/GUI/CCControlExtension/CCControlSlider.cpp \ -$(LOCAL_PATH)/GUI/CCControlExtension/CCControlStepper.cpp \ -$(LOCAL_PATH)/GUI/CCControlExtension/CCControlSwitch.cpp \ -$(LOCAL_PATH)/GUI/CCControlExtension/CCControlUtils.cpp \ -$(LOCAL_PATH)/GUI/CCControlExtension/CCInvocation.cpp \ -$(LOCAL_PATH)/GUI/CCControlExtension/CCScale9Sprite.cpp \ -$(LOCAL_PATH)/GUI/CCEditBox/CCEditBox.cpp \ -$(LOCAL_PATH)/GUI/CCEditBox/CCEditBoxImplAndroid.cpp \ -$(LOCAL_PATH)/GUI/CCEditBox/CCEditBoxImplNone.cpp \ -$(LOCAL_PATH)/GUI/CCEditBox/CCEditBoxImplTizen.cpp \ -$(LOCAL_PATH)/GUI/CCEditBox/CCEditBoxImplWin.cpp \ -$(LOCAL_PATH)/GUI/CCScrollView/CCScrollView.cpp \ -$(LOCAL_PATH)/GUI/CCScrollView/CCSorting.cpp \ -$(LOCAL_PATH)/GUI/CCScrollView/CCTableView.cpp \ -$(LOCAL_PATH)/GUI/CCScrollView/CCTableViewCell.cpp \ -$(LOCAL_PATH)/physics-nodes/CCPhysicsDebugNode.cpp \ -$(LOCAL_PATH)/physics-nodes/CCPhysicsSprite.cpp +assets-manager/AssetsManager.cpp \ +GUI/CCControlExtension/CCControl.cpp \ +GUI/CCControlExtension/CCControlButton.cpp \ +GUI/CCControlExtension/CCControlColourPicker.cpp \ +GUI/CCControlExtension/CCControlHuePicker.cpp \ +GUI/CCControlExtension/CCControlPotentiometer.cpp \ +GUI/CCControlExtension/CCControlSaturationBrightnessPicker.cpp \ +GUI/CCControlExtension/CCControlSlider.cpp \ +GUI/CCControlExtension/CCControlStepper.cpp \ +GUI/CCControlExtension/CCControlSwitch.cpp \ +GUI/CCControlExtension/CCControlUtils.cpp \ +GUI/CCControlExtension/CCInvocation.cpp \ +GUI/CCControlExtension/CCScale9Sprite.cpp \ +GUI/CCEditBox/CCEditBox.cpp \ +GUI/CCEditBox/CCEditBoxImplAndroid.cpp \ +GUI/CCEditBox/CCEditBoxImplNone.cpp \ +GUI/CCEditBox/CCEditBoxImplTizen.cpp \ +GUI/CCEditBox/CCEditBoxImplWin.cpp \ +GUI/CCScrollView/CCScrollView.cpp \ +GUI/CCScrollView/CCSorting.cpp \ +GUI/CCScrollView/CCTableView.cpp \ +GUI/CCScrollView/CCTableViewCell.cpp \ +physics-nodes/CCPhysicsDebugNode.cpp \ +physics-nodes/CCPhysicsSprite.cpp LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_curl_static LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static -LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static LOCAL_WHOLE_STATIC_LIBRARIES += libwebsockets_static LOCAL_CXXFLAGS += -fexceptions @@ -53,6 +52,7 @@ include $(BUILD_STATIC_LIBRARY) $(call import-module,2d) $(call import-module,audio/android) +$(call import-module,curl/prebuilt/android) $(call import-module,Box2D) -$(call import-module,chipmunk) $(call import-module,websockets/prebuilt/android) + diff --git a/extensions/proj.linux/Makefile b/extensions/proj.linux/Makefile index 6565ee9b94..fe07e988e5 100644 --- a/extensions/proj.linux/Makefile +++ b/extensions/proj.linux/Makefile @@ -1,146 +1,36 @@ TARGET = libextension.a -COCOS_ROOT=../.. +INCLUDES = -I.. -INCLUDES = -I$(COCOS_ROOT)/external \ - -I$(COCOS_ROOT)/external/chipmunk/include/chipmunk \ - -I$(COCOS_ROOT)/audio/include \ - -I.. \ - -I../CCBReader \ - -I../GUI/CCControlExtension \ - -I../GUI/CCEditBox \ - -I../network \ - -I../CocoStudio/Components \ - -I../CocoStudio/Armature +SOURCES = \ +assets-manager/AssetsManager.cpp \ +GUI/CCControlExtension/CCControl.cpp \ +GUI/CCControlExtension/CCControlButton.cpp \ +GUI/CCControlExtension/CCControlColourPicker.cpp \ +GUI/CCControlExtension/CCControlHuePicker.cpp \ +GUI/CCControlExtension/CCControlPotentiometer.cpp \ +GUI/CCControlExtension/CCControlSaturationBrightnessPicker.cpp \ +GUI/CCControlExtension/CCControlSlider.cpp \ +GUI/CCControlExtension/CCControlStepper.cpp \ +GUI/CCControlExtension/CCControlSwitch.cpp \ +GUI/CCControlExtension/CCControlUtils.cpp \ +GUI/CCControlExtension/CCInvocation.cpp \ +GUI/CCControlExtension/CCScale9Sprite.cpp \ +GUI/CCEditBox/CCEditBox.cpp \ +GUI/CCEditBox/CCEditBoxImplAndroid.cpp \ +GUI/CCEditBox/CCEditBoxImplNone.cpp \ +GUI/CCEditBox/CCEditBoxImplTizen.cpp \ +GUI/CCEditBox/CCEditBoxImplWin.cpp \ +GUI/CCScrollView/CCScrollView.cpp \ +GUI/CCScrollView/CCSorting.cpp \ +GUI/CCScrollView/CCTableView.cpp \ +GUI/CCScrollView/CCTableViewCell.cpp \ +physics-nodes/CCPhysicsDebugNode.cpp \ +physics-nodes/CCPhysicsSprite.cpp -SOURCES = ../CCBReader/CCBFileLoader.cpp \ -../CCBReader/CCMenuItemImageLoader.cpp \ -../CCBReader/CCBReader.cpp \ -../CCBReader/CCMenuItemLoader.cpp \ -../CCBReader/CCControlButtonLoader.cpp \ -../CCBReader/CCNodeLoader.cpp \ -../CCBReader/CCControlLoader.cpp \ -../CCBReader/CCNodeLoaderLibrary.cpp \ -../CCBReader/CCLabelBMFontLoader.cpp \ -../CCBReader/CCParticleSystemQuadLoader.cpp \ -../CCBReader/CCLabelTTFLoader.cpp \ -../CCBReader/CCScale9SpriteLoader.cpp \ -../CCBReader/CCLayerColorLoader.cpp \ -../CCBReader/CCScrollViewLoader.cpp \ -../CCBReader/CCLayerGradientLoader.cpp \ -../CCBReader/CCSpriteLoader.cpp \ -../CCBReader/CCLayerLoader.cpp \ -../CCBReader/CCBAnimationManager.cpp \ -../CCBReader/CCBKeyframe.cpp \ -../CCBReader/CCBSequence.cpp \ -../CCBReader/CCBSequenceProperty.cpp \ -../CCBReader/CCBValue.cpp \ -../CCBReader/CCNode+CCBRelativePositioning.cpp \ -../GUI/CCScrollView/CCScrollView.cpp \ -../GUI/CCScrollView/CCSorting.cpp \ -../GUI/CCScrollView/CCTableView.cpp \ -../GUI/CCScrollView/CCTableViewCell.cpp \ -../GUI/CCControlExtension/CCControlButton.cpp \ -../GUI/CCControlExtension/CCControlColourPicker.cpp \ -../GUI/CCControlExtension/CCControl.cpp \ -../GUI/CCControlExtension/CCControlHuePicker.cpp \ -../GUI/CCControlExtension/CCControlSaturationBrightnessPicker.cpp \ -../GUI/CCControlExtension/CCControlSlider.cpp \ -../GUI/CCControlExtension/CCControlSwitch.cpp \ -../GUI/CCControlExtension/CCControlUtils.cpp \ -../GUI/CCControlExtension/CCInvocation.cpp \ -../GUI/CCControlExtension/CCScale9Sprite.cpp \ -../GUI/CCControlExtension/CCControlPotentiometer.cpp \ -../GUI/CCControlExtension/CCControlStepper.cpp \ -../GUI/CCEditBox/CCEditBox.cpp \ -../GUI/CCEditBox/CCEditBoxImplNone.cpp \ -../network/HttpClient.cpp \ -../physics_nodes/CCPhysicsDebugNode.cpp \ -../physics_nodes/CCPhysicsSprite.cpp \ -../CocoStudio/Armature/CCArmature.cpp \ -../CocoStudio/Armature/CCBone.cpp \ -../CocoStudio/Armature/animation/CCArmatureAnimation.cpp \ -../CocoStudio/Armature/animation/CCProcessBase.cpp \ -../CocoStudio/Armature/animation/CCTween.cpp \ -../CocoStudio/Armature/datas/CCDatas.cpp \ -../CocoStudio/Armature/display/CCBatchNode.cpp \ -../CocoStudio/Armature/display/CCDecorativeDisplay.cpp \ -../CocoStudio/Armature/display/CCDisplayFactory.cpp \ -../CocoStudio/Armature/display/CCDisplayManager.cpp \ -../CocoStudio/Armature/display/CCSkin.cpp \ -../CocoStudio/Armature/physics/CCColliderDetector.cpp \ -../CocoStudio/Armature/utils/CCArmatureDefine.cpp \ -../CocoStudio/Armature/utils/CCArmatureDataManager.cpp \ -../CocoStudio/Armature/utils/CCDataReaderHelper.cpp \ -../CocoStudio/Armature/utils/CCSpriteFrameCacheHelper.cpp \ -../CocoStudio/Armature/utils/CCTransformHelp.cpp \ -../CocoStudio/Armature/utils/CCTweenFunction.cpp \ -../CocoStudio/Armature/utils/CCUtilMath.cpp \ -../CocoStudio/Components/CCComAttribute.cpp \ -../CocoStudio/Components/CCComAudio.cpp \ -../CocoStudio/Components/CCComController.cpp \ -../CocoStudio/Components/CCComRender.cpp \ -../CocoStudio/Components/CCInputDelegate.cpp \ -../CocoStudio/GUI/BaseClasses/UIRootWidget.cpp \ -../CocoStudio/GUI/BaseClasses/UIWidget.cpp \ -../CocoStudio/GUI/Layouts/Layout.cpp \ -../CocoStudio/GUI/Layouts/LayoutParameter.cpp \ -../CocoStudio/GUI/Layouts/UILayoutDefine.cpp \ -../CocoStudio/GUI/System/CocosGUI.cpp \ -../CocoStudio/GUI/System/UIHelper.cpp \ -../CocoStudio/GUI/System/UIInputManager.cpp \ -../CocoStudio/GUI/System/UILayer.cpp \ -../CocoStudio/GUI/UIWidgets/UIButton.cpp \ -../CocoStudio/GUI/UIWidgets/UICheckBox.cpp \ -../CocoStudio/GUI/UIWidgets/UIImageView.cpp \ -../CocoStudio/GUI/UIWidgets/UILabel.cpp \ -../CocoStudio/GUI/UIWidgets/UILabelAtlas.cpp \ -../CocoStudio/GUI/UIWidgets/UILabelBMFont.cpp \ -../CocoStudio/GUI/UIWidgets/UILoadingBar.cpp \ -../CocoStudio/GUI/UIWidgets/UISlider.cpp \ -../CocoStudio/GUI/UIWidgets/UITextField.cpp \ -../CocoStudio/GUI/UIWidgets/ScrollWidget/UIDragPanel.cpp \ -../CocoStudio/GUI/UIWidgets/ScrollWidget/UIListView.cpp \ -../CocoStudio/GUI/UIWidgets/ScrollWidget/UIPageView.cpp \ -../CocoStudio/GUI/UIWidgets/ScrollWidget/UIScrollView.cpp \ -../CocoStudio/Json/CSContentJsonDictionary.cpp \ -../CocoStudio/Json/DictionaryHelper.cpp \ -../CocoStudio/Json/lib_json/json_reader.cpp \ -../CocoStudio/Json/lib_json/json_value.cpp \ -../CocoStudio/Json/lib_json/json_writer.cpp \ -../CocoStudio/Reader/CCSGUIReader.cpp \ -../CocoStudio/Reader/CCSSceneReader.cpp \ -../CocoStudio/Action/CCActionFrame.cpp \ -../CocoStudio/Action/CCActionFrameEasing.cpp \ -../CocoStudio/Action/CCActionManagerEx.cpp \ -../CocoStudio/Action/CCActionNode.cpp \ -../CocoStudio/Action/CCActionObject.cpp \ -../spine/Animation.cpp \ -../spine/AnimationState.cpp \ -../spine/AnimationStateData.cpp \ -../spine/Atlas.cpp \ -../spine/AtlasAttachmentLoader.cpp \ -../spine/Attachment.cpp \ -../spine/AttachmentLoader.cpp \ -../spine/Bone.cpp \ -../spine/BoneData.cpp \ -../spine/Json.cpp \ -../spine/RegionAttachment.cpp \ -../spine/Skeleton.cpp \ -../spine/SkeletonData.cpp \ -../spine/SkeletonJson.cpp \ -../spine/Skin.cpp \ -../spine/Slot.cpp \ -../spine/SlotData.cpp \ -../spine/extension.cpp \ -../spine/spine-cocos2dx.cpp \ -../spine/CCSkeleton.cpp \ -../spine/CCSkeletonAnimation.cpp \ -../CCDeprecated-ext.cpp +include ../../cocos/2d/cocos2dx.mk -include $(COCOS_ROOT)/cocos2dx/proj.linux/cocos2dx.mk - -CXXFLAGS += -Wno-multichar +CXXFLAGS += -Wno-multichar -Wno-unused-result TARGET := $(LIB_DIR)/$(TARGET) diff --git a/extensions/proj.linux/extensions.prf b/extensions/proj.linux/extensions.prf deleted file mode 100644 index d399b91272..0000000000 --- a/extensions/proj.linux/extensions.prf +++ /dev/null @@ -1,20 +0,0 @@ -################################################################################ -# Do not include this file in your project: see cocos2dx.pri. -################################################################################ - -linux { - # We will compile extensions on demand using Makefile. - build_extension.name = Build extension static library - build_extension.input = $$PWD/Makefile - build_extension.output = $$CC_LIBRARY_DIR/libextension.a - build_extension.target = $$CC_LIBRARY_DIR/libextension.a - build_extension.CONFIG = no_link target_predeps - build_extension.commands = cd $$PWD && make $$CC_MAKE_FLAGS - - QMAKE_EXTRA_COMPILERS += build_extension - QMAKE_EXTRA_TARGETS += build_extension - - PRE_TARGETDEPS += $$CC_LIBRARY_DIR/libextension.a - LIBS += -Wl,-Bstatic -lextension -Wl,-Bdynamic -} - diff --git a/extensions/proj.win32/libExtensions.vcxproj b/extensions/proj.win32/libExtensions.vcxproj index e1c2ea14a1..7a3615643f 100644 --- a/extensions/proj.win32/libExtensions.vcxproj +++ b/extensions/proj.win32/libExtensions.vcxproj @@ -35,9 +35,11 @@ + + @@ -62,7 +64,7 @@ Disabled - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;$(ProjectDir)..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\external\sqlite3\include;$(ProjectDir)..\..\external;$(ProjectDir)..\..\external\libwebsockets\win32\include;$(ProjectDir)..\..\cocos2dx;$(ProjectDir)..\..\cocos2dx\include;$(ProjectDir)..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\cocos2dx\platform\third_party\win32\pthread;$(ProjectDir)..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\cocos2dx\platform\third_party\win32\zlib;$(ProjectDir)..\..\audio\include;..\;%(AdditionalIncludeDirectories) + $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;$(EngineRoot);$(EngineRoot)cocos\audio\include;$(EngineRoot)external;$(EngineRoot)external\unzip;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\curl\include\win32;$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\libwebsockets\win32\include;$(EngineRoot)external\win32-specific\zlib\include;..\;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;_DEBUG;_LIB;COCOS2D_DEBUG=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false EnableFastChecks @@ -79,7 +81,7 @@ MaxSpeed true - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;$(ProjectDir)..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\external\sqlite3\include;$(ProjectDir)..\..\external;$(ProjectDir)..\..\external\libwebsockets\win32\include;$(ProjectDir)..\..\cocos2dx;$(ProjectDir)..\..\cocos2dx\include;$(ProjectDir)..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\cocos2dx\platform\third_party\win32\pthread;$(ProjectDir)..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\cocos2dx\platform\third_party\win32\zlib;$(ProjectDir)..\..\audio\include;..\;%(AdditionalIncludeDirectories) + $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;$(EngineRoot);$(EngineRoot)cocos\audio\include;$(EngineRoot)external;$(EngineRoot)external\unzip;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\curl\include\win32;$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\libwebsockets\win32\include;$(EngineRoot)external\win32-specific\zlib\include;..\;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;NDEBUG;_LIB;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) MultiThreadedDLL true @@ -92,89 +94,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -193,130 +113,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -339,44 +141,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - diff --git a/extensions/proj.win32/libExtensions.vcxproj.filters b/extensions/proj.win32/libExtensions.vcxproj.filters index e6d6f2354c..d43ac6197c 100644 --- a/extensions/proj.win32/libExtensions.vcxproj.filters +++ b/extensions/proj.win32/libExtensions.vcxproj.filters @@ -1,9 +1,6 @@  - - {d37545ef-285b-4315-9fca-40da6fc2a6c9} - {202b519b-b5e0-499f-b3b8-ed5da144b248} @@ -16,83 +13,17 @@ {d5806151-7ae1-4fef-af5a-2fa1d1c7377b} - - {4da8061d-80f3-45fd-aa7e-2c0a96701b79} - {5d186e3d-0aaf-4904-a5d8-e5cb0f35f4cc} {49487dbe-5758-436a-b014-8e2edc6b33ae} - - {ff4b5934-99d4-4ea7-9f50-a774192d9ca9} - - - {2a7741ff-87a5-41c8-8e51-d7a1cf0c8e4d} - - - {87250d95-2afd-45e7-bc9d-760478c4e709} - - - {5258a1e1-5d50-4fee-9216-da08d2ec19de} - - - {cf3469d5-421b-4990-a9be-4cd95129fb73} - - - {f48d1291-33fe-49a1-8f9f-4d203e782d4a} - - - {043f8489-822e-43c8-8d9d-5d171a701663} - - - {b8c65820-b5c9-4bd6-83c8-180fdc6100fb} - - - {fa9a165e-cc7c-45e9-ae4f-cae3c2f16e6a} - - - {5e5b3d7d-62a7-493e-a130-ed72ee7c65f2} - - - {d797adcd-2e59-4486-944e-b3e7f3a954b8} - - - {a824cea6-86d7-4230-8738-513a869a1882} - - - {d305abea-33cc-4ae8-b78d-b5fb59927e59} - - - {9af947f9-84cd-4051-953e-67291da6528c} - - - {9713ac75-d9ba-494a-8dcf-03e30f8ee2b2} - - - {2d6f3e38-bb46-4bec-9ec1-73d90cefb3ba} - - - {7556b22b-b7ca-4f3b-938d-0f9c8047892c} - - - {f66c34f1-f75a-4f06-9788-c48972bc0ff2} - - - {1c44450b-d06e-4638-9f0c-1ff62e67ec84} - - - {bec3cdd7-e05b-42d3-97b1-86e26a528a2d} - GUI\CCScrollView - - network - GUI\CCScrollView @@ -102,75 +33,6 @@ GUI\CCScrollView - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - GUI\CCControlExtension @@ -207,15 +69,6 @@ GUI\CCControlExtension - - physics_nodes - - - physics_nodes - - - LocalStorage - GUI\CCEditBox @@ -225,324 +78,14 @@ GUI\CCEditBox - + AssetsManager - - spine + + physics_nodes - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - network - - - network - - - - CocoStudio\Components - - - CocoStudio\Components - - - CocoStudio\Components - - - CocoStudio\Components - - - CocoStudio\Armature\animation - - - CocoStudio\Armature\animation - - - CocoStudio\Armature\animation - - - CocoStudio\Armature\datas - - - CocoStudio\Armature\display - - - CocoStudio\Armature\display - - - CocoStudio\Armature\display - - - CocoStudio\Armature\display - - - CocoStudio\Armature\display - - - CocoStudio\Armature\physics - - - CocoStudio\Armature\utils - - - CocoStudio\Armature\utils - - - CocoStudio\Armature\utils - - - CocoStudio\Armature\utils - - - CocoStudio\Armature\utils - - - CocoStudio\Armature\utils - - - CocoStudio\Armature - - - CocoStudio\Armature - - - CocoStudio\Json - - - CocoStudio\Json - - - CocoStudio\Json\lib_json - - - CocoStudio\Json\lib_json - - - CocoStudio\Json\lib_json - - - CocoStudio\Reader - - - CocoStudio\Components - - - CocoStudio\Armature\utils - - - CocoStudio\GUI\UIWidgets\ScrollWidget - - - CocoStudio\GUI\UIWidgets\ScrollWidget - - - CocoStudio\GUI\UIWidgets\ScrollWidget - - - CocoStudio\GUI\UIWidgets\ScrollWidget - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\BaseClasses - - - CocoStudio\GUI\BaseClasses - - - CocoStudio\GUI\Layouts - - - CocoStudio\GUI\Layouts - - - CocoStudio\GUI\Layouts - - - CocoStudio\GUI\System - - - CocoStudio\GUI\System - - - CocoStudio\GUI\System - - - CocoStudio\GUI\System - - - CocoStudio\Reader - - - CocoStudio\GUI\UIWidgets\ScrollWidget - - - CocoStudio\GUI\UIWidgets\ScrollWidget - - - CocoStudio\GUI\UIWidgets\ScrollWidget - - - CocoStudio\GUI\UIWidgets\ScrollWidget - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\BaseClasses - - - CocoStudio\GUI\BaseClasses - - - CocoStudio\GUI\Layouts - - - CocoStudio\GUI\Layouts - - - CocoStudio\GUI\Layouts - - - CocoStudio\GUI\Layouts - - - CocoStudio\GUI\System - - - CocoStudio\GUI\System - - - CocoStudio\GUI\System - - - CocoStudio\GUI\System - - - CocoStudio\Reader - - - CocoStudio\Action - - - CocoStudio\Action - - - CocoStudio\Action - - - CocoStudio\Action - - - CocoStudio\Action + + physics_nodes @@ -551,15 +94,6 @@ - - network - - - network - - - network - GUI\CCScrollView @@ -569,87 +103,6 @@ GUI\CCScrollView - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - - - CCBReader - GUI\CCControlExtension @@ -689,15 +142,6 @@ GUI\CCControlExtension - - physics_nodes - - - physics_nodes - - - LocalStorage - GUI\CCEditBox @@ -710,292 +154,14 @@ GUI\CCEditBox - + AssetsManager - - spine + + physics_nodes - - spine + + physics_nodes - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - spine - - - network - - - network - - - CocoStudio\Components - - - CocoStudio\Components - - - CocoStudio\Components - - - CocoStudio\Components - - - CocoStudio\Armature\animation - - - CocoStudio\Armature\animation - - - CocoStudio\Armature\animation - - - CocoStudio\Armature\datas - - - CocoStudio\Armature\display - - - CocoStudio\Armature\display - - - CocoStudio\Armature\display - - - CocoStudio\Armature\display - - - CocoStudio\Armature\display - - - CocoStudio\Armature\physics - - - CocoStudio\Armature\utils - - - CocoStudio\Armature\utils - - - CocoStudio\Armature\utils - - - CocoStudio\Armature\utils - - - CocoStudio\Armature\utils - - - CocoStudio\Armature\utils - - - CocoStudio\Armature\utils - - - CocoStudio\Armature - - - CocoStudio\Armature - - - CocoStudio\Json - - - CocoStudio\Json - - - CocoStudio\Json\lib_json - - - CocoStudio\Json\lib_json - - - CocoStudio\Json\lib_json - - - CocoStudio\Json\lib_json - - - CocoStudio\Json\lib_json - - - CocoStudio\Json\lib_json - - - CocoStudio\Json\lib_json - - - CocoStudio\Json\lib_json - - - CocoStudio\Json\lib_json - - - CocoStudio\Json\lib_json - - - CocoStudio\Reader - - - CocoStudio\Components - - - CocoStudio\GUI\UIWidgets\ScrollWidget - - - CocoStudio\GUI\UIWidgets\ScrollWidget - - - CocoStudio\GUI\UIWidgets\ScrollWidget - - - CocoStudio\GUI\UIWidgets\ScrollWidget - - - CocoStudio\GUI\UIWidgets\ScrollWidget - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\UIWidgets - - - CocoStudio\GUI\BaseClasses - - - CocoStudio\GUI\BaseClasses - - - CocoStudio\GUI\Layouts - - - CocoStudio\GUI\Layouts - - - CocoStudio\GUI\Layouts - - - CocoStudio\GUI\System - - - CocoStudio\GUI\System - - - CocoStudio\GUI\System - - - CocoStudio\GUI\System - - - CocoStudio\Reader - - - CocoStudio\Action - - - CocoStudio\Action - - - CocoStudio\Action - - - CocoStudio\Action - - - CocoStudio\Action - - - - - CocoStudio\Json\lib_json - - - CocoStudio\Json\lib_json - - - CocoStudio\Json\lib_json - - - CocoStudio\Json\lib_json - \ No newline at end of file diff --git a/external/Box2D/Android.mk b/external/Box2D/Android.mk index 5172a998e7..c366750c01 100644 --- a/external/Box2D/Android.mk +++ b/external/Box2D/Android.mk @@ -7,51 +7,51 @@ LOCAL_MODULE := box2d_static LOCAL_MODULE_FILENAME := libbox2d LOCAL_SRC_FILES := \ -$(LOCAL_PATH)/Collision/b2BroadPhase.cpp \ -$(LOCAL_PATH)/Collision/b2CollideCircle.cpp \ -$(LOCAL_PATH)/Collision/b2CollideEdge.cpp \ -$(LOCAL_PATH)/Collision/b2CollidePolygon.cpp \ -$(LOCAL_PATH)/Collision/b2Collision.cpp \ -$(LOCAL_PATH)/Collision/b2Distance.cpp \ -$(LOCAL_PATH)/Collision/b2DynamicTree.cpp \ -$(LOCAL_PATH)/Collision/b2TimeOfImpact.cpp \ -$(LOCAL_PATH)/Collision/Shapes/b2ChainShape.cpp \ -$(LOCAL_PATH)/Collision/Shapes/b2CircleShape.cpp \ -$(LOCAL_PATH)/Collision/Shapes/b2EdgeShape.cpp \ -$(LOCAL_PATH)/Collision/Shapes/b2PolygonShape.cpp \ -$(LOCAL_PATH)/Common/b2BlockAllocator.cpp \ -$(LOCAL_PATH)/Common/b2Draw.cpp \ -$(LOCAL_PATH)/Common/b2Math.cpp \ -$(LOCAL_PATH)/Common/b2Settings.cpp \ -$(LOCAL_PATH)/Common/b2StackAllocator.cpp \ -$(LOCAL_PATH)/Common/b2Timer.cpp \ -$(LOCAL_PATH)/Dynamics/b2Body.cpp \ -$(LOCAL_PATH)/Dynamics/b2ContactManager.cpp \ -$(LOCAL_PATH)/Dynamics/b2Fixture.cpp \ -$(LOCAL_PATH)/Dynamics/b2Island.cpp \ -$(LOCAL_PATH)/Dynamics/b2World.cpp \ -$(LOCAL_PATH)/Dynamics/b2WorldCallbacks.cpp \ -$(LOCAL_PATH)/Dynamics/Contacts/b2ChainAndCircleContact.cpp \ -$(LOCAL_PATH)/Dynamics/Contacts/b2ChainAndPolygonContact.cpp \ -$(LOCAL_PATH)/Dynamics/Contacts/b2CircleContact.cpp \ -$(LOCAL_PATH)/Dynamics/Contacts/b2Contact.cpp \ -$(LOCAL_PATH)/Dynamics/Contacts/b2ContactSolver.cpp \ -$(LOCAL_PATH)/Dynamics/Contacts/b2EdgeAndCircleContact.cpp \ -$(LOCAL_PATH)/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp \ -$(LOCAL_PATH)/Dynamics/Contacts/b2PolygonAndCircleContact.cpp \ -$(LOCAL_PATH)/Dynamics/Contacts/b2PolygonContact.cpp \ -$(LOCAL_PATH)/Dynamics/Joints/b2DistanceJoint.cpp \ -$(LOCAL_PATH)/Dynamics/Joints/b2FrictionJoint.cpp \ -$(LOCAL_PATH)/Dynamics/Joints/b2GearJoint.cpp \ -$(LOCAL_PATH)/Dynamics/Joints/b2Joint.cpp \ -$(LOCAL_PATH)/Dynamics/Joints/b2MouseJoint.cpp \ -$(LOCAL_PATH)/Dynamics/Joints/b2PrismaticJoint.cpp \ -$(LOCAL_PATH)/Dynamics/Joints/b2PulleyJoint.cpp \ -$(LOCAL_PATH)/Dynamics/Joints/b2RevoluteJoint.cpp \ -$(LOCAL_PATH)/Dynamics/Joints/b2RopeJoint.cpp \ -$(LOCAL_PATH)/Dynamics/Joints/b2WeldJoint.cpp \ -$(LOCAL_PATH)/Dynamics/Joints/b2WheelJoint.cpp \ -$(LOCAL_PATH)/Rope/b2Rope.cpp +Collision/b2BroadPhase.cpp \ +Collision/b2CollideCircle.cpp \ +Collision/b2CollideEdge.cpp \ +Collision/b2CollidePolygon.cpp \ +Collision/b2Collision.cpp \ +Collision/b2Distance.cpp \ +Collision/b2DynamicTree.cpp \ +Collision/b2TimeOfImpact.cpp \ +Collision/Shapes/b2ChainShape.cpp \ +Collision/Shapes/b2CircleShape.cpp \ +Collision/Shapes/b2EdgeShape.cpp \ +Collision/Shapes/b2PolygonShape.cpp \ +Common/b2BlockAllocator.cpp \ +Common/b2Draw.cpp \ +Common/b2Math.cpp \ +Common/b2Settings.cpp \ +Common/b2StackAllocator.cpp \ +Common/b2Timer.cpp \ +Dynamics/b2Body.cpp \ +Dynamics/b2ContactManager.cpp \ +Dynamics/b2Fixture.cpp \ +Dynamics/b2Island.cpp \ +Dynamics/b2World.cpp \ +Dynamics/b2WorldCallbacks.cpp \ +Dynamics/Contacts/b2ChainAndCircleContact.cpp \ +Dynamics/Contacts/b2ChainAndPolygonContact.cpp \ +Dynamics/Contacts/b2CircleContact.cpp \ +Dynamics/Contacts/b2Contact.cpp \ +Dynamics/Contacts/b2ContactSolver.cpp \ +Dynamics/Contacts/b2EdgeAndCircleContact.cpp \ +Dynamics/Contacts/b2EdgeAndPolygonContact.cpp \ +Dynamics/Contacts/b2PolygonAndCircleContact.cpp \ +Dynamics/Contacts/b2PolygonContact.cpp \ +Dynamics/Joints/b2DistanceJoint.cpp \ +Dynamics/Joints/b2FrictionJoint.cpp \ +Dynamics/Joints/b2GearJoint.cpp \ +Dynamics/Joints/b2Joint.cpp \ +Dynamics/Joints/b2MouseJoint.cpp \ +Dynamics/Joints/b2PrismaticJoint.cpp \ +Dynamics/Joints/b2PulleyJoint.cpp \ +Dynamics/Joints/b2RevoluteJoint.cpp \ +Dynamics/Joints/b2RopeJoint.cpp \ +Dynamics/Joints/b2WeldJoint.cpp \ +Dynamics/Joints/b2WheelJoint.cpp \ +Rope/b2Rope.cpp LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. diff --git a/external/Box2D/proj.linux/Makefile b/external/Box2D/proj.linux/Makefile index e430bc9883..b43814ccef 100644 --- a/external/Box2D/proj.linux/Makefile +++ b/external/Box2D/proj.linux/Makefile @@ -46,7 +46,7 @@ SOURCES = ../Collision/Shapes/b2ChainShape.cpp \ ../Dynamics/b2WorldCallbacks.cpp \ ../Rope/b2Rope.cpp -include ../../../cocos2dx/proj.linux/cocos2dx.mk +include ../../../cocos/2d/cocos2dx.mk INCLUDES = -I../.. diff --git a/external/chipmunk/Android.mk b/external/chipmunk/Android.mk index e8013df8c3..e8441cd0d7 100644 --- a/external/chipmunk/Android.mk +++ b/external/chipmunk/Android.mk @@ -7,35 +7,35 @@ LOCAL_MODULE := chipmunk_static LOCAL_MODULE_FILENAME := libchipmunk LOCAL_SRC_FILES := \ -$(LOCAL_PATH)/src/chipmunk.c \ -$(LOCAL_PATH)/src/cpArbiter.c \ -$(LOCAL_PATH)/src/cpArray.c \ -$(LOCAL_PATH)/src/cpBB.c \ -$(LOCAL_PATH)/src/cpBBTree.c \ -$(LOCAL_PATH)/src/cpBody.c \ -$(LOCAL_PATH)/src/cpCollision.c \ -$(LOCAL_PATH)/src/cpHashSet.c \ -$(LOCAL_PATH)/src/cpPolyShape.c \ -$(LOCAL_PATH)/src/cpShape.c \ -$(LOCAL_PATH)/src/cpSpace.c \ -$(LOCAL_PATH)/src/cpSpaceComponent.c \ -$(LOCAL_PATH)/src/cpSpaceHash.c \ -$(LOCAL_PATH)/src/cpSpaceQuery.c \ -$(LOCAL_PATH)/src/cpSpaceStep.c \ -$(LOCAL_PATH)/src/cpSpatialIndex.c \ -$(LOCAL_PATH)/src/cpSweep1D.c \ -$(LOCAL_PATH)/src/cpVect.c \ -$(LOCAL_PATH)/src/constraints/cpConstraint.c \ -$(LOCAL_PATH)/src/constraints/cpDampedRotarySpring.c \ -$(LOCAL_PATH)/src/constraints/cpDampedSpring.c \ -$(LOCAL_PATH)/src/constraints/cpGearJoint.c \ -$(LOCAL_PATH)/src/constraints/cpGrooveJoint.c \ -$(LOCAL_PATH)/src/constraints/cpPinJoint.c \ -$(LOCAL_PATH)/src/constraints/cpPivotJoint.c \ -$(LOCAL_PATH)/src/constraints/cpRatchetJoint.c \ -$(LOCAL_PATH)/src/constraints/cpRotaryLimitJoint.c \ -$(LOCAL_PATH)/src/constraints/cpSimpleMotor.c \ -$(LOCAL_PATH)/src/constraints/cpSlideJoint.c +src/chipmunk.c \ +src/cpArbiter.c \ +src/cpArray.c \ +src/cpBB.c \ +src/cpBBTree.c \ +src/cpBody.c \ +src/cpCollision.c \ +src/cpHashSet.c \ +src/cpPolyShape.c \ +src/cpShape.c \ +src/cpSpace.c \ +src/cpSpaceComponent.c \ +src/cpSpaceHash.c \ +src/cpSpaceQuery.c \ +src/cpSpaceStep.c \ +src/cpSpatialIndex.c \ +src/cpSweep1D.c \ +src/cpVect.c \ +src/constraints/cpConstraint.c \ +src/constraints/cpDampedRotarySpring.c \ +src/constraints/cpDampedSpring.c \ +src/constraints/cpGearJoint.c \ +src/constraints/cpGrooveJoint.c \ +src/constraints/cpPinJoint.c \ +src/constraints/cpPivotJoint.c \ +src/constraints/cpRatchetJoint.c \ +src/constraints/cpRotaryLimitJoint.c \ +src/constraints/cpSimpleMotor.c \ +src/constraints/cpSlideJoint.c LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include/chipmunk diff --git a/external/chipmunk/proj.linux/Makefile b/external/chipmunk/proj.linux/Makefile index b0e5d1f572..a2cb985b7c 100644 --- a/external/chipmunk/proj.linux/Makefile +++ b/external/chipmunk/proj.linux/Makefile @@ -28,7 +28,7 @@ SOURCES = ../src/chipmunk.c \ ../src/constraints/cpSlideJoint.c \ ../src/constraints/cpPinJoint.c \ -include ../../../cocos2dx/proj.linux/cocos2dx.mk +include ../../../cocos/2d/cocos2dx.mk TARGET = $(LIB_DIR)/libchipmunk.a INCLUDES = -I../include/chipmunk diff --git a/external/png/prebuilt/android/Android.mk b/external/png/prebuilt/android/Android.mk index 41a0f91322..457f97c57f 100644 --- a/external/png/prebuilt/android/Android.mk +++ b/external/png/prebuilt/android/Android.mk @@ -1,7 +1,7 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE := cocos_libpng_static +LOCAL_MODULE := cocos_png_static LOCAL_MODULE_FILENAME := png LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libpng.a LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../include/android diff --git a/external/tiff/prebuilt/android/Android.mk b/external/tiff/prebuilt/android/Android.mk index 40af980160..417eeda4ad 100644 --- a/external/tiff/prebuilt/android/Android.mk +++ b/external/tiff/prebuilt/android/Android.mk @@ -1,7 +1,7 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE := cocos_libtiff_static +LOCAL_MODULE := cocos_tiff_static LOCAL_MODULE_FILENAME := tiff LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libtiff.a LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../include/android diff --git a/external/webp/prebuilt/android/Android.mk b/external/webp/prebuilt/android/Android.mk index e102ac2511..1bd16f8c45 100644 --- a/external/webp/prebuilt/android/Android.mk +++ b/external/webp/prebuilt/android/Android.mk @@ -1,7 +1,7 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE := cocos_libwebp_static +LOCAL_MODULE := cocos_webp_static LOCAL_MODULE_FILENAME := webp LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libwebp.a LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../include/android diff --git a/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.cpp b/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.cpp index 8dadda36ac..31808c17b0 100644 --- a/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.cpp +++ b/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.cpp @@ -45,6 +45,7 @@ bool AppDelegate::applicationDidFinishLaunching() sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_cocos2dx_js_extensions); + sc->start(); auto scene = Scene::create(); diff --git a/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.h b/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.h index 7fcf54741d..2a0dae6d7b 100644 --- a/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.h +++ b/samples/Cpp/AssetsManagerTest/Classes/AppDelegate.h @@ -11,7 +11,7 @@ #include "CCApplication.h" #include "cocos2d.h" -#include "AssetsManager/AssetsManager.h" +#include "extensions/assets-manager/AssetsManager.h" /** @brief The cocos2d Application. diff --git a/samples/Cpp/AssetsManagerTest/proj.android/build_native.cmd b/samples/Cpp/AssetsManagerTest/proj.android/build_native.cmd index 253059b2f8..d397bbc901 100644 --- a/samples/Cpp/AssetsManagerTest/proj.android/build_native.cmd +++ b/samples/Cpp/AssetsManagerTest/proj.android/build_native.cmd @@ -54,7 +54,7 @@ exit /b 1 set COCOS2DX_ROOT=%~dp0..\..\..\.. set APP_ROOT=%~dp0.. set APP_ANDROID_ROOT=%~dp0 -set BINDINGS_JS_ROOT=%APP_ROOT%\..\..\scripting\javascript\bindings\js +set BINDINGS_JS_ROOT=%COCOS2DX_ROOT%\cocos\scripting\javascript\script if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) :MODULE1 @@ -63,7 +63,7 @@ if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) goto :COPY_RES :MODULE2 echo "Using prebuilt externals" - set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt + set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos;%COCOS2DX_ROOT%\external :COPY_RES echo NDK_ROOT = %NDK_ROOT% @@ -76,7 +76,6 @@ rem make sure assets is exist if exist %APP_ANDROID_ROOT%\assets rd /q /s %APP_ANDROID_ROOT%\assets mkdir %APP_ANDROID_ROOT%\assets -mkdir %APP_ANDROID_ROOT%\assets\res rem copy Resources/* into assets' root xcopy /e /q /r /y %APP_ROOT%\Resources\* %APP_ANDROID_ROOT%\assets @@ -84,5 +83,5 @@ xcopy /e /q /r /y %APP_ROOT%\Resources\* %APP_ANDROID_ROOT%\assets rem copy bindings/*.js into assets' root xcopy /e /q /r /y %BINDINGS_JS_ROOT%\* %APP_ANDROID_ROOT%\assets -call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 +call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 %* pause \ No newline at end of file diff --git a/samples/Cpp/AssetsManagerTest/proj.android/build_native.sh b/samples/Cpp/AssetsManagerTest/proj.android/build_native.sh index cfc39f5472..30549e8869 100755 --- a/samples/Cpp/AssetsManagerTest/proj.android/build_native.sh +++ b/samples/Cpp/AssetsManagerTest/proj.android/build_native.sh @@ -68,7 +68,7 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" COCOS2DX_ROOT="$DIR/../../../.." APP_ROOT="$DIR/.." APP_ANDROID_ROOT="$DIR" -BINDINGS_JS_ROOT="$APP_ROOT/../../../scripting/javascript/bindings/js" +BINDINGS_JS_ROOT="$APP_ROOT/../../../cocos/scripting/javascript/script" echo "NDK_ROOT = $NDK_ROOT" echo "COCOS2DX_ROOT = $COCOS2DX_ROOT" @@ -119,5 +119,5 @@ if [[ "$buildexternalsfromsource" ]]; then else echo "Using prebuilt externals" "$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \ - "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt" + "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos:${COCOS2DX_ROOT}/external" fi diff --git a/samples/Cpp/AssetsManagerTest/proj.android/jni/Android.mk b/samples/Cpp/AssetsManagerTest/proj.android/jni/Android.mk index 42c47b9f80..78d938432f 100644 --- a/samples/Cpp/AssetsManagerTest/proj.android/jni/Android.mk +++ b/samples/Cpp/AssetsManagerTest/proj.android/jni/Android.mk @@ -11,18 +11,10 @@ LOCAL_SRC_FILES := hellocpp/main.cpp \ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes -LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static -LOCAL_WHOLE_STATIC_LIBRARIES += spidermonkey_static -LOCAL_WHOLE_STATIC_LIBRARIES += scriptingcore-spidermonkey -LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dxandroid_static +LOCAL_WHOLE_STATIC_LIBRARIES := cocos_jsb_static LOCAL_EXPORT_CFLAGS := -DCOCOS2D_DEBUG=2 -DCOCOS2D_JAVASCRIPT include $(BUILD_SHARED_LIBRARY) -$(call import-module,cocos2dx) -$(call import-module,audio/android) -$(call import-module,scripting/javascript/spidermonkey-android) $(call import-module,scripting/javascript/bindings) -$(call import-module,cocos2dx/platform/android) diff --git a/samples/Cpp/AssetsManagerTest/proj.android/project.properties b/samples/Cpp/AssetsManagerTest/proj.android/project.properties index 5c08afb38c..f7e62936d0 100644 --- a/samples/Cpp/AssetsManagerTest/proj.android/project.properties +++ b/samples/Cpp/AssetsManagerTest/proj.android/project.properties @@ -11,5 +11,5 @@ #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt # Project target. -target=android-13 -android.library.reference.1=../../../../cocos2dx/platform/android/java +target=android-10 +android.library.reference.1=../../../../cocos/2d/platform/android/java diff --git a/samples/Cpp/AssetsManagerTest/proj.win32/AssetsManagerTest.vcxproj b/samples/Cpp/AssetsManagerTest/proj.win32/AssetsManagerTest.vcxproj index 9fdc714c49..b46bf264ae 100644 --- a/samples/Cpp/AssetsManagerTest/proj.win32/AssetsManagerTest.vcxproj +++ b/samples/Cpp/AssetsManagerTest/proj.win32/AssetsManagerTest.vcxproj @@ -34,11 +34,13 @@ - + + - + + @@ -77,7 +79,7 @@ Disabled - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\include;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\scripting\auto-generated\js-bindings;$(ProjectDir)..\..\..\..\scripting\javascript\bindings;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\pthread;$(ProjectDir)..\..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot);$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;$(EngineRoot)cocos\scripting\javascript\bindings;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)cocos\audio\include;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;DEBUG;_DEBUG;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_DEBUG=1;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false EnableFastChecks @@ -96,11 +98,11 @@ if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\spidermonkey\prebuilt\win32\*.*" "$(OutDir)" - libcocos2d.lib;libExtensions.lib;libCocosDenshion.lib;libchipmunk.lib;libJSBinding.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;libcurl_imp.lib;%(AdditionalDependencies) + mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;libcurl_imp.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) true Windows @@ -110,7 +112,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\li if not exist "$(OutDir)" mkdir "$(OutDir)" if exist "$(OutDir)\AssetsManagerTestRes" rd /s /q "$(OutDir)\AssetsManagerTestRes" mkdir "$(OutDir)\AssetsManagerTestRes" -xcopy "$(ProjectDir)..\..\..\..\scripting\javascript\bindings\js\*.js" "$(OutDir)\AssetsManagerTestRes\" /e /Y +xcopy "$(ProjectDir)..\..\..\..\cocos\scripting\javascript\script\*.js" "$(OutDir)\AssetsManagerTestRes\" /e /Y xcopy "$(ProjectDir)..\Resources" "$(OutDir)\AssetsManagerTestRes\" /e /Y @@ -131,7 +133,7 @@ xcopy "$(ProjectDir)..\Resources" "$(OutDir)\AssetsManagerTestRes\" /e /Yres_p.c - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\include;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\scripting\auto-generated\js-bindings;$(ProjectDir)..\..\..\..\scripting\javascript\bindings;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\pthread;$(ProjectDir)..\..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot);$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;$(EngineRoot)cocos\scripting\javascript\bindings;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)cocos\audio\include;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;NDEBUG;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) @@ -151,20 +153,21 @@ xcopy "$(ProjectDir)..\Resources" "$(OutDir)\AssetsManagerTestRes\" /e /Y if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(EngineRoot)external\spidermonkey\prebuilt\win32\*.*" "$(OutDir)" - libcocos2d.lib;libExtensions.lib;libCocosDenshion.lib;libchipmunk.lib;libJSBinding.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;libcurl_imp.lib;%(AdditionalDependencies) + mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;libcurl_imp.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) Windows MachineX86 + true if not exist "$(OutDir)" mkdir "$(OutDir)" if exist "$(OutDir)\AssetsManagerTestRes" rd /s /q "$(OutDir)\AssetsManagerTestRes" mkdir "$(OutDir)\AssetsManagerTestRes" -xcopy "$(ProjectDir)..\..\..\..\scripting\javascript\bindings\js\*.js" "$(OutDir)\AssetsManagerTestRes\" /e /Y +xcopy "$(ProjectDir)..\..\..\..\cocos\scripting\javascript\script\*.js" "$(OutDir)\AssetsManagerTestRes\" /e /Y xcopy "$(ProjectDir)..\Resources" "$(OutDir)\AssetsManagerTestRes\" /e /Y Copy js and resource files. @@ -185,13 +188,27 @@ xcopy "$(ProjectDir)..\Resources" "$(OutDir)\AssetsManagerTestRes\" /e /Y - + {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} false - + {f8edd7fa-9a51-4e80-baeb-860825d2eac6} - false + + + {625f7391-9a91-48a1-8cfc-79508c822637} + + + {39379840-825a-45a0-b363-c09ffef864bd} + + + {632a8f38-d0f0-4d22-86b3-d69f5e6bf63a} + + + {21b2c324-891f-48ea-ad1a-5ae13de12e28} + + + {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} diff --git a/samples/Cpp/HelloCpp/proj.android/build_native.cmd b/samples/Cpp/HelloCpp/proj.android/build_native.cmd index 041749c380..f18ac5f170 100644 --- a/samples/Cpp/HelloCpp/proj.android/build_native.cmd +++ b/samples/Cpp/HelloCpp/proj.android/build_native.cmd @@ -62,7 +62,7 @@ if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) goto :COPY_RES :MODULE2 echo "Using prebuilt externals" - set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt + set NDK_MODULE_PATH=%COCOS2DX_ROOT%\external;%COCOS2DX_ROOT%\cocos :COPY_RES echo NDK_ROOT = %NDK_ROOT% @@ -75,10 +75,9 @@ rem make sure assets is exist if exist %APP_ANDROID_ROOT%\assets rd /q /s %APP_ANDROID_ROOT%\assets mkdir %APP_ANDROID_ROOT%\assets -mkdir %APP_ANDROID_ROOT%\assets\res rem copy Resources/* into assets' root xcopy /e /q /r /y %APP_ROOT%\Resources\* %APP_ANDROID_ROOT%\assets -call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 +call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 %* pause \ No newline at end of file diff --git a/samples/Cpp/HelloCpp/proj.android/project.properties b/samples/Cpp/HelloCpp/proj.android/project.properties index 088495876a..0a6dc6664d 100644 --- a/samples/Cpp/HelloCpp/proj.android/project.properties +++ b/samples/Cpp/HelloCpp/proj.android/project.properties @@ -8,7 +8,6 @@ # project structure. # Project target. -target=android-13 +target=android-10 -android.library.reference.1=../../../../cocos2dx/platform/android/java -android.library=false +android.library.reference.1=../../../../cocos/2d/platform/android/java diff --git a/samples/Cpp/HelloCpp/proj.linux/Makefile b/samples/Cpp/HelloCpp/proj.linux/Makefile index 178fa06a86..0548290a52 100644 --- a/samples/Cpp/HelloCpp/proj.linux/Makefile +++ b/samples/Cpp/HelloCpp/proj.linux/Makefile @@ -7,7 +7,7 @@ SOURCES = main.cpp \ ../Classes/HelloWorldScene.cpp COCOS_ROOT = ../../../.. -include $(COCOS_ROOT)/cocos2dx/proj.linux/cocos2dx.mk +include $(COCOS_ROOT)/cocos/2d/cocos2dx.mk SHAREDLIBS += -lcocos2d COCOS_LIBS = $(LIB_DIR)/libcocos2d.so diff --git a/samples/Cpp/HelloCpp/proj.win32/HelloCpp.vcxproj b/samples/Cpp/HelloCpp/proj.win32/HelloCpp.vcxproj index 1f00dbf6ea..6da099a164 100644 --- a/samples/Cpp/HelloCpp/proj.win32/HelloCpp.vcxproj +++ b/samples/Cpp/HelloCpp/proj.win32/HelloCpp.vcxproj @@ -36,11 +36,12 @@ - + + - - - + + + @@ -67,7 +68,7 @@ Disabled - $(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;..\Classes;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) + ..\Classes;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_WINDOWS;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true EnableFastChecks @@ -95,7 +96,7 @@ MaxSpeed true - $(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;..\Classes;%(AdditionalIncludeDirectories) + ..\Classes;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) MultiThreadedDLL true @@ -132,13 +133,12 @@ - + {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} false - - {f8edd7fa-9a51-4e80-baeb-860825d2eac6} - false + + {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} diff --git a/samples/Cpp/SimpleGame/proj.android/build_native.cmd b/samples/Cpp/SimpleGame/proj.android/build_native.cmd index cb8929af5b..437e55298f 100644 --- a/samples/Cpp/SimpleGame/proj.android/build_native.cmd +++ b/samples/Cpp/SimpleGame/proj.android/build_native.cmd @@ -62,7 +62,7 @@ if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) goto :COPY_RES :MODULE2 echo "Using prebuilt externals" - set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt + set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos;%COCOS2DX_ROOT%\external :COPY_RES echo NDK_ROOT = %NDK_ROOT% @@ -75,10 +75,9 @@ rem make sure assets is exist if exist %APP_ANDROID_ROOT%\assets rd /q /s %APP_ANDROID_ROOT%\assets mkdir %APP_ANDROID_ROOT%\assets -mkdir %APP_ANDROID_ROOT%\assets\res rem copy Resources/* into assets' root xcopy /e /q /r /y %APP_ROOT%\Resources\* %APP_ANDROID_ROOT%\assets -call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 +call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 %* pause \ No newline at end of file diff --git a/samples/Cpp/SimpleGame/proj.android/build_native.sh b/samples/Cpp/SimpleGame/proj.android/build_native.sh index 1383ae1490..8f09b2bb6b 100755 --- a/samples/Cpp/SimpleGame/proj.android/build_native.sh +++ b/samples/Cpp/SimpleGame/proj.android/build_native.sh @@ -104,4 +104,4 @@ fi echo "Building in debug" "$NDK_ROOT"/ndk-build NDK_DEBUG=1 -C "$APP_ANDROID_ROOT" \ - "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt" + "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos:${COCOS2DX_ROOT}/external" diff --git a/samples/Cpp/SimpleGame/proj.android/jni/Android.mk b/samples/Cpp/SimpleGame/proj.android/jni/Android.mk index d0fd9a4eb2..cdc6ac3234 100644 --- a/samples/Cpp/SimpleGame/proj.android/jni/Android.mk +++ b/samples/Cpp/SimpleGame/proj.android/jni/Android.mk @@ -13,11 +13,9 @@ LOCAL_SRC_FILES := hellocpp/main.cpp \ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes -LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocos2dxandroid_static cocosdenshion_static +LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static include $(BUILD_SHARED_LIBRARY) $(call import-module,audio/android) -$(call import-module,cocos2dx) -$(call import-module,extensions) -$(call import-module,cocos2dx/platform/android) +$(call import-module,2d) diff --git a/samples/Cpp/SimpleGame/proj.android/project.properties b/samples/Cpp/SimpleGame/proj.android/project.properties index 5c08afb38c..f7e62936d0 100644 --- a/samples/Cpp/SimpleGame/proj.android/project.properties +++ b/samples/Cpp/SimpleGame/proj.android/project.properties @@ -11,5 +11,5 @@ #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt # Project target. -target=android-13 -android.library.reference.1=../../../../cocos2dx/platform/android/java +target=android-10 +android.library.reference.1=../../../../cocos/2d/platform/android/java diff --git a/samples/Cpp/SimpleGame/proj.linux/Makefile b/samples/Cpp/SimpleGame/proj.linux/Makefile index 61485ebb7f..9204555b28 100644 --- a/samples/Cpp/SimpleGame/proj.linux/Makefile +++ b/samples/Cpp/SimpleGame/proj.linux/Makefile @@ -8,11 +8,10 @@ SOURCES = main.cpp \ ../Classes/GameOverScene.cpp COCOS_ROOT = ../../../.. -include $(COCOS_ROOT)/cocos2dx/proj.linux/cocos2dx.mk +include $(COCOS_ROOT)/cocos/2d/cocos2dx.mk SHAREDLIBS += -lcocos2d -lcocosdenshion -COCOS_LIBS = $(LIB_DIR)/libcocos2d.so $(LIB_DIR)/libcocosdenshion.so -INCLUDES += -I$(COCOS_ROOT)/audio/include +INCLUDES += -I$(COCOS_ROOT)/cocos/audio/include $(TARGET): $(OBJECTS) $(STATICLIBS) $(COCOS_LIBS) $(CORE_MAKEFILE_LIST) @mkdir -p $(@D) diff --git a/samples/Cpp/SimpleGame/proj.win32/SimpleGame.vcxproj b/samples/Cpp/SimpleGame/proj.win32/SimpleGame.vcxproj new file mode 100644 index 0000000000..cb3c74751e --- /dev/null +++ b/samples/Cpp/SimpleGame/proj.win32/SimpleGame.vcxproj @@ -0,0 +1,151 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {E0E282F4-8487-452C-BFAB-CB960EB4D22F} + SimpleGame + Win32Proj + + + + Application + Unicode + true + v100 + v110 + v110_xp + + + Application + Unicode + v100 + v110 + v110_xp + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + $(SolutionDir)$(Configuration).win32\ + $(Configuration).win32\ + true + $(SolutionDir)$(Configuration).win32\ + $(Configuration).win32\ + false + AllRules.ruleset + + + AllRules.ruleset + + + + + $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\lib;$(LibraryPath) + + + $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\lib;$(LibraryPath) + + + + Disabled + ..\Classes;$(EngineRoot)cocos\audio\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + EditAndContinue + 4267;4251;4244;%(DisableSpecificWarnings) + + + $(OutDir)$(ProjectName).exe + $(OutDir);%(AdditionalLibraryDirectories) + true + Windows + MachineX86 + libcocos2d.lib;libchipmunk.lib;%(AdditionalDependencies) + + + + + + + + + MaxSpeed + true + ..\Classes;$(EngineRoot)cocos\audio\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreadedDLL + true + + + Level3 + ProgramDatabase + 4267;4251;4244;%(DisableSpecificWarnings) + + + libcocos2d.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + $(OutDir);%(AdditionalLibraryDirectories) + true + Windows + true + true + MachineX86 + + + + + + + + + + + + + + + + + + + + + {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} + false + + + {f8edd7fa-9a51-4e80-baeb-860825d2eac6} + + + {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} + + + + + + \ No newline at end of file diff --git a/samples/Cpp/SimpleGame/proj.win32/SimpleGame.vcxproj.filters b/samples/Cpp/SimpleGame/proj.win32/SimpleGame.vcxproj.filters new file mode 100644 index 0000000000..cf39562aaa --- /dev/null +++ b/samples/Cpp/SimpleGame/proj.win32/SimpleGame.vcxproj.filters @@ -0,0 +1,41 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + + + Classes + + + Classes + + + win32 + + + Classes + + + + + Classes + + + Classes + + + win32 + + + Classes + + + \ No newline at end of file diff --git a/samples/Cpp/SimpleGame/proj.win32/SimpleGame.vcxproj.user b/samples/Cpp/SimpleGame/proj.win32/SimpleGame.vcxproj.user new file mode 100644 index 0000000000..32a6296820 --- /dev/null +++ b/samples/Cpp/SimpleGame/proj.win32/SimpleGame.vcxproj.user @@ -0,0 +1,11 @@ + + + + $(ProjectDir)..\Resources + WindowsLocalDebugger + + + $(ProjectDir)..\Resources + WindowsLocalDebugger + + \ No newline at end of file diff --git a/samples/Cpp/SimpleGame/proj.win32/main.cpp b/samples/Cpp/SimpleGame/proj.win32/main.cpp new file mode 100644 index 0000000000..d819bb02e0 --- /dev/null +++ b/samples/Cpp/SimpleGame/proj.win32/main.cpp @@ -0,0 +1,20 @@ +#include "main.h" +#include "../Classes/AppDelegate.h" +#include "CCEGLView.h" + +USING_NS_CC; + +int APIENTRY _tWinMain(HINSTANCE hInstance, + HINSTANCE hPrevInstance, + LPTSTR lpCmdLine, + int nCmdShow) +{ + UNREFERENCED_PARAMETER(hPrevInstance); + UNREFERENCED_PARAMETER(lpCmdLine); + + // create the application instance + AppDelegate app; + EGLView eglView; + eglView.init("SimpleGame",900,640); + return Application::getInstance()->run(); +} diff --git a/samples/Cpp/SimpleGame/proj.win32/main.h b/samples/Cpp/SimpleGame/proj.win32/main.h new file mode 100644 index 0000000000..e74708bdf2 --- /dev/null +++ b/samples/Cpp/SimpleGame/proj.win32/main.h @@ -0,0 +1,13 @@ +#ifndef __MAIN_H__ +#define __MAIN_H__ + +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers + +// Windows Header Files: +#include +#include + +// C RunTime Header Files +#include "CCStdC.h" + +#endif // __MAIN_H__ diff --git a/samples/Cpp/TestCpp/Android.mk b/samples/Cpp/TestCpp/Android.mk index 00c130e372..c848586fbb 100644 --- a/samples/Cpp/TestCpp/Android.mk +++ b/samples/Cpp/TestCpp/Android.mk @@ -141,28 +141,20 @@ Classes/ZwoptexTest/ZwoptexTest.cpp LOCAL_C_INCLUDES := $(LOCAL_PATH)/Classes -LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static -LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static -LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_static +LOCAL_WHOLE_STATIC_LIBRARIES := cocosbuilder_static LOCAL_WHOLE_STATIC_LIBRARIES += spine_static LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocos_curl_static +LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static + LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/Classes include $(BUILD_STATIC_LIBRARY) -$(call import-module,audio/android) -$(call import-module,Box2D) -$(call import-module,chipmunk) -$(call import-module,2d) $(call import-module,extensions) $(call import-module,editor-support/cocosbuilder) $(call import-module,editor-support/spine) $(call import-module,editor-support/cocostudio) $(call import-module,network) -$(call import-module,curl/prebuilt/android) +$(call import-module,2d) diff --git a/samples/Cpp/TestCpp/Classes/PhysicsTest/PhysicsTest.cpp b/samples/Cpp/TestCpp/Classes/PhysicsTest/PhysicsTest.cpp index 0ab5ba4ae4..907a0df83a 100644 --- a/samples/Cpp/TestCpp/Classes/PhysicsTest/PhysicsTest.cpp +++ b/samples/Cpp/TestCpp/Classes/PhysicsTest/PhysicsTest.cpp @@ -9,6 +9,7 @@ namespace CL(PhysicsDemoPyramidStack), CL(PhysicsDemoPlink), CL(PhysicsDemoClickAdd), + CL(PhysicsDemoRayCast), }; static int sceneIdx=-1; @@ -48,6 +49,8 @@ namespace return layer; } + + static const Color4F STATIC_COLOR = {1.0f, 0.0f, 0.0f, 1.0f}; } @@ -87,6 +90,8 @@ void PhysicsTestScene::toggleDebug() PhysicsDemo::PhysicsDemo() : _scene(nullptr) +, _ball(nullptr) +, _spriteTexture(nullptr) { } @@ -304,23 +309,62 @@ namespace } } -Node* PhysicsDemoLogoSmash::makeBall(float x, float y) +Sprite* PhysicsDemo::makeBall(float x, float y, float radius, PhysicsMaterial material) { - auto ball = Sprite::createWithTexture(_ball->getTexture()); - ball->setScale(0.1); + Sprite* ball = nullptr; + if (_ball != nullptr) + { + ball = Sprite::createWithTexture(_ball->getTexture()); + }else + { + ball = Sprite::create("Images/ball.png"); + } - auto body = PhysicsBody::createCircle(0.95, PhysicsMaterial(1, 0, 0)); - body->setMass(1.0); - body->setAngularDamping(PHYSICS_INFINITY); + ball->setScale(0.13f * radius); - //body->setDynamic(false); + auto body = PhysicsBody::createCircle(radius, material); ball->setPhysicsBody(body); - ball->setPosition(Point(x, y)); return ball; } +Sprite* PhysicsDemo::makeBox(float x, float y, Size size, PhysicsMaterial material) +{ + auto box = CCRANDOM_0_1() > 0.5f ? Sprite::create("Images/YellowSquare.png") : Sprite::create("Images/CyanSquare.png"); + + box->setScaleX(size.width/100.0f); + box->setScaleY(size.height/100.0f); + + auto body = PhysicsBody::createBox(size); + box->setPhysicsBody(body); + box->setPosition(Point(x, y)); + + return box; +} + +Sprite* PhysicsDemo::makeTriangle(float x, float y, Size size, PhysicsMaterial material) +{ + auto triangle = CCRANDOM_0_1() > 0.5f ? Sprite::create("Images/YellowTriangle.png") : Sprite::create("Images/CyanTriangle.png"); + + if(size.height == 0) + { + triangle->setScale(size.width/100.0f); + }else + { + triangle->setScaleX(size.width/50.0f); + triangle->setScaleY(size.height/43.5f); + } + + Point vers[] = { Point(0, size.height/2), Point(size.width/2, -size.height/2), Point(-size.width/2, -size.height/2)}; + + auto body = PhysicsBody::createPolygon(vers, 3); + triangle->setPhysicsBody(body); + triangle->setPosition(Point(x, y)); + + return triangle; +} + void PhysicsDemoLogoSmash::onEnter() { PhysicsDemo::onEnter(); @@ -338,19 +382,22 @@ void PhysicsDemoLogoSmash::onEnter() float x_jitter = 0.05*frand(); float y_jitter = 0.05*frand(); - _ball->addChild(makeBall(2*(x - logo_width/2 + x_jitter) + VisibleRect::getVisibleRect().size.width/2, - 2*(logo_height-y + y_jitter) + VisibleRect::getVisibleRect().size.height/2 - logo_height/2)); + Node* ball = makeBall(2*(x - logo_width/2 + x_jitter) + VisibleRect::getVisibleRect().size.width/2, + 2*(logo_height-y + y_jitter) + VisibleRect::getVisibleRect().size.height/2 - logo_height/2, + 0.95f, PhysicsMaterial::make(1.0f, 0.0f, 0.0f)); + + ball->getPhysicsBody()->setMass(1.0); + ball->getPhysicsBody()->setMoment(PHYSICS_INFINITY); + + _ball->addChild(ball); + } } } - auto bullet = Sprite::createWithTexture(_ball->getTexture()); - bullet->setScale(0.5); - - auto body = PhysicsBody::createCircle(8, PhysicsMaterial(PHYSICS_INFINITY, 0, 0)); - body->setVelocity(Point(400, 0)); - bullet->setPhysicsBody(body); + auto bullet = makeBall(400, 0, 10, PhysicsMaterial::make(PHYSICS_INFINITY, 0, 0)); + bullet->getPhysicsBody()->setVelocity(Point(400, 0)); bullet->setPosition(Point(-1000, VisibleRect::getVisibleRect().size.height/2)); @@ -394,7 +441,7 @@ void PhysicsDemoPlink::onEnter() { PhysicsDemo::onEnter(); - auto node = Node::create(); + auto node = DrawNode::create(); auto body = PhysicsBody::create(); body->setDynamic(false); node->setPhysicsBody(body); @@ -406,7 +453,11 @@ void PhysicsDemoPlink::onEnter() { for (int j = 0; j < 4; ++j) { - body->addShape(PhysicsShapePolygon::create(tris, 3, PHYSICSSHAPE_MATERIAL_DEFAULT, Point(rect.origin.x + rect.size.width/9*i + (j%2)*40 - 20, rect.origin.y + j*70))); + Point offset(rect.origin.x + rect.size.width/9*i + (j%2)*40 - 20, rect.origin.y + j*70); + body->addShape(PhysicsShapePolygon::create(tris, 3, PHYSICSSHAPE_MATERIAL_DEFAULT, offset)); + + Point drawVec[] = {tris[0] + offset, tris[1] + offset, tris[2] + offset}; + node->drawPolygon(drawVec, 3, STATIC_COLOR, 1, STATIC_COLOR); } } @@ -417,4 +468,238 @@ void PhysicsDemoPlink::onEnter() std::string PhysicsDemoPlink::title() { return "Plink"; +} + +PhysicsDemoRayCast::PhysicsDemoRayCast() +: _angle(0.0f) +, _node(nullptr) +, _mode(0) +{} + +void PhysicsDemoRayCast::onEnter() +{ + PhysicsDemo::onEnter(); + setTouchEnabled(true); + + _scene->getPhysicsWorld()->setGravity(Point::ZERO); + + auto node = DrawNode::create(); + node->setPhysicsBody(PhysicsBody::createEdgeSegment(VisibleRect::leftBottom() + Point(0, 50), VisibleRect::rightBottom() + Point(0, 50))); + node->drawSegment(VisibleRect::leftBottom() + Point(0, 50), VisibleRect::rightBottom() + Point(0, 50), 1, STATIC_COLOR); + this->addChild(node); + + MenuItemFont::setFontSize(18); + auto item = MenuItemFont::create("Change Mode(any)", CC_CALLBACK_1(PhysicsDemoRayCast::changeModeCallback, this)); + + auto menu = Menu::create(item, NULL); + this->addChild(menu); + menu->setPosition(Point(VisibleRect::left().x+100, VisibleRect::top().y-10)); + + scheduleUpdate(); +} + +void PhysicsDemoRayCast::changeModeCallback(Object* sender) +{ + _mode = (_mode + 1) % 3; + + switch (_mode) + { + case 0: + ((MenuItemFont*)sender)->setString("Change Mode(any)"); + break; + case 1: + ((MenuItemFont*)sender)->setString("Change Mode(nearest)"); + break; + case 2: + ((MenuItemFont*)sender)->setString("Change Mode(multiple)"); + break; + + default: + break; + } +} + +bool PhysicsDemoRayCast::anyRay(PhysicsWorld& world, PhysicsShape& shape, Point point, Point normal, float fraction, void* data) +{ + *((Point*)data) = point; + return false; +} + +class PhysicsDemoNearestRayCastCallback : public PhysicsRayCastCallback +{ +public: + PhysicsDemoNearestRayCastCallback(); + +private: + float _friction; +}; + +PhysicsDemoNearestRayCastCallback::PhysicsDemoNearestRayCastCallback() +: _friction(1.0f) +{ + report = [this](PhysicsWorld& world, PhysicsShape& shape, Point point, Point normal, float fraction, void* data)->bool + { + if (_friction > fraction) + { + *((Point*)data) = point; + _friction = fraction; + } + + return true; + }; +} + +namespace +{ + static const int MAX_MULTI_RAYCAST_NUM = 5; +} + +class PhysicsDemoMultiRayCastCallback : public PhysicsRayCastCallback +{ +public: + PhysicsDemoMultiRayCastCallback(); + +public: + Point points[MAX_MULTI_RAYCAST_NUM]; + int num; +}; + +PhysicsDemoMultiRayCastCallback::PhysicsDemoMultiRayCastCallback() +: num(0) +{ + report = [this](PhysicsWorld& world, PhysicsShape& shape, Point point, Point normal, float fraction, void* data)->bool + { + if (num < MAX_MULTI_RAYCAST_NUM) + { + points[num++] = point; + } + + return true; + }; +} + +void PhysicsDemoRayCast::update(float delta) +{ + float L = 150.0f; + Point point1 = VisibleRect::center(); + Point d(L * cosf(_angle), L * sinf(_angle)); + Point point2 = point1 + d; + + removeChild(_node); + _node = DrawNode::create(); + switch (_mode) + { + case 0: + { + PhysicsRayCastCallback callback; + Point point3 = point2; + callback.report = anyRay; + + _scene->getPhysicsWorld()->rayCast(callback, point1, point2, &point3); + _node->drawSegment(point1, point3, 1, STATIC_COLOR); + + if (point2 != point3) + { + _node->drawDot(point3, 2, Color4F(1.0f, 1.0f, 1.0f, 1.0f)); + } + addChild(_node); + + break; + } + case 1: + { + PhysicsDemoNearestRayCastCallback callback; + Point point3 = point2; + + _scene->getPhysicsWorld()->rayCast(callback, point1, point2, &point3); + _node->drawSegment(point1, point3, 1, STATIC_COLOR); + + if (point2 != point3) + { + _node->drawDot(point3, 2, Color4F(1.0f, 1.0f, 1.0f, 1.0f)); + } + addChild(_node); + + break; + } + case 2: + { + PhysicsDemoMultiRayCastCallback callback; + + _scene->getPhysicsWorld()->rayCast(callback, point1, point2, nullptr); + + _node->drawSegment(point1, point2, 1, STATIC_COLOR); + + for (int i = 0; i < callback.num; ++i) + { + _node->drawDot(callback.points[i], 2, Color4F(1.0f, 1.0f, 1.0f, 1.0f)); + } + + addChild(_node); + + break; + } + + default: + break; + } + + _angle += 0.25f * M_PI / 180.0f; +} + +void PhysicsDemoRayCast::onTouchesEnded(const std::vector& touches, Event* event) +{ + //Add a new body/atlas sprite at the touched location + + for( auto &touch: touches) + { + auto location = touch->getLocation(); + + float r = CCRANDOM_0_1(); + + if (r < 1.0f/3.0f) + { + addChild(makeBall(location.x, location.y, 5 + CCRANDOM_0_1()*10)); + }else if(r < 2.0f/3.0f) + { + addChild(makeBox(location.x, location.y, Size(10 + CCRANDOM_0_1()*15, 10 + CCRANDOM_0_1()*15))); + }else + { + addChild(makeTriangle(location.x, location.y, Size(10 + CCRANDOM_0_1()*20, 10 + CCRANDOM_0_1()*20))); + } + } +} + +std::string PhysicsDemoRayCast::title() +{ + return "Ray Cast"; +} + + +void PhysicsDemoJoints::onEnter() +{ + PhysicsDemo::onEnter(); + + setTouchEnabled(true); + + _scene->getPhysicsWorld()->setGravity(Point::ZERO); + + +} + +void PhysicsDemoJoints::onTouchesEnded(const std::vector& touches, Event* event) +{ + //Add a new body/atlas sprite at the touched location + + for( auto &touch: touches) + { + auto location = touch->getLocation(); + + + } +} + +std::string PhysicsDemoJoints::title() +{ + return "Joints"; } \ No newline at end of file diff --git a/samples/Cpp/TestCpp/Classes/PhysicsTest/PhysicsTest.h b/samples/Cpp/TestCpp/Classes/PhysicsTest/PhysicsTest.h index 34f8053b37..9df12624de 100644 --- a/samples/Cpp/TestCpp/Classes/PhysicsTest/PhysicsTest.h +++ b/samples/Cpp/TestCpp/Classes/PhysicsTest/PhysicsTest.h @@ -37,9 +37,13 @@ public: void toggleDebugCallback(Object* sender); void addGrossiniAtPosition(Point p, float scale = 1.0); + Sprite* makeBall(float x, float y, float radius, PhysicsMaterial material = {1.0f, 1.0f, 1.0f}); + Sprite* makeBox(float x, float y, Size size, PhysicsMaterial material = {1.0f, 1.0f, 1.0f}); + Sprite* makeTriangle(float x, float y, Size size, PhysicsMaterial material = {1.0f, 1.0f, 1.0f}); -private: +protected: Texture2D* _spriteTexture; // weak ref + SpriteBatchNode* _ball; }; class PhysicsDemoClickAdd : public PhysicsDemo @@ -57,11 +61,6 @@ class PhysicsDemoLogoSmash : public PhysicsDemo public: void onEnter() override; std::string title() override; - - Node* makeBall(float x, float y); - -private: - SpriteBatchNode* _ball; }; class PhysicsDemoPyramidStack : public PhysicsDemo @@ -78,4 +77,32 @@ public: std::string title() override; }; +class PhysicsDemoRayCast : public PhysicsDemo +{ +public: + PhysicsDemoRayCast(); +public: + void onEnter() override; + std::string title() override; + void update(float delta) override; + void onTouchesEnded(const std::vector& touches, Event* event) override; + + void changeModeCallback(Object* sender); + + static bool anyRay(PhysicsWorld& world, PhysicsShape& shape, Point point, Point normal, float fraction, void* data); + +private: + float _angle; + DrawNode* _node; + int _mode; +}; + +class PhysicsDemoJoints : public PhysicsDemo +{ +public: + void onEnter() override; + std::string title() override; + void onTouchesEnded(const std::vector& touches, Event* event) override; +}; + #endif diff --git a/samples/Cpp/TestCpp/proj.android/build_native.cmd b/samples/Cpp/TestCpp/proj.android/build_native.cmd index 44e95cafe7..d8eaaea7c7 100644 --- a/samples/Cpp/TestCpp/proj.android/build_native.cmd +++ b/samples/Cpp/TestCpp/proj.android/build_native.cmd @@ -62,7 +62,7 @@ if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) goto :COPY_RES :MODULE2 echo "Using prebuilt externals" - set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt + set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\external;%COCOS2DX_ROOT%\cocos :COPY_RES echo NDK_ROOT = %NDK_ROOT% @@ -75,10 +75,16 @@ rem make sure assets is exist if exist %APP_ANDROID_ROOT%\assets rd /q /s %APP_ANDROID_ROOT%\assets mkdir %APP_ANDROID_ROOT%\assets -mkdir %APP_ANDROID_ROOT%\assets\res rem copy Resources/* into assets' root xcopy /e /q /r /y %APP_ROOT%\Resources\* %APP_ANDROID_ROOT%\assets -call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 +rem remove test_image_rgba4444.pvr.gz +del /f /q %APP_ANDROID_ROOT%\assets\Images\test_image_rgba4444.pvr.gz +del /f /q %APP_ANDROID_ROOT%\assets\Images\test_1021x1024_rgba8888.pvr.gz +del /f /q %APP_ANDROID_ROOT%\assets\Images\test_1021x1024_rgb888.pvr.gz +del /f /q %APP_ANDROID_ROOT%\assets\Images\test_1021x1024_rgba4444.pvr.gz +del /f /q %APP_ANDROID_ROOT%\assets\Images\test_1021x1024_a8.pvr.gz + +call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 %* pause \ No newline at end of file diff --git a/samples/Cpp/TestCpp/proj.android/project.properties b/samples/Cpp/TestCpp/proj.android/project.properties index db4ff43492..0a6dc6664d 100644 --- a/samples/Cpp/TestCpp/proj.android/project.properties +++ b/samples/Cpp/TestCpp/proj.android/project.properties @@ -8,6 +8,6 @@ # project structure. # Project target. -target=android-13 +target=android-10 -android.library.reference.1=../../../../cocos2dx/platform/android/java +android.library.reference.1=../../../../cocos/2d/platform/android/java diff --git a/samples/Cpp/TestCpp/proj.linux/Makefile b/samples/Cpp/TestCpp/proj.linux/Makefile index 4dda11cafe..ea1051612c 100644 --- a/samples/Cpp/TestCpp/proj.linux/Makefile +++ b/samples/Cpp/TestCpp/proj.linux/Makefile @@ -2,6 +2,11 @@ EXECUTABLE = TestCpp DEFINES += -DCC_KEYBOARD_SUPPORT +INCLUDES = -I../../../../external \ + -I../../../../cocos/editor-support \ + -I../../../../cocos \ + -I../Classes + SOURCES = ../Classes/AccelerometerTest/AccelerometerTest.cpp \ ../Classes/ActionManagerTest/ActionManagerTest.cpp \ ../Classes/ActionsEaseTest/ActionsEaseTest.cpp \ @@ -135,22 +140,19 @@ SOURCES = ../Classes/AccelerometerTest/AccelerometerTest.cpp \ SHAREDLIBS = -lcocos2d -lcocosdenshion -lcurl -lpng COCOS_LIBS = $(LIB_DIR)/libcocos2d.so $(LIB_DIR)/libcocosdenshion.so -include ../../../../cocos2dx/proj.linux/cocos2dx.mk - -INCLUDES += -I../ \ - -I../../ \ - -I../Classes \ - -I$(COCOS_ROOT)/audio/include \ - -I$(COCOS_ROOT)/extensions/ \ - -I$(COCOS_ROOT)/external/ \ - -I$(COCOS_ROOT)/external/chipmunk/include/chipmunk +include ../../../../cocos/2d/cocos2dx.mk STATICLIBS += \ - $(STATICLIBS_DIR)/libcurl.a \ + $(STATICLIBS_DIR)/curl/prebuilt/linux/$(POSTFIX)/libcurl.a \ $(LIB_DIR)/libextension.a \ $(LIB_DIR)/libbox2d.a \ - $(LIB_DIR)/libchipmunk.a + $(LIB_DIR)/libchipmunk.a \ + $(LIB_DIR)/libgui.a \ + $(LIB_DIR)/libcocosbuilder.a \ + $(LIB_DIR)/libspine.a \ + $(LIB_DIR)/libcocostudio.a \ + $(LIB_DIR)/libnetwork.a ####### Build rules $(TARGET): $(OBJECTS) $(STATICLIBS) $(COCOS_LIBS) $(CORE_MAKEFILE_LIST) diff --git a/samples/Cpp/TestCpp/proj.win32/TestCpp.vcxproj b/samples/Cpp/TestCpp/proj.win32/TestCpp.vcxproj index 95e857631c..1dd1fe3146 100644 --- a/samples/Cpp/TestCpp/proj.win32/TestCpp.vcxproj +++ b/samples/Cpp/TestCpp/proj.win32/TestCpp.vcxproj @@ -36,11 +36,13 @@ - + + - + + @@ -67,7 +69,7 @@ Disabled - $(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\pthread;$(ProjectDir)..\..\..\..\external;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\external\libwebsockets\win32\include;$(ProjectDir)..\..\..\..\audio\include;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\extensions\network;..\Classes;..;%(AdditionalIncludeDirectories) + ..\Classes;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\network;$(EngineRoot)external;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\curl\include\win32;$(EngineRoot)external\websockets\win32\include;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_WINDOWS;_USE_MATH_DEFINES;GL_GLEXT_PROTOTYPES;CC_ENABLE_CHIPMUNK_INTEGRATION=1;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebugDLL @@ -84,7 +86,7 @@ true Windows MachineX86 - libExtensions.lib;libcocos2d.lib;libCocosDenshion.lib;libBox2d.lib;libchipmunk.lib;libcurl_imp.lib;websockets.lib;%(AdditionalDependencies) + libcurl_imp.lib;websockets.lib;%(AdditionalDependencies) @@ -92,7 +94,7 @@ if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\websockets\prebuilt\win32\*.*" "$(OutDir)" @@ -100,7 +102,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(O MaxSpeed true - $(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\pthread;$(ProjectDir)..\..\..\..\external;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\external\libwebsockets\win32\include;$(ProjectDir)..\..\..\..\audio\include;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\extensions\network;..\Classes;..;%(AdditionalIncludeDirectories) + ..\Classes;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\network;$(EngineRoot)external;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\curl\include\win32;$(EngineRoot)external\websockets\win32\include;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_USE_MATH_DEFINES;GL_GLEXT_PROTOTYPES;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) MultiThreadedDLL true @@ -112,7 +114,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(O true - libExtensions.lib;libcocos2d.lib;libCocosDenshion.lib;libBox2d.lib;libchipmunk.lib;libcurl_imp.lib;websockets.lib;%(AdditionalDependencies) + libcurl_imp.lib;websockets.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe $(OutDir);%(AdditionalLibraryDirectories) true @@ -127,7 +129,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(O if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\websockets\prebuilt\win32\*.*" "$(OutDir)" @@ -459,14 +461,32 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(O - + {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} false - + {f8edd7fa-9a51-4e80-baeb-860825d2eac6} false + + {811c0dab-7b96-4bd3-a154-b7572b58e4ab} + + + {b57cf53f-2e49-4031-9822-047cc0e6bde2} + + + {b7c2a162-dec9-4418-972e-240ab3cbfcae} + + + {7e06e92c-537a-442b-9e4a-4761c84f8a1a} + + + {df2638c0-8128-4847-867c-6eafe3dee7b5} + + + {632a8f38-d0f0-4d22-86b3-d69f5e6bf63a} + {21b2c324-891f-48ea-ad1a-5ae13de12e28} false diff --git a/samples/Javascript/CocosDragonJS/Classes/AppDelegate.cpp b/samples/Javascript/CocosDragonJS/Classes/AppDelegate.cpp index 3276d5deda..f14e6df017 100644 --- a/samples/Javascript/CocosDragonJS/Classes/AppDelegate.cpp +++ b/samples/Javascript/CocosDragonJS/Classes/AppDelegate.cpp @@ -8,11 +8,12 @@ #include "ScriptingCore.h" #include "jsb_cocos2dx_auto.hpp" #include "jsb_cocos2dx_extension_auto.hpp" -#include "jsb_cocos2dx_extension_manual.h" +#include "jsb_cocos2dx_builder_auto.hpp" +#include "extension/jsb_cocos2dx_extension_manual.h" #include "cocos2d_specifics.hpp" -#include "js_bindings_ccbreader.h" -#include "js_bindings_system_registration.h" -#include "js_bindings_chipmunk_registration.h" +#include "cocosbuilder/js_bindings_ccbreader.h" +#include "localstorage/js_bindings_system_registration.h" +#include "chipmunk/js_bindings_chipmunk_registration.h" #include "jsb_opengl_registration.h" USING_NS_CC; @@ -124,6 +125,7 @@ bool AppDelegate::applicationDidFinishLaunching() sc->addRegisterCallback(register_all_cocos2dx_extension); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(register_all_cocos2dx_extension_manual); + sc->addRegisterCallback(register_all_cocos2dx_builder); sc->addRegisterCallback(register_CCBuilderReader); sc->addRegisterCallback(jsb_register_system); sc->addRegisterCallback(JSB_register_opengl); diff --git a/samples/Javascript/CocosDragonJS/proj.android/build_native.cmd b/samples/Javascript/CocosDragonJS/proj.android/build_native.cmd index 349e2aa5d7..76a9a7138f 100644 --- a/samples/Javascript/CocosDragonJS/proj.android/build_native.cmd +++ b/samples/Javascript/CocosDragonJS/proj.android/build_native.cmd @@ -57,7 +57,7 @@ set COCOS2DX_ROOT=%~dp0..\..\..\.. set APP_ROOT=%~dp0.. set APP_ANDROID_ROOT=%~dp0 set RESROUCE_ROOT="%APP_ROOT%\..\Shared\games\CocosDragonJS\Published files Android" -set BINDINGS_JS_ROOT=%APP_ROOT%\..\..\..\scripting\javascript\bindings\js +set BINDINGS_JS_ROOT=%COCOS2DX_ROOT%\cocos\scripting\javascript\script if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) :MODULE1 @@ -66,7 +66,7 @@ if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) goto :COPY_RES :MODULE2 echo "Using prebuilt externals" - set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt + set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos;%COCOS2DX_ROOT%\external :COPY_RES echo NDK_ROOT = %NDK_ROOT% @@ -79,7 +79,6 @@ rem make sure assets is exist if exist %APP_ANDROID_ROOT%\assets rd /q /s %APP_ANDROID_ROOT%\assets mkdir %APP_ANDROID_ROOT%\assets -mkdir %APP_ANDROID_ROOT%\assets\res rem copy Resources/* into assets' root xcopy /e /q /r /y %RESROUCE_ROOT%\* %APP_ANDROID_ROOT%\assets @@ -87,5 +86,5 @@ xcopy /e /q /r /y %RESROUCE_ROOT%\* %APP_ANDROID_ROOT%\assets rem copy bindings/*.js into assets' root xcopy /e /q /r /y %BINDINGS_JS_ROOT%\* %APP_ANDROID_ROOT%\assets -call %NDK_ROOT%\ndk-build.cmd %PARALLEL_BUILD_FLAG% NDK_LOG=0 V=0 +call %NDK_ROOT%\ndk-build.cmd %PARALLEL_BUILD_FLAG% NDK_LOG=0 V=0 %* pause diff --git a/samples/Javascript/CocosDragonJS/proj.android/project.properties b/samples/Javascript/CocosDragonJS/proj.android/project.properties index db4ff43492..0a6dc6664d 100644 --- a/samples/Javascript/CocosDragonJS/proj.android/project.properties +++ b/samples/Javascript/CocosDragonJS/proj.android/project.properties @@ -8,6 +8,6 @@ # project structure. # Project target. -target=android-13 +target=android-10 -android.library.reference.1=../../../../cocos2dx/platform/android/java +android.library.reference.1=../../../../cocos/2d/platform/android/java diff --git a/samples/Javascript/CocosDragonJS/proj.win32/CocosDragonJS.vcxproj b/samples/Javascript/CocosDragonJS/proj.win32/CocosDragonJS.vcxproj index e67d8d64eb..8483cb7237 100644 --- a/samples/Javascript/CocosDragonJS/proj.win32/CocosDragonJS.vcxproj +++ b/samples/Javascript/CocosDragonJS/proj.win32/CocosDragonJS.vcxproj @@ -34,11 +34,13 @@ - + + - + + @@ -77,7 +79,7 @@ Disabled - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\include;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\scripting\auto-generated\js-bindings;$(ProjectDir)..\..\..\..\scripting\javascript\bindings;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot);$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)cocos\scripting\javascript\bindings;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;_DEBUG;DEBUG;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_DEBUG=1;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false EnableFastChecks @@ -96,11 +98,11 @@ if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\spidermonkey\prebuilt\win32\*.*" "$(OutDir)" - libcocos2d.lib;libExtensions.lib;libCocosDenshion.lib;libchipmunk.lib;libJSBinding.lib;libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) + libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) true Windows @@ -110,7 +112,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\li if not exist "$(OutDir)" mkdir "$(OutDir)" if exist "$(OutDir)\CocosDragonJSRes" rd /s /q "$(OutDir)\CocosDragonJSRes" mkdir "$(OutDir)\CocosDragonJSRes" -xcopy "$(ProjectDir)..\..\..\..\scripting\javascript\bindings\js\*.js" "$(OutDir)\CocosDragonJSRes" /e /Y +xcopy "$(ProjectDir)..\..\..\..\cocos\scripting\javascript\script\*.js" "$(OutDir)\CocosDragonJSRes" /e /Y xcopy "$(ProjectDir)..\..\Shared\games\CocosDragonJS\Published files Android" "$(OutDir)\CocosDragonJSRes\" /e /Y @@ -131,7 +133,7 @@ xcopy "$(ProjectDir)..\..\Shared\games\CocosDragonJS\Published files Android" "$ testjs_p.c - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\include;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\scripting\auto-generated\js-bindings;$(ProjectDir)..\..\..\..\scripting\javascript\bindings;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot);$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)cocos\scripting\javascript\bindings;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;NDEBUG;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;CC_ENABLE_CHIPMUNK_INTEGRATION=1;COCOS2D_JAVASCRIPT=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) @@ -151,20 +153,21 @@ xcopy "$(ProjectDir)..\..\Shared\games\CocosDragonJS\Published files Android" "$ if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\spidermonkey\prebuilt\win32\*.*" "$(OutDir)" - libcocos2d.lib;libExtensions.lib;libCocosDenshion.lib;libchipmunk.lib;libJSBinding.lib;libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) + libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) Windows MachineX86 + true if not exist "$(OutDir)" mkdir "$(OutDir)" if exist "$(OutDir)\CocosDragonJSRes" rd /s /q "$(OutDir)\CocosDragonJSRes" mkdir "$(OutDir)\CocosDragonJSRes" -xcopy "$(ProjectDir)..\..\..\..\scripting\javascript\bindings\js\*.js" "$(OutDir)\CocosDragonJSRes" /e /Y +xcopy "$(ProjectDir)..\..\..\..\cocos\scripting\javascript\script\*.js" "$(OutDir)\CocosDragonJSRes" /e /Y xcopy "$(ProjectDir)..\..\Shared\games\CocosDragonJS\Published files Android" "$(OutDir)\CocosDragonJSRes\" /e /Y Copy js and resource files. @@ -185,13 +188,38 @@ xcopy "$(ProjectDir)..\..\Shared\games\CocosDragonJS\Published files Android" "$ - + {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - false - + {f8edd7fa-9a51-4e80-baeb-860825d2eac6} - false + + + {811c0dab-7b96-4bd3-a154-b7572b58e4ab} + + + {21070e58-eec6-4e16-8b4f-6d083df55790} + + + {f9da0fc1-651b-457b-962e-a4d61cebf5fd} + + + {625f7391-9a91-48a1-8cfc-79508c822637} + + + {68f5f371-bd7b-4c30-ae5b-0b08f22e0cde} + + + {39379840-825a-45a0-b363-c09ffef864bd} + + + {632a8f38-d0f0-4d22-86b3-d69f5e6bf63a} + + + {21b2c324-891f-48ea-ad1a-5ae13de12e28} + + + {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} diff --git a/samples/Javascript/CrystalCraze/Classes/AppDelegate.cpp b/samples/Javascript/CrystalCraze/Classes/AppDelegate.cpp index 27520db220..63f1c31aed 100644 --- a/samples/Javascript/CrystalCraze/Classes/AppDelegate.cpp +++ b/samples/Javascript/CrystalCraze/Classes/AppDelegate.cpp @@ -5,11 +5,12 @@ #include "ScriptingCore.h" #include "jsb_cocos2dx_auto.hpp" #include "jsb_cocos2dx_extension_auto.hpp" -#include "jsb_cocos2dx_extension_manual.h" +#include "jsb_cocos2dx_builder_auto.hpp" +#include "extension/jsb_cocos2dx_extension_manual.h" #include "cocos2d_specifics.hpp" -#include "js_bindings_ccbreader.h" -#include "js_bindings_system_registration.h" -#include "js_bindings_chipmunk_registration.h" +#include "cocosbuilder/js_bindings_ccbreader.h" +#include "localstorage/js_bindings_system_registration.h" +#include "chipmunk/js_bindings_chipmunk_registration.h" #include "jsb_opengl_registration.h" USING_NS_CC; @@ -106,6 +107,7 @@ bool AppDelegate::applicationDidFinishLaunching() sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(jsb_register_chipmunk); sc->addRegisterCallback(register_all_cocos2dx_extension_manual); + sc->addRegisterCallback(register_all_cocos2dx_builder); sc->addRegisterCallback(register_CCBuilderReader); sc->addRegisterCallback(jsb_register_system); sc->addRegisterCallback(JSB_register_opengl); diff --git a/samples/Javascript/CrystalCraze/proj.android/build_native.cmd b/samples/Javascript/CrystalCraze/proj.android/build_native.cmd index 6c248549ae..22f5ad4442 100644 --- a/samples/Javascript/CrystalCraze/proj.android/build_native.cmd +++ b/samples/Javascript/CrystalCraze/proj.android/build_native.cmd @@ -57,7 +57,7 @@ set COCOS2DX_ROOT=%~dp0..\..\..\.. set APP_ROOT=%~dp0.. set APP_ANDROID_ROOT=%~dp0 set RESROUCE_ROOT="%APP_ROOT%\..\Shared\games\CrystalCraze\Published-Android" -set BINDINGS_JS_ROOT=%APP_ROOT%\..\..\..\scripting\javascript\bindings\js +set BINDINGS_JS_ROOT=%COCOS2DX_ROOT%\cocos\scripting\javascript\script if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) :MODULE1 @@ -66,7 +66,7 @@ if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) goto :COPY_RES :MODULE2 echo "Using prebuilt externals" - set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt + set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos;%COCOS2DX_ROOT%\external :COPY_RES echo NDK_ROOT = %NDK_ROOT% @@ -79,7 +79,6 @@ rem make sure assets is exist if exist %APP_ANDROID_ROOT%\assets rd /q /s %APP_ANDROID_ROOT%\assets mkdir %APP_ANDROID_ROOT%\assets -mkdir %APP_ANDROID_ROOT%\assets\res rem copy Resources/* into assets' root xcopy /e /q /r /y %RESROUCE_ROOT%\* %APP_ANDROID_ROOT%\assets @@ -87,5 +86,5 @@ xcopy /e /q /r /y %RESROUCE_ROOT%\* %APP_ANDROID_ROOT%\assets rem copy bindings/*.js into assets' root xcopy /e /q /r /y %BINDINGS_JS_ROOT%\* %APP_ANDROID_ROOT%\assets -call %NDK_ROOT%\ndk-build.cmd %PARALLEL_BUILD_FLAG% NDK_LOG=0 V=0 +call %NDK_ROOT%\ndk-build.cmd %PARALLEL_BUILD_FLAG% NDK_LOG=0 V=0 %* pause diff --git a/samples/Javascript/CrystalCraze/proj.android/project.properties b/samples/Javascript/CrystalCraze/proj.android/project.properties index db4ff43492..0a6dc6664d 100644 --- a/samples/Javascript/CrystalCraze/proj.android/project.properties +++ b/samples/Javascript/CrystalCraze/proj.android/project.properties @@ -8,6 +8,6 @@ # project structure. # Project target. -target=android-13 +target=android-10 -android.library.reference.1=../../../../cocos2dx/platform/android/java +android.library.reference.1=../../../../cocos/2d/platform/android/java diff --git a/samples/Javascript/CrystalCraze/proj.win32/CrystalCraze.vcxproj b/samples/Javascript/CrystalCraze/proj.win32/CrystalCraze.vcxproj index e2a144bff1..6194bc0354 100644 --- a/samples/Javascript/CrystalCraze/proj.win32/CrystalCraze.vcxproj +++ b/samples/Javascript/CrystalCraze/proj.win32/CrystalCraze.vcxproj @@ -34,11 +34,13 @@ - + + - + + @@ -77,7 +79,7 @@ Disabled - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\include;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\scripting\auto-generated\js-bindings;$(ProjectDir)..\..\..\..\scripting\javascript\bindings;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot);$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)cocos\scripting\javascript\bindings;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;_DEBUG;DEBUG;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_DEBUG=1;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false EnableFastChecks @@ -96,11 +98,11 @@ if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\spidermonkey\prebuilt\win32\*.*" "$(OutDir)" - libcocos2d.lib;libExtensions.lib;libCocosDenshion.lib;libchipmunk.lib;libJSBinding.lib;libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) + libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) true Windows @@ -110,7 +112,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\li if not exist "$(OutDir)" mkdir "$(OutDir)" if exist "$(OutDir)\CrystalCrazeRes" rd /s /q "$(OutDir)\CrystalCrazeRes" mkdir "$(OutDir)\CrystalCrazeRes" -xcopy "$(ProjectDir)..\..\..\..\scripting\javascript\bindings\js\*.js" "$(OutDir)\CrystalCrazeRes" /e /Y +xcopy "$(ProjectDir)..\..\..\..\cocos\scripting\javascript\script\*.js" "$(OutDir)\CrystalCrazeRes" /e /Y xcopy "$(ProjectDir)..\..\Shared\games\CrystalCraze\Published-Android" "$(OutDir)\CrystalCrazeRes\" /e /Y @@ -131,7 +133,7 @@ xcopy "$(ProjectDir)..\..\Shared\games\CrystalCraze\Published-Android" "$(OutDir testjs_p.c - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\include;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\scripting\auto-generated\js-bindings;$(ProjectDir)..\..\..\..\scripting\javascript\bindings;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot);$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)cocos\scripting\javascript\bindings;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;NDEBUG;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;CC_ENABLE_CHIPMUNK_INTEGRATION=1;COCOS2D_JAVASCRIPT=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) @@ -151,20 +153,21 @@ xcopy "$(ProjectDir)..\..\Shared\games\CrystalCraze\Published-Android" "$(OutDir if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\spidermonkey\prebuilt\win32\*.*" "$(OutDir)" - libcocos2d.lib;libExtensions.lib;libCocosDenshion.lib;libchipmunk.lib;libJSBinding.lib;libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) + libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) Windows MachineX86 + true if not exist "$(OutDir)" mkdir "$(OutDir)" if exist "$(OutDir)\CrystalCrazeRes" rd /s /q "$(OutDir)\CrystalCrazeRes" mkdir "$(OutDir)\CrystalCrazeRes" -xcopy "$(ProjectDir)..\..\..\..\scripting\javascript\bindings\js\*.js" "$(OutDir)\CrystalCrazeRes" /e /Y +xcopy "$(ProjectDir)..\..\..\..\cocos\scripting\javascript\script\*.js" "$(OutDir)\CrystalCrazeRes" /e /Y xcopy "$(ProjectDir)..\..\Shared\games\CrystalCraze\Published-Android" "$(OutDir)\CrystalCrazeRes\" /e /Y Copy js and resource files. @@ -185,13 +188,44 @@ xcopy "$(ProjectDir)..\..\Shared\games\CrystalCraze\Published-Android" "$(OutDir - + {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - false - + {f8edd7fa-9a51-4e80-baeb-860825d2eac6} - false + + + {811c0dab-7b96-4bd3-a154-b7572b58e4ab} + + + {b57cf53f-2e49-4031-9822-047cc0e6bde2} + + + {df2638c0-8128-4847-867c-6eafe3dee7b5} + + + {21070e58-eec6-4e16-8b4f-6d083df55790} + + + {f9da0fc1-651b-457b-962e-a4d61cebf5fd} + + + {625f7391-9a91-48a1-8cfc-79508c822637} + + + {68f5f371-bd7b-4c30-ae5b-0b08f22e0cde} + + + {39379840-825a-45a0-b363-c09ffef864bd} + + + {632a8f38-d0f0-4d22-86b3-d69f5e6bf63a} + + + {21b2c324-891f-48ea-ad1a-5ae13de12e28} + + + {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} diff --git a/samples/Javascript/MoonWarriors/Classes/AppDelegate.cpp b/samples/Javascript/MoonWarriors/Classes/AppDelegate.cpp index 7e7a33a156..c1406c1586 100644 --- a/samples/Javascript/MoonWarriors/Classes/AppDelegate.cpp +++ b/samples/Javascript/MoonWarriors/Classes/AppDelegate.cpp @@ -5,11 +5,12 @@ #include "ScriptingCore.h" #include "jsb_cocos2dx_auto.hpp" #include "jsb_cocos2dx_extension_auto.hpp" -#include "jsb_cocos2dx_extension_manual.h" +#include "jsb_cocos2dx_builder_auto.hpp" +#include "extension/jsb_cocos2dx_extension_manual.h" #include "cocos2d_specifics.hpp" -#include "js_bindings_ccbreader.h" -#include "js_bindings_system_registration.h" -#include "js_bindings_chipmunk_registration.h" +#include "cocosbuilder/js_bindings_ccbreader.h" +#include "localstorage/js_bindings_system_registration.h" +#include "chipmunk/js_bindings_chipmunk_registration.h" #include "jsb_opengl_registration.h" USING_NS_CC; @@ -48,6 +49,7 @@ bool AppDelegate::applicationDidFinishLaunching() sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(jsb_register_chipmunk); sc->addRegisterCallback(register_all_cocos2dx_extension_manual); + sc->addRegisterCallback(register_all_cocos2dx_builder); sc->addRegisterCallback(register_CCBuilderReader); sc->addRegisterCallback(jsb_register_system); sc->addRegisterCallback(JSB_register_opengl); diff --git a/samples/Javascript/MoonWarriors/proj.android/build_native.cmd b/samples/Javascript/MoonWarriors/proj.android/build_native.cmd index d2dbb3a7e8..e2c1c82c7e 100644 --- a/samples/Javascript/MoonWarriors/proj.android/build_native.cmd +++ b/samples/Javascript/MoonWarriors/proj.android/build_native.cmd @@ -57,7 +57,7 @@ set COCOS2DX_ROOT=%~dp0..\..\..\.. set APP_ROOT=%~dp0.. set APP_ANDROID_ROOT=%~dp0 set RESROUCE_ROOT="%APP_ROOT%\..\Shared\games\MoonWarriors\res" -set BINDINGS_JS_ROOT=%APP_ROOT%\..\..\..\scripting\javascript\bindings\js +set BINDINGS_JS_ROOT=%COCOS2DX_ROOT%\cocos\scripting\javascript\script if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) :MODULE1 @@ -66,7 +66,7 @@ if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) goto :COPY_RES :MODULE2 echo "Using prebuilt externals" - set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt + set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos;%COCOS2DX_ROOT%\external :COPY_RES echo NDK_ROOT = %NDK_ROOT% @@ -79,13 +79,12 @@ rem make sure assets is exist if exist %APP_ANDROID_ROOT%\assets rd /q /s %APP_ANDROID_ROOT%\assets mkdir %APP_ANDROID_ROOT%\assets -mkdir %APP_ANDROID_ROOT%\assets\res rem copy Resources/* into assets' root xcopy /e /q /r /y %RESROUCE_ROOT%\* %APP_ANDROID_ROOT%\assets rem copy MoonWarriors js -xcopy /e /q /r /y %RESROUCE_ROOT%\..\src\* %APP_ANDROID_ROOT%\assets +xcopy /e /q /r /y %RESROUCE_ROOT%\..\src %APP_ANDROID_ROOT%\assets rem copy MoonWarriors-native.js xcopy /e /q /r /y %RESROUCE_ROOT%\..\* %APP_ANDROID_ROOT%\assets @@ -93,5 +92,5 @@ xcopy /e /q /r /y %RESROUCE_ROOT%\..\* %APP_ANDROID_ROOT%\assets rem copy bindings/*.js into assets' root xcopy /e /q /r /y %BINDINGS_JS_ROOT%\* %APP_ANDROID_ROOT%\assets -call %NDK_ROOT%\ndk-build.cmd %PARALLEL_BUILD_FLAG% NDK_LOG=0 V=0 +call %NDK_ROOT%\ndk-build.cmd %PARALLEL_BUILD_FLAG% NDK_LOG=0 V=0 %* pause diff --git a/samples/Javascript/MoonWarriors/proj.android/project.properties b/samples/Javascript/MoonWarriors/proj.android/project.properties index db4ff43492..0a6dc6664d 100644 --- a/samples/Javascript/MoonWarriors/proj.android/project.properties +++ b/samples/Javascript/MoonWarriors/proj.android/project.properties @@ -8,6 +8,6 @@ # project structure. # Project target. -target=android-13 +target=android-10 -android.library.reference.1=../../../../cocos2dx/platform/android/java +android.library.reference.1=../../../../cocos/2d/platform/android/java diff --git a/samples/Javascript/MoonWarriors/proj.win32/MoonWarriors.vcxproj b/samples/Javascript/MoonWarriors/proj.win32/MoonWarriors.vcxproj index 1b8d85f756..08efa5fdba 100644 --- a/samples/Javascript/MoonWarriors/proj.win32/MoonWarriors.vcxproj +++ b/samples/Javascript/MoonWarriors/proj.win32/MoonWarriors.vcxproj @@ -34,19 +34,21 @@ - + + - + + <_ProjectFileVersion>10.0.40219.1 - $(ProjectDir)..\..\..\..\$(Configuration).win32\ + $(SolutionDir)$(Configuration).win32\ $(Configuration).win32\ false - $(ProjectDir)..\..\..\..\$(Configuration).win32\ + $(SolutionDir)$(Configuration).win32\ $(Configuration).win32\ false AllRules.ruleset @@ -77,7 +79,7 @@ Disabled - .;..\Classes;$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\include;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\scripting\auto-generated\js-bindings;$(ProjectDir)..\..\..\..\scripting\javascript\bindings;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\audio\include;%(AdditionalIncludeDirectories) + .;..\Classes;$(EngineRoot);$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)cocos\scripting\javascript\bindings;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;_DEBUG;DEBUG;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_DEBUG=1;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false EnableFastChecks @@ -96,11 +98,11 @@ if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\spidermonkey\prebuilt\win32\*.*" "$(OutDir)" - libcocos2d.lib;libExtensions.lib;libCocosDenshion.lib;libchipmunk.lib;libJSBinding.lib;libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) + libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) true Windows @@ -110,7 +112,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\li if not exist "$(OutDir)" mkdir "$(OutDir)" if exist "$(OutDir)\MoonWarriorsRes" rd /s /q "$(OutDir)\MoonWarriorsRes" mkdir "$(OutDir)\MoonWarriorsRes" -xcopy "$(ProjectDir)..\..\..\..\scripting\javascript\bindings\js\*.js" "$(OutDir)\MoonWarriorsRes" /e /Y +xcopy "$(ProjectDir)..\..\..\..\cocos\scripting\javascript\script\*.js" "$(OutDir)\MoonWarriorsRes" /e /Y xcopy "$(ProjectDir)..\..\Shared\games\MoonWarriors" "$(OutDir)\MoonWarriorsRes\" /e /Y Copy js and resource files. @@ -129,7 +131,7 @@ xcopy "$(ProjectDir)..\..\Shared\games\MoonWarriors" "$(OutDir)\MoonWarriorsRes\ testjs_p.c - .;..\Classes;$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\include;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\scripting\auto-generated\js-bindings;$(ProjectDir)..\..\..\..\scripting\javascript\bindings;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\audio\include;%(AdditionalIncludeDirectories) + .;..\Classes;$(EngineRoot);$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)cocos\scripting\javascript\bindings;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;NDEBUG;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) @@ -149,20 +151,21 @@ xcopy "$(ProjectDir)..\..\Shared\games\MoonWarriors" "$(OutDir)\MoonWarriorsRes\ if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\spidermonkey\prebuilt\win32\*.*" "$(OutDir)" - libcocos2d.lib;libExtensions.lib;libCocosDenshion.lib;libchipmunk.lib;libJSBinding.lib;libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) + libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) Windows MachineX86 + true if not exist "$(OutDir)" mkdir "$(OutDir)" if exist "$(OutDir)\MoonWarriorsRes" rd /s /q "$(OutDir)\MoonWarriorsRes" mkdir "$(OutDir)\MoonWarriorsRes" -xcopy "$(ProjectDir)..\..\..\..\scripting\javascript\bindings\js\*.js" "$(OutDir)\MoonWarriorsRes" /e /Y +xcopy "$(ProjectDir)..\..\..\..\cocos\scripting\javascript\script\*.js" "$(OutDir)\MoonWarriorsRes" /e /Y xcopy "$(ProjectDir)..\..\Shared\games\MoonWarriors" "$(OutDir)\MoonWarriorsRes\" /e /Y Copy js and resource files. @@ -183,13 +186,47 @@ xcopy "$(ProjectDir)..\..\Shared\games\MoonWarriors" "$(OutDir)\MoonWarriorsRes\ - + {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - false - + {f8edd7fa-9a51-4e80-baeb-860825d2eac6} - false + + + {811c0dab-7b96-4bd3-a154-b7572b58e4ab} + + + {b57cf53f-2e49-4031-9822-047cc0e6bde2} + + + {7e06e92c-537a-442b-9e4a-4761c84f8a1a} + + + {df2638c0-8128-4847-867c-6eafe3dee7b5} + + + {21070e58-eec6-4e16-8b4f-6d083df55790} + + + {f9da0fc1-651b-457b-962e-a4d61cebf5fd} + + + {625f7391-9a91-48a1-8cfc-79508c822637} + + + {68f5f371-bd7b-4c30-ae5b-0b08f22e0cde} + + + {39379840-825a-45a0-b363-c09ffef864bd} + + + {632a8f38-d0f0-4d22-86b3-d69f5e6bf63a} + + + {21b2c324-891f-48ea-ad1a-5ae13de12e28} + + + {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} diff --git a/samples/Javascript/TestJavascript/Classes/AppDelegate.cpp b/samples/Javascript/TestJavascript/Classes/AppDelegate.cpp index 51ebd8d85f..2a26806916 100644 --- a/samples/Javascript/TestJavascript/Classes/AppDelegate.cpp +++ b/samples/Javascript/TestJavascript/Classes/AppDelegate.cpp @@ -5,14 +5,18 @@ #include "ScriptingCore.h" #include "jsb_cocos2dx_auto.hpp" #include "jsb_cocos2dx_extension_auto.hpp" -#include "jsb_cocos2dx_extension_manual.h" +#include "jsb_cocos2dx_builder_auto.hpp" +#include "jsb_cocos2dx_studio_auto.hpp" +#include "extension/jsb_cocos2dx_extension_manual.h" +#include "cocostudio/jsb_cocos2dx_studio_manual.h" #include "cocos2d_specifics.hpp" -#include "js_bindings_chipmunk_registration.h" -#include "js_bindings_system_registration.h" +#include "cocosbuilder/cocosbuilder_specifics.hpp" +#include "chipmunk/js_bindings_chipmunk_registration.h" +#include "localstorage/js_bindings_system_registration.h" #include "jsb_opengl_registration.h" -#include "XMLHTTPRequest.h" -#include "jsb_websocket.h" -#include "js_bindings_ccbreader.h" +#include "network/XMLHTTPRequest.h" +#include "network/jsb_websocket.h" +#include "cocosbuilder/js_bindings_ccbreader.h" USING_NS_CC; USING_NS_CC_EXT; @@ -54,7 +58,12 @@ bool AppDelegate::applicationDidFinishLaunching() sc->addRegisterCallback(jsb_register_system); sc->addRegisterCallback(MinXmlHttpRequest::_js_register); sc->addRegisterCallback(register_jsb_websocket); + + sc->addRegisterCallback(register_all_cocos2dx_builder); sc->addRegisterCallback(register_CCBuilderReader); + + sc->addRegisterCallback(register_all_cocos2dx_studio); + sc->addRegisterCallback(register_all_cocos2dx_studio_manual); sc->start(); diff --git a/samples/Javascript/TestJavascript/proj.android/build_native.cmd b/samples/Javascript/TestJavascript/proj.android/build_native.cmd index 19ee06dd56..a0a5ec0785 100644 --- a/samples/Javascript/TestJavascript/proj.android/build_native.cmd +++ b/samples/Javascript/TestJavascript/proj.android/build_native.cmd @@ -56,7 +56,7 @@ exit /b 1 set COCOS2DX_ROOT=%~dp0..\..\..\.. set APP_ROOT=%~dp0.. set APP_ANDROID_ROOT=%~dp0 -set BINDINGS_JS_ROOT=%APP_ROOT%\..\..\..\scripting\javascript\bindings\js +set BINDINGS_JS_ROOT=%COCOS2DX_ROOT%\cocos\scripting\javascript\script if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) :MODULE1 @@ -65,7 +65,7 @@ if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) goto :COPY_RES :MODULE2 echo "Using prebuilt externals" - set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt + set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos;%COCOS2DX_ROOT%\external :COPY_RES echo NDK_ROOT = %NDK_ROOT% @@ -86,5 +86,5 @@ xcopy /e /q /r /y %APP_ROOT%\..\Shared\tests\* %APP_ANDROID_ROOT%\assets rem copy bindings/*.js into assets' root xcopy /e /q /r /y %BINDINGS_JS_ROOT%\* %APP_ANDROID_ROOT%\assets -call %NDK_ROOT%\ndk-build.cmd %PARALLEL_BUILD_FLAG% NDK_LOG=0 V=0 +call %NDK_ROOT%\ndk-build.cmd %PARALLEL_BUILD_FLAG% NDK_LOG=0 V=0 %* pause \ No newline at end of file diff --git a/samples/Javascript/TestJavascript/proj.android/project.properties b/samples/Javascript/TestJavascript/proj.android/project.properties index db4ff43492..0a6dc6664d 100644 --- a/samples/Javascript/TestJavascript/proj.android/project.properties +++ b/samples/Javascript/TestJavascript/proj.android/project.properties @@ -8,6 +8,6 @@ # project structure. # Project target. -target=android-13 +target=android-10 -android.library.reference.1=../../../../cocos2dx/platform/android/java +android.library.reference.1=../../../../cocos/2d/platform/android/java diff --git a/samples/Javascript/TestJavascript/proj.win32/TestJavascript.vcxproj b/samples/Javascript/TestJavascript/proj.win32/TestJavascript.vcxproj index 6af44de033..1af52eccb0 100644 --- a/samples/Javascript/TestJavascript/proj.win32/TestJavascript.vcxproj +++ b/samples/Javascript/TestJavascript/proj.win32/TestJavascript.vcxproj @@ -34,11 +34,13 @@ - + + - + + @@ -77,7 +79,7 @@ Disabled - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\include;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\scripting\javascript\bindings;$(ProjectDir)..\..\..\..\scripting\auto-generated\js-bindings;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\storage;$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)cocos\scripting\javascript\bindings;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;DEBUG;_DEBUG;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_DEBUG=1;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false EnableFastChecks @@ -96,12 +98,12 @@ if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\lib\*.*" "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\spidermonkey\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\websockets\prebuilt\win32\*.*" "$(OutDir)" - libcocos2d.lib;libExtensions.lib;libCocosDenshion.lib;libchipmunk.lib;libJSBinding.lib;libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;websockets.lib;%(AdditionalDependencies) + libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;websockets.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) true Windows @@ -111,7 +113,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(O if not exist "$(OutDir)" mkdir "$(OutDir)" if exist "$(OutDir)\TestJavascriptRes" rd /s /q "$(OutDir)\TestJavascriptRes" mkdir "$(OutDir)\TestJavascriptRes" -xcopy "$(ProjectDir)..\..\..\..\scripting\javascript\bindings\js\*.js" "$(OutDir)\TestJavascriptRes\" /e /Y +xcopy "$(ProjectDir)..\..\..\..\cocos\scripting\javascript\script\*.js" "$(OutDir)\TestJavascriptRes\" /e /Y xcopy "$(ProjectDir)..\..\Shared\tests" "$(OutDir)\TestJavascriptRes\" /e /Y @@ -132,7 +134,7 @@ xcopy "$(ProjectDir)..\..\Shared\tests" "$(OutDir)\TestJavascriptRes\" /e /Ytestjs_p.c - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\include;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\scripting\javascript\bindings;$(ProjectDir)..\..\..\..\scripting\auto-generated\js-bindings;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\storage;$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)cocos\scripting\javascript\bindings;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;NDEBUG;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) @@ -152,21 +154,22 @@ xcopy "$(ProjectDir)..\..\Shared\tests" "$(OutDir)\TestJavascriptRes\" /e /Y if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\lib\*.*" "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\spidermonkey\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\websockets\prebuilt\win32\*.*" "$(OutDir)" - libcocos2d.lib;libExtensions.lib;libCocosDenshion.lib;libchipmunk.lib;libJSBinding.lib;libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;websockets.lib;%(AdditionalDependencies) + libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;websockets.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) Windows MachineX86 + true if not exist "$(OutDir)" mkdir "$(OutDir)" if exist "$(OutDir)\TestJavascriptRes" rd /s /q "$(OutDir)\TestJavascriptRes" mkdir "$(OutDir)\TestJavascriptRes" -xcopy "$(ProjectDir)..\..\..\..\scripting\javascript\bindings\js\*.js" "$(OutDir)\TestJavascriptRes\" /e /Y +xcopy "$(ProjectDir)..\..\..\..\cocos\scripting\javascript\script\*.js" "$(OutDir)\TestJavascriptRes\" /e /Y xcopy "$(ProjectDir)..\..\Shared\tests" "$(OutDir)\TestJavascriptRes\" /e /Y Copy js and resource files. @@ -187,14 +190,62 @@ xcopy "$(ProjectDir)..\..\Shared\tests" "$(OutDir)\TestJavascriptRes\" /e /Y - + {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} false - + {f8edd7fa-9a51-4e80-baeb-860825d2eac6} false + + {811c0dab-7b96-4bd3-a154-b7572b58e4ab} + + + {b57cf53f-2e49-4031-9822-047cc0e6bde2} + + + {b7c2a162-dec9-4418-972e-240ab3cbfcae} + + + {7e06e92c-537a-442b-9e4a-4761c84f8a1a} + + + {df2638c0-8128-4847-867c-6eafe3dee7b5} + + + {21070e58-eec6-4e16-8b4f-6d083df55790} + + + {f9da0fc1-651b-457b-962e-a4d61cebf5fd} + + + {79d34511-e54e-410a-8bba-ef175ad6c695} + + + {625f7391-9a91-48a1-8cfc-79508c822637} + + + {68f5f371-bd7b-4c30-ae5b-0b08f22e0cde} + + + {3bec13f5-e227-4d80-bc77-1c857f83bcfc} + + + {39379840-825a-45a0-b363-c09ffef864bd} + + + {632a8f38-d0f0-4d22-86b3-d69f5e6bf63a} + + + {21b2c324-891f-48ea-ad1a-5ae13de12e28} + + + {929480e7-23c0-4df6-8456-096d71547116} + + + {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} + diff --git a/samples/Javascript/WatermelonWithMe/Classes/AppDelegate.cpp b/samples/Javascript/WatermelonWithMe/Classes/AppDelegate.cpp index 3e9c616b35..663cd87769 100644 --- a/samples/Javascript/WatermelonWithMe/Classes/AppDelegate.cpp +++ b/samples/Javascript/WatermelonWithMe/Classes/AppDelegate.cpp @@ -5,11 +5,12 @@ #include "ScriptingCore.h" #include "jsb_cocos2dx_auto.hpp" #include "jsb_cocos2dx_extension_auto.hpp" -#include "jsb_cocos2dx_extension_manual.h" +#include "jsb_cocos2dx_builder_auto.hpp" +#include "extension/jsb_cocos2dx_extension_manual.h" #include "cocos2d_specifics.hpp" -#include "js_bindings_chipmunk_registration.h" -#include "js_bindings_ccbreader.h" -#include "js_bindings_system_registration.h" +#include "chipmunk/js_bindings_chipmunk_registration.h" +#include "cocosbuilder/js_bindings_ccbreader.h" +#include "localstorage/js_bindings_system_registration.h" #include "jsb_opengl_registration.h" USING_NS_CC; @@ -46,6 +47,7 @@ bool AppDelegate::applicationDidFinishLaunching() sc->addRegisterCallback(register_all_cocos2dx_extension_manual); sc->addRegisterCallback(register_cocos2dx_js_extensions); sc->addRegisterCallback(jsb_register_chipmunk); + sc->addRegisterCallback(register_all_cocos2dx_builder); sc->addRegisterCallback(register_CCBuilderReader); sc->addRegisterCallback(jsb_register_system); sc->addRegisterCallback(JSB_register_opengl); diff --git a/samples/Javascript/WatermelonWithMe/proj.android/build_native.cmd b/samples/Javascript/WatermelonWithMe/proj.android/build_native.cmd index 9594dada6b..a592025ff0 100644 --- a/samples/Javascript/WatermelonWithMe/proj.android/build_native.cmd +++ b/samples/Javascript/WatermelonWithMe/proj.android/build_native.cmd @@ -57,7 +57,7 @@ set COCOS2DX_ROOT=%~dp0..\..\..\.. set APP_ROOT=%~dp0.. set APP_ANDROID_ROOT=%~dp0 set RESROUCE_ROOT="%APP_ROOT%\..\Shared\games\WatermelonWithMe" -set BINDINGS_JS_ROOT=%APP_ROOT%\..\..\..\scripting\javascript\bindings\js +set BINDINGS_JS_ROOT=%COCOS2DX_ROOT%\cocos\scripting\javascript\script if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) :MODULE1 @@ -66,7 +66,7 @@ if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) goto :COPY_RES :MODULE2 echo "Using prebuilt externals" - set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt + set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos;%COCOS2DX_ROOT%\external :COPY_RES echo NDK_ROOT = %NDK_ROOT% @@ -79,7 +79,6 @@ rem make sure assets is exist if exist %APP_ANDROID_ROOT%\assets rd /q /s %APP_ANDROID_ROOT%\assets mkdir %APP_ANDROID_ROOT%\assets -mkdir %APP_ANDROID_ROOT%\assets\res rem copy Resources/* into assets' root xcopy /e /q /r /y %RESROUCE_ROOT%\* %APP_ANDROID_ROOT%\assets @@ -87,5 +86,5 @@ xcopy /e /q /r /y %RESROUCE_ROOT%\* %APP_ANDROID_ROOT%\assets rem copy bindings/*.js into assets' root xcopy /e /q /r /y %BINDINGS_JS_ROOT%\* %APP_ANDROID_ROOT%\assets -call %NDK_ROOT%\ndk-build.cmd %PARALLEL_BUILD_FLAG% NDK_LOG=0 V=0 +call %NDK_ROOT%\ndk-build.cmd %PARALLEL_BUILD_FLAG% NDK_LOG=0 V=0 %* pause diff --git a/samples/Javascript/WatermelonWithMe/proj.android/project.properties b/samples/Javascript/WatermelonWithMe/proj.android/project.properties index db4ff43492..0a6dc6664d 100644 --- a/samples/Javascript/WatermelonWithMe/proj.android/project.properties +++ b/samples/Javascript/WatermelonWithMe/proj.android/project.properties @@ -8,6 +8,6 @@ # project structure. # Project target. -target=android-13 +target=android-10 -android.library.reference.1=../../../../cocos2dx/platform/android/java +android.library.reference.1=../../../../cocos/2d/platform/android/java diff --git a/samples/Javascript/WatermelonWithMe/proj.win32/WatermelonWithMe.vcxproj b/samples/Javascript/WatermelonWithMe/proj.win32/WatermelonWithMe.vcxproj index b6b8e34883..48f07febfb 100644 --- a/samples/Javascript/WatermelonWithMe/proj.win32/WatermelonWithMe.vcxproj +++ b/samples/Javascript/WatermelonWithMe/proj.win32/WatermelonWithMe.vcxproj @@ -34,11 +34,13 @@ - + + - + + @@ -77,7 +79,7 @@ Disabled - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\include;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\scripting\auto-generated\js-bindings;$(ProjectDir)..\..\..\..\scripting\javascript\bindings;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot);$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)cocos\scripting\javascript\bindings;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;_DEBUG;DEBUG;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_DEBUG=1;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false EnableFastChecks @@ -96,11 +98,11 @@ if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\spidermonkey\prebuilt\win32\*.*" "$(OutDir)" - libcocos2d.lib;libExtensions.lib;libCocosDenshion.lib;libchipmunk.lib;libJSBinding.lib;libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) + libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) true Windows @@ -110,7 +112,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\li if not exist "$(OutDir)" mkdir "$(OutDir)" if exist "$(OutDir)\WatermelonWithMeRes" rd /s /q "$(OutDir)\WatermelonWithMeRes" mkdir "$(OutDir)\WatermelonWithMeRes" -xcopy "$(ProjectDir)..\..\..\..\scripting\javascript\bindings\js\*.js" "$(OutDir)\WatermelonWithMeRes" /e /Y +xcopy "$(ProjectDir)..\..\..\..\cocos\scripting\javascript\script\*.js" "$(OutDir)\WatermelonWithMeRes" /e /Y xcopy "$(ProjectDir)..\..\Shared\games\WatermelonWithMe" "$(OutDir)\WatermelonWithMeRes\" /e /Y @@ -131,7 +133,7 @@ xcopy "$(ProjectDir)..\..\Shared\games\WatermelonWithMe" "$(OutDir)\WatermelonWi testjs_p.c - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\include;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\scripting\auto-generated\js-bindings;$(ProjectDir)..\..\..\..\scripting\javascript\bindings;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot);$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)cocos\scripting\javascript\bindings;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;NDEBUG;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) @@ -151,20 +153,21 @@ xcopy "$(ProjectDir)..\..\Shared\games\WatermelonWithMe" "$(OutDir)\WatermelonWi if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\scripting\javascript\spidermonkey-win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\spidermonkey\prebuilt\win32\*.*" "$(OutDir)" - libcocos2d.lib;libExtensions.lib;libCocosDenshion.lib;libchipmunk.lib;libJSBinding.lib;libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) + libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) Windows MachineX86 + true if not exist "$(OutDir)" mkdir "$(OutDir)" if exist "$(OutDir)\WatermelonWithMeRes" rd /s /q "$(OutDir)\WatermelonWithMeRes" mkdir "$(OutDir)\WatermelonWithMeRes" -xcopy "$(ProjectDir)..\..\..\..\scripting\javascript\bindings\js\*.js" "$(OutDir)\WatermelonWithMeRes" /e /Y +xcopy "$(ProjectDir)..\..\..\..\cocos\scripting\javascript\script\*.js" "$(OutDir)\WatermelonWithMeRes" /e /Y xcopy "$(ProjectDir)..\..\Shared\games\WatermelonWithMe" "$(OutDir)\WatermelonWithMeRes\" /e /Y Copy js and resource files. @@ -185,13 +188,47 @@ xcopy "$(ProjectDir)..\..\Shared\games\WatermelonWithMe" "$(OutDir)\WatermelonWi - + {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - false - + {f8edd7fa-9a51-4e80-baeb-860825d2eac6} - false + + + {811c0dab-7b96-4bd3-a154-b7572b58e4ab} + + + {b57cf53f-2e49-4031-9822-047cc0e6bde2} + + + {7e06e92c-537a-442b-9e4a-4761c84f8a1a} + + + {df2638c0-8128-4847-867c-6eafe3dee7b5} + + + {21070e58-eec6-4e16-8b4f-6d083df55790} + + + {f9da0fc1-651b-457b-962e-a4d61cebf5fd} + + + {625f7391-9a91-48a1-8cfc-79508c822637} + + + {68f5f371-bd7b-4c30-ae5b-0b08f22e0cde} + + + {39379840-825a-45a0-b363-c09ffef864bd} + + + {632a8f38-d0f0-4d22-86b3-d69f5e6bf63a} + + + {21b2c324-891f-48ea-ad1a-5ae13de12e28} + + + {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} diff --git a/samples/Lua/HelloLua/proj.android/build_native.cmd b/samples/Lua/HelloLua/proj.android/build_native.cmd index 7daf57dd23..4116608669 100644 --- a/samples/Lua/HelloLua/proj.android/build_native.cmd +++ b/samples/Lua/HelloLua/proj.android/build_native.cmd @@ -62,7 +62,7 @@ if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) goto :COPY_RES :MODULE2 echo "Using prebuilt externals" - set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt + set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos;%COCOS2DX_ROOT%\external :COPY_RES echo NDK_ROOT = %NDK_ROOT% @@ -75,13 +75,12 @@ rem make sure assets is exist if exist %APP_ANDROID_ROOT%\assets rd /q /s %APP_ANDROID_ROOT%\assets mkdir %APP_ANDROID_ROOT%\assets -mkdir %APP_ANDROID_ROOT%\assets\res rem copy Resources/* into assets' root xcopy /e /q /r /y %APP_ROOT%\Resources\* %APP_ANDROID_ROOT%\assets rem copy common luaScript -xcopy /e /q /r /y %APP_ROOT%\..\..\scripting\lua\script\* %APP_ANDROID_ROOT%\assets +xcopy /e /q /r /y %COCOS2DX_ROOT%\cocos\scripting\lua\script\* %APP_ANDROID_ROOT%\assets -call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 +call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 %* pause \ No newline at end of file diff --git a/samples/Lua/HelloLua/proj.android/project.properties b/samples/Lua/HelloLua/proj.android/project.properties index db4ff43492..0a6dc6664d 100644 --- a/samples/Lua/HelloLua/proj.android/project.properties +++ b/samples/Lua/HelloLua/proj.android/project.properties @@ -8,6 +8,6 @@ # project structure. # Project target. -target=android-13 +target=android-10 -android.library.reference.1=../../../../cocos2dx/platform/android/java +android.library.reference.1=../../../../cocos/2d/platform/android/java diff --git a/samples/Lua/HelloLua/proj.linux/Makefile b/samples/Lua/HelloLua/proj.linux/Makefile index 1ebb038045..6a0ddf230c 100644 --- a/samples/Lua/HelloLua/proj.linux/Makefile +++ b/samples/Lua/HelloLua/proj.linux/Makefile @@ -1,28 +1,22 @@ EXECUTABLE = HelloLua COCOS_ROOT = ../../../.. -INCLUDES = -I../ -I../Classes -I$(COCOS_ROOT)/audio/include \ - -I$(COCOS_ROOT)/scripting/lua/lua \ - -I$(COCOS_ROOT)/scripting/lua/tolua \ - -I$(COCOS_ROOT)/scripting/lua/cocos2dx_support \ - -I$(COCOS_ROOT)/extensions \ +INCLUDES = -I../Classes \ + -I$(COCOS_ROOT)/audio/include \ + -I$(COCOS_ROOT)/cocos/scripting/lua/bindings \ + -I$(COCOS_ROOT)/external/lua/lua SOURCES = main.cpp ../Classes/AppDelegate.cpp SHAREDLIBS += -lcocos2d -lcocosdenshion -llua -lextension -COCOS_LIBS = $(LIB_DIR)/libcocos2d.so $(LIB_DIR)/libcocosdenshion.so $(LIB_DIR)/liblua.so -include $(COCOS_ROOT)/cocos2dx/proj.linux/cocos2dx.mk +include $(COCOS_ROOT)/cocos/2d/cocos2dx.mk $(TARGET): $(OBJECTS) $(STATICLIBS) $(COCOS_LIBS) $(CORE_MAKEFILE_LIST) @mkdir -p $(@D) - cp -n ../../../../scripting/lua/script/* ../../../../samples/Lua/HelloLua/Resources + cp -n ../../../../cocos/scripting/lua/script/* ../../../../samples/Lua/HelloLua/Resources $(LOG_LINK)$(CXX) $(CXXFLAGS) $(OBJECTS) -o $@ $(SHAREDLIBS) $(STATICLIBS) $(LIBS) $(OBJ_DIR)/%.o: ../%.cpp $(CORE_MAKEFILE_LIST) @mkdir -p $(@D) $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) $(VISIBILITY) -c $< -o $@ - -$(OBJ_DIR)/%.o: %.cpp $(CORE_MAKEFILE_LIST) - @mkdir -p $(@D) - $(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) $(VISIBILITY) -c $< -o $@ diff --git a/samples/Lua/HelloLua/proj.win32/HelloLua.vcxproj b/samples/Lua/HelloLua/proj.win32/HelloLua.vcxproj index f01edcaf43..fb17ddfe2e 100644 --- a/samples/Lua/HelloLua/proj.win32/HelloLua.vcxproj +++ b/samples/Lua/HelloLua/proj.win32/HelloLua.vcxproj @@ -34,11 +34,13 @@ - + + - + + @@ -77,7 +79,7 @@ Disabled - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\..\scripting\auto-generated\lua-bindings;$(ProjectDir)..\..\..\..\scripting\lua\cocos2dx_support;$(ProjectDir)..\..\..\..\scripting\lua\lua;$(ProjectDir)..\..\..\..\scripting\lua\tolua;$(ProjectDir)..\..\..\..\scripting\lua\src;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\audio\include;$(ProjectDir)..\..\..\..\extensions;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot)cocos\scripting\auto-generated\lua-bindings;$(EngineRoot)cocos\scripting\lua\bindings;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\lua\lua;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;_DEBUG;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false EnableFastChecks @@ -95,14 +97,14 @@ $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;$(IntDir);%(AdditionalIncludeDirectories) - libcocos2d.lib;libCocosDenshion.lib;liblua.lib;lua51.lib;libExtensions.lib;websockets.lib;libchipmunk.lib;%(AdditionalDependencies) + lua51.lib;websockets.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) true Windows MachineX86 - xcopy "$(ProjectDir)..\..\..\..\scripting\lua\script" "$(ProjectDir)..\..\HelloLua\Resources" /e /Y + xcopy "$(ProjectDir)..\..\..\..\cocos\scripting\lua\script" "$(ProjectDir)..\..\HelloLua\Resources" /e /Y @@ -119,7 +121,7 @@ HelloLua_p.c - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\..\scripting\auto-generated\lua-bindings;$(ProjectDir)..\..\..\..\scripting\lua\cocos2dx_support;$(ProjectDir)..\..\..\..\scripting\lua\lua;$(ProjectDir)..\..\..\..\scripting\lua\tolua;$(ProjectDir)..\..\..\..\scripting\lua\src;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot)cocos\scripting\auto-generated\lua-bindings;$(EngineRoot)cocos\scripting\lua\bindings;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\lua\lua;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;NDEBUG;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) @@ -138,10 +140,11 @@ $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\include;$(IntDir);%(AdditionalIncludeDirectories) - libcocos2d.lib;libCocosDenshion.lib;liblua.lib;lua51.lib;libExtensions.lib;%(AdditionalDependencies) + lua51.lib;websockets.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) Windows MachineX86 + true @@ -153,17 +156,35 @@ - + {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - false - + {f8edd7fa-9a51-4e80-baeb-860825d2eac6} - false - + + {811c0dab-7b96-4bd3-a154-b7572b58e4ab} + + + {b57cf53f-2e49-4031-9822-047cc0e6bde2} + + + {7e06e92c-537a-442b-9e4a-4761c84f8a1a} + + + {df2638c0-8128-4847-867c-6eafe3dee7b5} + + {ddc3e27f-004d-4dd4-9dd3-931a013d2159} - false + + + {632a8f38-d0f0-4d22-86b3-d69f5e6bf63a} + + + {21b2c324-891f-48ea-ad1a-5ae13de12e28} + + + {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} diff --git a/samples/Lua/TestLua/proj.android/build_native.cmd b/samples/Lua/TestLua/proj.android/build_native.cmd index 5602f41812..fa1fc0ad75 100644 --- a/samples/Lua/TestLua/proj.android/build_native.cmd +++ b/samples/Lua/TestLua/proj.android/build_native.cmd @@ -62,7 +62,7 @@ if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) goto :COPY_RES :MODULE2 echo "Using prebuilt externals" - set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt + set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos;%COCOS2DX_ROOT%\external :COPY_RES echo NDK_ROOT = %NDK_ROOT% @@ -75,13 +75,19 @@ rem make sure assets is exist if exist %APP_ANDROID_ROOT%\assets rd /q /s %APP_ANDROID_ROOT%\assets mkdir %APP_ANDROID_ROOT%\assets -mkdir %APP_ANDROID_ROOT%\assets\res rem copy Resources/* into assets' root xcopy /e /q /r /y %APP_ROOT%\Resources\* %APP_ANDROID_ROOT%\assets rem copy common luaScript -xcopy /e /q /r /y %APP_ROOT%\..\..\scripting\lua\script\* %APP_ANDROID_ROOT%\assets +xcopy /e /q /r /y %COCOS2DX_ROOT%\cocos\scripting\lua\script\* %APP_ANDROID_ROOT%\assets -call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 +rem remove test_image_rgba4444.pvr.gz +del /f /q %APP_ANDROID_ROOT%\assets\Images\test_image_rgba4444.pvr.gz +del /f /q %APP_ANDROID_ROOT%\assets\Images\test_1021x1024_rgba8888.pvr.gz +del /f /q %APP_ANDROID_ROOT%\assets\Images\test_1021x1024_rgb888.pvr.gz +del /f /q %APP_ANDROID_ROOT%\assets\Images\test_1021x1024_rgba4444.pvr.gz +del /f /q %APP_ANDROID_ROOT%\assets\Images\test_1021x1024_a8.pvr.gz + +call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 %* pause \ No newline at end of file diff --git a/samples/Lua/TestLua/proj.android/project.properties b/samples/Lua/TestLua/proj.android/project.properties index db4ff43492..0a6dc6664d 100644 --- a/samples/Lua/TestLua/proj.android/project.properties +++ b/samples/Lua/TestLua/proj.android/project.properties @@ -8,6 +8,6 @@ # project structure. # Project target. -target=android-13 +target=android-10 -android.library.reference.1=../../../../cocos2dx/platform/android/java +android.library.reference.1=../../../../cocos/2d/platform/android/java diff --git a/samples/Lua/TestLua/proj.linux/Makefile b/samples/Lua/TestLua/proj.linux/Makefile index a23cc6dda4..5151716394 100644 --- a/samples/Lua/TestLua/proj.linux/Makefile +++ b/samples/Lua/TestLua/proj.linux/Makefile @@ -1,22 +1,22 @@ EXECUTABLE = TestLua COCOS_ROOT = ../../../.. -INCLUDES = -I../ -I../Classes -I$(COCOS_ROOT)/audio/include \ - -I$(COCOS_ROOT)/scripting/lua/lua \ - -I$(COCOS_ROOT)/scripting/lua/tolua \ - -I$(COCOS_ROOT)/scripting/lua/cocos2dx_support +INCLUDES = -I../Classes \ + -I$(COCOS_ROOT)/audio/include \ + -I$(COCOS_ROOT)/cocos/scripting/lua/bindings \ + -I$(COCOS_ROOT)/external/lua/lua -SOURCES = main.cpp ../Classes/AppDelegate.cpp +SOURCES = main.cpp \ +../Classes/AppDelegate.cpp SHAREDLIBS += -lcocos2d -lcocosdenshion -llua -COCOS_LIBS = $(LIB_DIR)/libcocos2d.so $(LIB_DIR)/libcocosdenshion.so $(LIB_DIR)/liblua.so -include $(COCOS_ROOT)/cocos2dx/proj.linux/cocos2dx.mk +include $(COCOS_ROOT)/cocos/2d/cocos2dx.mk $(TARGET): $(OBJECTS) $(STATICLIBS) $(COCOS_LIBS) $(CORE_MAKEFILE_LIST) @mkdir -p $(@D) cp -R -n ../../../../samples/Cpp/TestCpp/Resources ../../../../samples/Lua/TestLua - cp -n ../../../../scripting/lua/script/* ../../../../samples/Lua/TestLua/Resources + cp -n ../../../../cocos/scripting/lua/script/* ../../../../samples/Lua/TestLua/Resources $(LOG_LINK)$(CXX) $(CXXFLAGS) $(OBJECTS) -o $@ $(SHAREDLIBS) $(STATICLIBS) $(LIBS) $(OBJ_DIR)/%.o: ../%.cpp $(CORE_MAKEFILE_LIST) diff --git a/samples/Lua/TestLua/proj.win32/TestLua.win32.vcxproj b/samples/Lua/TestLua/proj.win32/TestLua.win32.vcxproj index 1d7682a2d2..0a4ea9edbd 100644 --- a/samples/Lua/TestLua/proj.win32/TestLua.win32.vcxproj +++ b/samples/Lua/TestLua/proj.win32/TestLua.win32.vcxproj @@ -36,11 +36,13 @@ - + + - + + @@ -64,7 +66,7 @@ - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\..\scripting\auto-generated\lua-bindings;$(ProjectDir)..\..\..\..\scripting\lua\cocos2dx_support;$(ProjectDir)..\..\..\..\scripting\lua\lua;$(ProjectDir)..\..\..\..\scripting\lua\tolua;$(ProjectDir)..\..\..\..\scripting\lua\src;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\external;$(ProjectDir)..\..\..\..\external\libwebsockets\win32\include;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot)cocos\scripting\auto-generated\lua-bindings;$(EngineRoot)cocos\scripting\lua\bindings;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\lua\lua;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) Level3 @@ -82,7 +84,7 @@ MachineX86 true $(OutDir);%(AdditionalLibraryDirectories) - libcocos2d.lib;libExtensions.lib;libBox2d.lib;libchipmunk.lib;libCocosDenshion.lib;liblua.lib;lua51.lib;websockets.lib;%(AdditionalDependencies) + lua51.lib;websockets.lib;%(AdditionalDependencies) 0x0409 @@ -103,17 +105,17 @@ xcopy "$(ProjectDir)..\..\..\Cpp\TestCpp\Resources" "$(ProjectDir)..\..\TestLua\Resources" /e /Y -xcopy "$(ProjectDir)..\..\..\..\scripting\lua\script" "$(ProjectDir)..\..\TestLua\Resources" /e /Y +xcopy "$(EngineRoot)cocos\scripting\lua\script" "$(ProjectDir)..\..\TestLua\Resources" /e /Y copy files from TestCpp to TestLua if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\\win32\*.*" "$(OutDir)" - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\..\scripting\auto-generated\lua-bindings;$(ProjectDir)..\..\..\..\scripting\lua\cocos2dx_support;$(ProjectDir)..\..\..\..\scripting\lua\lua;$(ProjectDir)..\..\..\..\scripting\lua\tolua;$(ProjectDir)..\..\..\..\scripting\lua\src;$(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\..\external;$(ProjectDir)..\..\..\..\external\libwebsockets\win32\include;$(ProjectDir)..\..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot)cocos\scripting\auto-generated\lua-bindings;$(EngineRoot)cocos\scripting\lua\bindings;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\lua\lua;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) Level3 @@ -129,7 +131,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(O Windows MachineX86 $(OutDir);%(AdditionalLibraryDirectories) - libcocos2d.lib;libExtensions.lib;libBox2d.lib;libchipmunk.lib;libCocosDenshion.lib;liblua.lib;lua51.lib;websockets.lib;%(AdditionalDependencies) + lua51.lib;websockets.lib;%(AdditionalDependencies) true @@ -151,12 +153,12 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(O xcopy "$(ProjectDir)..\..\..\Cpp\TestCpp\Resources" "$(ProjectDir)..\..\TestLua\Resources" /e /Y -xcopy "$(ProjectDir)..\..\..\..\scripting\lua\script" "$(ProjectDir)..\..\TestLua\Resources" /e /Y +xcopy "$(ProjectDir)..\..\..\..\cocos\scripting\lua\script" "$(ProjectDir)..\..\TestLua\Resources" /e /Y copy files from TestCpp to TestLua if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\websockets\prebuilt\win32\*.*" "$(OutDir)" @@ -167,6 +169,38 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(O + + + {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} + + + {f8edd7fa-9a51-4e80-baeb-860825d2eac6} + + + {811c0dab-7b96-4bd3-a154-b7572b58e4ab} + + + {b57cf53f-2e49-4031-9822-047cc0e6bde2} + + + {7e06e92c-537a-442b-9e4a-4761c84f8a1a} + + + {df2638c0-8128-4847-867c-6eafe3dee7b5} + + + {ddc3e27f-004d-4dd4-9dd3-931a013d2159} + + + {632a8f38-d0f0-4d22-86b3-d69f5e6bf63a} + + + {21b2c324-891f-48ea-ad1a-5ae13de12e28} + + + {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} + + diff --git a/template/multi-platform-cpp/proj.android/build_native.cmd b/template/multi-platform-cpp/proj.android/build_native.cmd index 68a56c815c..5b25ec4817 100644 --- a/template/multi-platform-cpp/proj.android/build_native.cmd +++ b/template/multi-platform-cpp/proj.android/build_native.cmd @@ -62,7 +62,7 @@ if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) goto :COPY_RES :MODULE2 echo "Using prebuilt externals" - set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt + set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos;%COCOS2DX_ROOT%\external :COPY_RES echo NDK_ROOT = %NDK_ROOT% @@ -75,10 +75,9 @@ rem make sure assets is exist if exist %APP_ANDROID_ROOT%\assets rd /q /s %APP_ANDROID_ROOT%\assets mkdir %APP_ANDROID_ROOT%\assets -mkdir %APP_ANDROID_ROOT%\assets\res rem copy Resources/* into assets' root xcopy /e /q /r /y %APP_ROOT%\Resources\* %APP_ANDROID_ROOT%\assets -call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 +call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 %* pause \ No newline at end of file diff --git a/template/multi-platform-cpp/proj.android/project.properties b/template/multi-platform-cpp/proj.android/project.properties index 6495217b66..16f145cfc9 100644 --- a/template/multi-platform-cpp/proj.android/project.properties +++ b/template/multi-platform-cpp/proj.android/project.properties @@ -8,6 +8,6 @@ # project structure. # Project target. -target=android-13 +target=android-10 -android.library.reference.1=../../../cocos2dx/platform/android/java +android.library.reference.1=../../../cocos/2d/platform/android/java diff --git a/template/multi-platform-cpp/proj.win32/HelloCpp.sln b/template/multi-platform-cpp/proj.win32/HelloCpp.sln index 31c2e25053..774ee12d79 100644 --- a/template/multi-platform-cpp/proj.win32/HelloCpp.sln +++ b/template/multi-platform-cpp/proj.win32/HelloCpp.sln @@ -3,32 +3,17 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloCpp", "HelloCpp.vcxproj", "{76A39BB2-9B84-4C65-98A5-654D86B86F2A}" ProjectSection(ProjectDependencies) = postProject - {21B2C324-891F-48EA-AD1A-5AE13DE12E28} = {21B2C324-891F-48EA-AD1A-5AE13DE12E28} {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} = {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} - {929480E7-23C0-4DF6-8456-096D71547116} = {929480E7-23C0-4DF6-8456-096D71547116} {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} = {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\..\..\cocos2dx\proj.win32\cocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCocosDenshion", "..\..\..\CocosDenshion\proj.win32\CocosDenshion.vcxproj", "{F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}" - ProjectSection(ProjectDependencies) = postProject - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libExtensions", "..\..\..\extensions\proj.win32\libExtensions.vcxproj", "{21B2C324-891F-48EA-AD1A-5AE13DE12E28}" - ProjectSection(ProjectDependencies) = postProject - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} = {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} - {929480E7-23C0-4DF6-8456-096D71547116} = {929480E7-23C0-4DF6-8456-096D71547116} - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} = {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libBox2D", "..\..\..\external\Box2D\proj.win32\Box2D.vcxproj", "{929480E7-23C0-4DF6-8456-096D71547116}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\..\..\cocos\2d\cocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchipmunk", "..\..\..\external\chipmunk\proj.win32\chipmunk.vcxproj", "{207BC7A9-CCF1-4F2F-A04D-45F72242AE25}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libAudio", "..\..\..\cocos\audio\proj.win32\CocosDenshion.vcxproj", "{F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -43,22 +28,14 @@ Global {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.Build.0 = Debug|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.ActiveCfg = Release|Win32 {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.Build.0 = Release|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.ActiveCfg = Debug|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.Build.0 = Debug|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.ActiveCfg = Release|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.Build.0 = Release|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.ActiveCfg = Debug|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.Build.0 = Debug|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.ActiveCfg = Release|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.Build.0 = Release|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Debug|Win32.ActiveCfg = Debug|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Debug|Win32.Build.0 = Debug|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Release|Win32.ActiveCfg = Release|Win32 - {929480E7-23C0-4DF6-8456-096D71547116}.Release|Win32.Build.0 = Release|Win32 {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.ActiveCfg = Debug|Win32 {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.Build.0 = Debug|Win32 {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.ActiveCfg = Release|Win32 {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.Build.0 = Release|Win32 + {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.ActiveCfg = Debug|Win32 + {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.Build.0 = Debug|Win32 + {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.ActiveCfg = Release|Win32 + {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/template/multi-platform-cpp/proj.win32/HelloCpp.vcxproj b/template/multi-platform-cpp/proj.win32/HelloCpp.vcxproj index 70a728fe8e..f2e35df259 100644 --- a/template/multi-platform-cpp/proj.win32/HelloCpp.vcxproj +++ b/template/multi-platform-cpp/proj.win32/HelloCpp.vcxproj @@ -36,11 +36,13 @@ - + + - + + @@ -67,7 +69,7 @@ Disabled - $(ProjectDir)..\..\..\cocos2dx;$(ProjectDir)..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\external;$(ProjectDir)..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\audio\include;$(ProjectDir)..\..\..\extensions;..\Classes;..;%(AdditionalIncludeDirectories) + $(EngineRoot)cocos\audio\include;$(EngineRoot)external;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;..\Classes;..;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_WINDOWS;_USE_MATH_DEFINES;GL_GLEXT_PROTOTYPES;CC_ENABLE_CHIPMUNK_INTEGRATION=1;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false EnableFastChecks @@ -80,7 +82,7 @@ true - libExtensions.lib;libcocos2d.lib;libCocosDenshion.lib;libBox2d.lib;libchipmunk.lib;libcurl_imp.lib;websockets.lib;%(AdditionalDependencies) + %(AdditionalDependencies) $(OutDir)$(ProjectName).exe $(OutDir);%(AdditionalLibraryDirectories) true @@ -93,14 +95,14 @@ if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)" MaxSpeed true - $(ProjectDir)..\..\..\cocos2dx;$(ProjectDir)..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\external;$(ProjectDir)..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\audio\include;$(ProjectDir)..\..\..\extensions;..\Classes;..;%(AdditionalIncludeDirectories) + $(EngineRoot)cocos\audio\include;$(EngineRoot)external;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;..\Classes;..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_USE_MATH_DEFINES;GL_GLEXT_PROTOTYPES;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) MultiThreadedDLL true @@ -112,7 +114,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutD true - libExtensions.lib;libcocos2d.lib;libCocosDenshion.lib;libBox2d.lib;libchipmunk.lib;libcurl_imp.lib;websockets.lib;%(AdditionalDependencies) + libcurl_imp.lib;websockets.lib;%(AdditionalDependencies) $(OutDir)$(ProjectName).exe $(OutDir);%(AdditionalLibraryDirectories) true @@ -127,7 +129,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutD if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)" @@ -141,25 +143,15 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutD - + {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} false - + {f8edd7fa-9a51-4e80-baeb-860825d2eac6} - false - - - {21b2c324-891f-48ea-ad1a-5ae13de12e28} - false - - - {929480e7-23c0-4df6-8456-096d71547116} - false {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} - false diff --git a/template/multi-platform-js/Classes/AppDelegate.cpp b/template/multi-platform-js/Classes/AppDelegate.cpp index ec78d9f5ae..4c2fea3abf 100644 --- a/template/multi-platform-js/Classes/AppDelegate.cpp +++ b/template/multi-platform-js/Classes/AppDelegate.cpp @@ -5,14 +5,11 @@ #include "ScriptingCore.h" #include "jsb_cocos2dx_auto.hpp" #include "jsb_cocos2dx_extension_auto.hpp" -#include "jsb_cocos2dx_extension_manual.h" #include "cocos2d_specifics.hpp" -#include "js_bindings_chipmunk_registration.h" -#include "js_bindings_system_registration.h" -#include "js_bindings_ccbreader.h" +#include "extension/jsb_cocos2dx_extension_manual.h" +#include "chipmunk/js_bindings_chipmunk_registration.h" #include "jsb_opengl_registration.h" -#include "XMLHTTPRequest.h" -#include "jsb_websocket.h" +#include "localstorage/js_bindings_system_registration.h" USING_NS_CC; using namespace CocosDenshion; @@ -41,15 +38,11 @@ bool AppDelegate::applicationDidFinishLaunching() ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCallback(register_all_cocos2dx); sc->addRegisterCallback(register_all_cocos2dx_extension); - sc->addRegisterCallback(register_all_cocos2dx_extension_manual); sc->addRegisterCallback(register_cocos2dx_js_extensions); - sc->addRegisterCallback(register_CCBuilderReader); + sc->addRegisterCallback(register_all_cocos2dx_extension_manual); sc->addRegisterCallback(jsb_register_chipmunk); - sc->addRegisterCallback(jsb_register_system); sc->addRegisterCallback(JSB_register_opengl); - sc->addRegisterCallback(MinXmlHttpRequest::_js_register); - sc->addRegisterCallback(register_jsb_websocket); - + sc->addRegisterCallback(jsb_register_system); sc->start(); ScriptEngineProtocol *engine = ScriptingCore::getInstance(); diff --git a/template/multi-platform-js/proj.android/build_native.cmd b/template/multi-platform-js/proj.android/build_native.cmd index 5934330044..82eb0151a5 100644 --- a/template/multi-platform-js/proj.android/build_native.cmd +++ b/template/multi-platform-js/proj.android/build_native.cmd @@ -56,7 +56,7 @@ exit /b 1 set COCOS2DX_ROOT=%~dp0..\..\.. set APP_ROOT=%~dp0.. set APP_ANDROID_ROOT=%~dp0 -set BINDINGS_JS_ROOT=%APP_ROOT%\..\..\scripting\javascript\bindings\js +set BINDINGS_JS_ROOT=%COCOS2DX_ROOT%\cocos\scripting\javascript\script if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) :MODULE1 @@ -65,7 +65,7 @@ if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) goto :COPY_RES :MODULE2 echo "Using prebuilt externals" - set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt + set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos;%COCOS2DX_ROOT%\external :COPY_RES echo NDK_ROOT = %NDK_ROOT% @@ -86,5 +86,5 @@ xcopy /e /q /r /y %APP_ROOT%\Resources\* %APP_ANDROID_ROOT%\assets rem copy bindings/*.js into assets' root xcopy /e /q /r /y %BINDINGS_JS_ROOT%\* %APP_ANDROID_ROOT%\assets -call %NDK_ROOT%\ndk-build.cmd %PARALLEL_BUILD_FLAG% NDK_LOG=0 V=0 +call %NDK_ROOT%\ndk-build.cmd %PARALLEL_BUILD_FLAG% NDK_LOG=0 V=0 %* pause \ No newline at end of file diff --git a/template/multi-platform-js/proj.android/project.properties b/template/multi-platform-js/proj.android/project.properties index 6495217b66..f0d6a80641 100644 --- a/template/multi-platform-js/proj.android/project.properties +++ b/template/multi-platform-js/proj.android/project.properties @@ -10,4 +10,4 @@ # Project target. target=android-13 -android.library.reference.1=../../../cocos2dx/platform/android/java +android.library.reference.1=../../../cocos/2d/platform/android/java diff --git a/template/multi-platform-js/proj.ios_mac/HelloJavascript.xcodeproj/project.pbxproj b/template/multi-platform-js/proj.ios_mac/HelloJavascript.xcodeproj/project.pbxproj index 82228bc55f..2a53c9e26c 100644 --- a/template/multi-platform-js/proj.ios_mac/HelloJavascript.xcodeproj/project.pbxproj +++ b/template/multi-platform-js/proj.ios_mac/HelloJavascript.xcodeproj/project.pbxproj @@ -295,7 +295,7 @@ 5091731717ECDF7A00D62437 /* Icon-58.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-58.png"; path = "ios/Icon-58.png"; sourceTree = ""; }; 5091731817ECDF7A00D62437 /* Icon-80.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-80.png"; path = "ios/Icon-80.png"; sourceTree = ""; }; 5091731917ECDF7A00D62437 /* Icon-100.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-100.png"; path = "ios/Icon-100.png"; sourceTree = ""; }; - 509D4AAA17EBB24E00697056 /* Hello JavaScript Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Hello JavaScript Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 509D4AAA17EBB24E00697056 /* Hello JavaScript Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; name = "Hello JavaScript Mac.app"; path = "HelloJavaScript Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 509D4AAB17EBB2AB00697056 /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppController.h; path = ios/AppController.h; sourceTree = ""; }; 509D4AAC17EBB2AB00697056 /* AppController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppController.mm; path = ios/AppController.mm; sourceTree = ""; }; 509D4AAD17EBB2AB00697056 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default-568h@2x.png"; path = "ios/Default-568h@2x.png"; sourceTree = ""; }; @@ -320,7 +320,7 @@ 509D4AE617EBB81800697056 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; 509D4AE817EBB82000697056 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; 509D4AEA17EBB82600697056 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; - A922753D1517C094001B78AA /* Hello JavaScript iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Hello JavaScript iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + A922753D1517C094001B78AA /* Hello JavaScript iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; name = "Hello JavaScript iOS.app"; path = "HelloJavaScript iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; A92275411517C094001B78AA /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; A92275431517C094001B78AA /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; A92275451517C094001B78AA /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; }; @@ -545,9 +545,9 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 509D4A7517EBB24E00697056 /* Hello JavaScript Mac */ = { + 509D4A7517EBB24E00697056 /* HelloJavascript Mac */ = { isa = PBXNativeTarget; - buildConfigurationList = 509D4AA717EBB24E00697056 /* Build configuration list for PBXNativeTarget "Hello JavaScript Mac" */; + buildConfigurationList = 509D4AA717EBB24E00697056 /* Build configuration list for PBXNativeTarget "HelloJavascript Mac" */; buildPhases = ( 509D4A8017EBB24E00697056 /* Sources */, 509D4A8217EBB24E00697056 /* Frameworks */, @@ -562,14 +562,14 @@ 1A676826180E9BF70076BC67 /* PBXTargetDependency */, 1A676828180E9BF70076BC67 /* PBXTargetDependency */, ); - name = "Hello JavaScript Mac"; + name = "HelloJavascript Mac"; productName = HelloJavascript; productReference = 509D4AAA17EBB24E00697056 /* Hello JavaScript Mac.app */; productType = "com.apple.product-type.application"; }; - A922753C1517C094001B78AA /* Hello JavaScript iOS */ = { + A922753C1517C094001B78AA /* HelloJavascript iOS */ = { isa = PBXNativeTarget; - buildConfigurationList = A92277001517C097001B78AA /* Build configuration list for PBXNativeTarget "Hello JavaScript iOS" */; + buildConfigurationList = A92277001517C097001B78AA /* Build configuration list for PBXNativeTarget "HelloJavascript iOS" */; buildPhases = ( A92275391517C094001B78AA /* Sources */, A922753A1517C094001B78AA /* Frameworks */, @@ -584,7 +584,7 @@ 1A676835180E9C110076BC67 /* PBXTargetDependency */, 1A676837180E9C110076BC67 /* PBXTargetDependency */, ); - name = "Hello JavaScript iOS"; + name = "HelloJavascript iOS"; productName = HelloJavascript; productReference = A922753D1517C094001B78AA /* Hello JavaScript iOS.app */; productType = "com.apple.product-type.application"; @@ -620,8 +620,8 @@ ); projectRoot = ""; targets = ( - A922753C1517C094001B78AA /* Hello JavaScript iOS */, - 509D4A7517EBB24E00697056 /* Hello JavaScript Mac */, + A922753C1517C094001B78AA /* HelloJavascript iOS */, + 509D4A7517EBB24E00697056 /* HelloJavascript Mac */, ); }; /* End PBXProject section */ @@ -1058,7 +1058,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 509D4AA717EBB24E00697056 /* Build configuration list for PBXNativeTarget "Hello JavaScript Mac" */ = { + 509D4AA717EBB24E00697056 /* Build configuration list for PBXNativeTarget "HelloJavascript Mac" */ = { isa = XCConfigurationList; buildConfigurations = ( 509D4AA817EBB24E00697056 /* Debug */, @@ -1076,7 +1076,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A92277001517C097001B78AA /* Build configuration list for PBXNativeTarget "Hello JavaScript iOS" */ = { + A92277001517C097001B78AA /* Build configuration list for PBXNativeTarget "HelloJavascript iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( A92277011517C097001B78AA /* Debug */, diff --git a/template/multi-platform-js/proj.win32/HelloJavascript.sln b/template/multi-platform-js/proj.win32/HelloJavascript.sln index 025d85dd02..5880df4c17 100644 --- a/template/multi-platform-js/proj.win32/HelloJavascript.sln +++ b/template/multi-platform-js/proj.win32/HelloJavascript.sln @@ -10,23 +10,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloJavascript", "HelloJav {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} = {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\..\..\cocos2dx\proj.win32\cocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\..\..\cocos\2d\cocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchipmunk", "..\..\..\external\chipmunk\proj.win32\chipmunk.vcxproj", "{207BC7A9-CCF1-4F2F-A04D-45F72242AE25}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libExtensions", "..\..\..\extensions\proj.win32\libExtensions.vcxproj", "{21B2C324-891F-48EA-AD1A-5AE13DE12E28}" - ProjectSection(ProjectDependencies) = postProject - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} = {207BC7A9-CCF1-4F2F-A04D-45F72242AE25} - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} = {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCocosDenshion", "..\..\..\CocosDenshion\proj.win32\CocosDenshion.vcxproj", "{F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libAudio", "..\..\..\cocos\audio\proj.win32\CocosDenshion.vcxproj", "{F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}" ProjectSection(ProjectDependencies) = postProject {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libJSBinding", "..\..\..\scripting\javascript\bindings\proj.win32\libJSBinding.vcxproj", "{39379840-825A-45A0-B363-C09FFEF864BD}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libJSBinding", "..\..\..\cocos\scripting\javascript\bindings\proj.win32\libJSBinding.vcxproj", "{39379840-825A-45A0-B363-C09FFEF864BD}" ProjectSection(ProjectDependencies) = postProject {21B2C324-891F-48EA-AD1A-5AE13DE12E28} = {21B2C324-891F-48EA-AD1A-5AE13DE12E28} {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} @@ -34,6 +27,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libJSBinding", "..\..\..\sc {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} = {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libJSBindingForChipmunk", "..\..\..\cocos\scripting\javascript\bindings\chipmunk\libJSBindingForChipmunk.vcxproj", "{21070E58-EEC6-4E16-8B4F-6D083DF55790}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libLocalStorage", "..\..\..\cocos\storage\local-storage\proj.win32\libLocalStorage.vcxproj", "{632A8F38-D0F0-4D22-86B3-D69F5E6BF63A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libJSBindingForLocalStorage", "..\..\..\cocos\scripting\javascript\bindings\localstorage\libJSBindingForLocalStorage.vcxproj", "{68F5F371-BD7B-4C30-AE5B-0B08F22E0CDE}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libJSBindingForExtension", "..\..\..\cocos\scripting\javascript\bindings\extension\libJSBindingForExtension.vcxproj", "{625F7391-9A91-48A1-8CFC-79508C822637}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libExtensions", "..\..\..\extensions\proj.win32\libExtensions.vcxproj", "{21B2C324-891F-48EA-AD1A-5AE13DE12E28}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -52,10 +55,6 @@ Global {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.Build.0 = Debug|Win32 {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.ActiveCfg = Release|Win32 {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.Build.0 = Release|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.ActiveCfg = Debug|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.Build.0 = Debug|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.ActiveCfg = Release|Win32 - {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.Build.0 = Release|Win32 {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.ActiveCfg = Debug|Win32 {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.Build.0 = Debug|Win32 {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.ActiveCfg = Release|Win32 @@ -64,6 +63,26 @@ Global {39379840-825A-45A0-B363-C09FFEF864BD}.Debug|Win32.Build.0 = Debug|Win32 {39379840-825A-45A0-B363-C09FFEF864BD}.Release|Win32.ActiveCfg = Release|Win32 {39379840-825A-45A0-B363-C09FFEF864BD}.Release|Win32.Build.0 = Release|Win32 + {21070E58-EEC6-4E16-8B4F-6D083DF55790}.Debug|Win32.ActiveCfg = Debug|Win32 + {21070E58-EEC6-4E16-8B4F-6D083DF55790}.Debug|Win32.Build.0 = Debug|Win32 + {21070E58-EEC6-4E16-8B4F-6D083DF55790}.Release|Win32.ActiveCfg = Release|Win32 + {21070E58-EEC6-4E16-8B4F-6D083DF55790}.Release|Win32.Build.0 = Release|Win32 + {632A8F38-D0F0-4D22-86B3-D69F5E6BF63A}.Debug|Win32.ActiveCfg = Debug|Win32 + {632A8F38-D0F0-4D22-86B3-D69F5E6BF63A}.Debug|Win32.Build.0 = Debug|Win32 + {632A8F38-D0F0-4D22-86B3-D69F5E6BF63A}.Release|Win32.ActiveCfg = Release|Win32 + {632A8F38-D0F0-4D22-86B3-D69F5E6BF63A}.Release|Win32.Build.0 = Release|Win32 + {68F5F371-BD7B-4C30-AE5B-0B08F22E0CDE}.Debug|Win32.ActiveCfg = Debug|Win32 + {68F5F371-BD7B-4C30-AE5B-0B08F22E0CDE}.Debug|Win32.Build.0 = Debug|Win32 + {68F5F371-BD7B-4C30-AE5B-0B08F22E0CDE}.Release|Win32.ActiveCfg = Release|Win32 + {68F5F371-BD7B-4C30-AE5B-0B08F22E0CDE}.Release|Win32.Build.0 = Release|Win32 + {625F7391-9A91-48A1-8CFC-79508C822637}.Debug|Win32.ActiveCfg = Debug|Win32 + {625F7391-9A91-48A1-8CFC-79508C822637}.Debug|Win32.Build.0 = Debug|Win32 + {625F7391-9A91-48A1-8CFC-79508C822637}.Release|Win32.ActiveCfg = Release|Win32 + {625F7391-9A91-48A1-8CFC-79508C822637}.Release|Win32.Build.0 = Release|Win32 + {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.ActiveCfg = Debug|Win32 + {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.Build.0 = Debug|Win32 + {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.ActiveCfg = Release|Win32 + {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/template/multi-platform-js/proj.win32/HelloJavascript.vcxproj b/template/multi-platform-js/proj.win32/HelloJavascript.vcxproj index fb2ad0984c..26bab7731b 100644 --- a/template/multi-platform-js/proj.win32/HelloJavascript.vcxproj +++ b/template/multi-platform-js/proj.win32/HelloJavascript.vcxproj @@ -34,11 +34,13 @@ - + + - + + @@ -77,7 +79,7 @@ Disabled - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\scripting\javascript\spidermonkey-win32\include;$(ProjectDir)..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\extensions;$(ProjectDir)..\..\..\scripting\auto-generated\js-bindings;$(ProjectDir)..\..\..\scripting\javascript\bindings;$(ProjectDir)..\..\..\cocos2dx;$(ProjectDir)..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\javascript\bindings;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;DEBUG;_DEBUG;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_DEBUG=1;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) false EnableFastChecks @@ -96,11 +98,11 @@ if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\scripting\javascript\spidermonkey-win32\lib\*.*" "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(EngineRoot)external\spidermonkey\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)" - libcocos2d.lib;libExtensions.lib;libCocosDenshion.lib;libchipmunk.lib;libJSBinding.lib;libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;websockets.lib;%(AdditionalDependencies) + libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;websockets.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) true Windows @@ -110,7 +112,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutD if not exist "$(OutDir)" mkdir "$(OutDir)" if exist "$(OutDir)\HelloJavascriptRes" rd /s /q "$(OutDir)\HelloJavascriptRes" mkdir "$(OutDir)\HelloJavascriptRes" -xcopy "$(ProjectDir)..\..\..\scripting\javascript\bindings\js\*.js" "$(OutDir)\HelloJavascriptRes\" /e /Y +xcopy "$(EngineRoot)cocos\scripting\javascript\script\*.js" "$(OutDir)\HelloJavascriptRes\" /e /Y xcopy "$(ProjectDir)..\Resources" "$(OutDir)\HelloJavascriptRes\" /e /Y @@ -131,7 +133,7 @@ xcopy "$(ProjectDir)..\Resources" "$(OutDir)\HelloJavascriptRes\" /e /Ygame_p.c - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\scripting\javascript\spidermonkey-win32\include;$(ProjectDir)..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\extensions;$(ProjectDir)..\..\..\scripting\auto-generated\js-bindings;$(ProjectDir)..\..\..\scripting\javascript\bindings;$(ProjectDir)..\..\..\cocos2dx;$(ProjectDir)..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\javascript\bindings;$(EngineRoot)cocos\scripting\auto-generated\js-bindings;$(EngineRoot)external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) WIN32;_WINDOWS;STRICT;NDEBUG;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) @@ -151,20 +153,21 @@ xcopy "$(ProjectDir)..\Resources" "$(OutDir)\HelloJavascriptRes\" /e /Y if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\scripting\javascript\spidermonkey-win32\lib\*.*" "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(EngineRoot)external\spidermonkey\prebuilt\win32\*.*" "$(OutDir)" +xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)" - libcocos2d.lib;libExtensions.lib;libCocosDenshion.lib;libchipmunk.lib;libJSBinding.lib;libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;websockets.lib;%(AdditionalDependencies) + libcurl_imp.lib;mozjs-23.0.lib;ws2_32.lib;sqlite3.lib;websockets.lib;%(AdditionalDependencies) $(OutDir);%(AdditionalLibraryDirectories) Windows MachineX86 + true if not exist "$(OutDir)" mkdir "$(OutDir)" if exist "$(OutDir)\HelloJavascriptRes" rd /s /q "$(OutDir)\HelloJavascriptRes" mkdir "$(OutDir)\HelloJavascriptRes" -xcopy "$(ProjectDir)..\..\..\scripting\javascript\bindings\js\*.js" "$(OutDir)\HelloJavascriptRes\" /e /Y +xcopy "$(EngineRoot)cocos\scripting\javascript\script\*.js" "$(OutDir)\HelloJavascriptRes\" /e /Y xcopy "$(ProjectDir)..\Resources" "$(OutDir)\HelloJavascriptRes\" /e /Y Copy js and resource files. @@ -181,13 +184,32 @@ xcopy "$(ProjectDir)..\Resources" "$(OutDir)\HelloJavascriptRes\" /e /Y - + {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - false - + {f8edd7fa-9a51-4e80-baeb-860825d2eac6} - false + + + {21070e58-eec6-4e16-8b4f-6d083df55790} + + + {625f7391-9a91-48a1-8cfc-79508c822637} + + + {68f5f371-bd7b-4c30-ae5b-0b08f22e0cde} + + + {39379840-825a-45a0-b363-c09ffef864bd} + + + {632a8f38-d0f0-4d22-86b3-d69f5e6bf63a} + + + {21b2c324-891f-48ea-ad1a-5ae13de12e28} + + + {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} diff --git a/template/multi-platform-lua/proj.android/build_native.cmd b/template/multi-platform-lua/proj.android/build_native.cmd index e8caf30dd1..0177685738 100644 --- a/template/multi-platform-lua/proj.android/build_native.cmd +++ b/template/multi-platform-lua/proj.android/build_native.cmd @@ -62,7 +62,7 @@ if "%buildexternalsfromsource%"=="1" (goto :MODULE1) else (goto :MODULE2) goto :COPY_RES :MODULE2 echo "Using prebuilt externals" - set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt + set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos;%COCOS2DX_ROOT%\external :COPY_RES echo NDK_ROOT = %NDK_ROOT% @@ -75,13 +75,12 @@ rem make sure assets is exist if exist %APP_ANDROID_ROOT%\assets rd /q /s %APP_ANDROID_ROOT%\assets mkdir %APP_ANDROID_ROOT%\assets -mkdir %APP_ANDROID_ROOT%\assets\res rem copy Resources/* into assets' root xcopy /e /q /r /y %APP_ROOT%\Resources\* %APP_ANDROID_ROOT%\assets rem copy common luaScript -xcopy /e /q /r /y %APP_ROOT%\..\..\scripting\lua\script\* %APP_ANDROID_ROOT%\assets +xcopy /e /q /r /y %COCOS2DX_ROOT%\cocos\scripting\lua\script\* %APP_ANDROID_ROOT%\assets -call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 +call %NDK_ROOT%\ndk-build.cmd NDK_LOG=0 V=0 %* pause \ No newline at end of file diff --git a/template/multi-platform-lua/proj.android/build_native.sh b/template/multi-platform-lua/proj.android/build_native.sh index 6728b60a2e..930a9e5249 100755 --- a/template/multi-platform-lua/proj.android/build_native.sh +++ b/template/multi-platform-lua/proj.android/build_native.sh @@ -80,7 +80,7 @@ fi done # copy common luaScript -for file in "$APP_ROOT"/../../scripting/lua/script/* +for file in "$APP_ROOT"/../../cocos/scripting/lua/script/* do if [ -d "$file" ]; then cp -rf "$file" "$APP_ANDROID_ROOT"/assets @@ -94,9 +94,9 @@ done if [[ "$buildexternalsfromsource" ]]; then echo "Building external dependencies from source" "$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \ - "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/source" + "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos:${COCOS2DX_ROOT}/external" else echo "Using prebuilt externals" "$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \ - "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt" + "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos:${COCOS2DX_ROOT}/external" fi \ No newline at end of file diff --git a/template/multi-platform-lua/proj.android/jni/Android.mk b/template/multi-platform-lua/proj.android/jni/Android.mk index af986970fe..a28d2c3d4d 100644 --- a/template/multi-platform-lua/proj.android/jni/Android.mk +++ b/template/multi-platform-lua/proj.android/jni/Android.mk @@ -15,19 +15,8 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes LOCAL_STATIC_LIBRARIES := curl_static_prebuilt -LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocos_lua_static -LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static -LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dxandroid_static +LOCAL_WHOLE_STATIC_LIBRARIES := cocos_lua_static include $(BUILD_SHARED_LIBRARY) -$(call import-module,cocos2dx) -$(call import-module,audio/android) -$(call import-module,scripting/lua/proj.android) -$(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl) -$(call import-module,extensions) -$(call import-module,external/Box2D) -$(call import-module,cocos2dx/platform/android) +$(call import-module,scripting/lua/bindings) \ No newline at end of file diff --git a/template/multi-platform-lua/proj.android/project.properties b/template/multi-platform-lua/proj.android/project.properties index 6495217b66..16f145cfc9 100644 --- a/template/multi-platform-lua/proj.android/project.properties +++ b/template/multi-platform-lua/proj.android/project.properties @@ -8,6 +8,6 @@ # project structure. # Project target. -target=android-13 +target=android-10 -android.library.reference.1=../../../cocos2dx/platform/android/java +android.library.reference.1=../../../cocos/2d/platform/android/java diff --git a/template/multi-platform-lua/proj.win32/HelloLua.sln b/template/multi-platform-lua/proj.win32/HelloLua.sln index ddd4ee62c8..5fdeacb7a4 100644 --- a/template/multi-platform-lua/proj.win32/HelloLua.sln +++ b/template/multi-platform-lua/proj.win32/HelloLua.sln @@ -11,13 +11,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloLua", "HelloLua.vcxpro {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} = {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\..\..\cocos2dx\proj.win32\cocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCocosDenshion", "..\..\..\CocosDenshion\proj.win32\CocosDenshion.vcxproj", "{F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}" - ProjectSection(ProjectDependencies) = postProject - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libExtensions", "..\..\..\extensions\proj.win32\libExtensions.vcxproj", "{21B2C324-891F-48EA-AD1A-5AE13DE12E28}" ProjectSection(ProjectDependencies) = postProject {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} @@ -30,11 +23,17 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libBox2D", "..\..\..\extern EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchipmunk", "..\..\..\external\chipmunk\proj.win32\chipmunk.vcxproj", "{207BC7A9-CCF1-4F2F-A04D-45F72242AE25}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblua", "..\..\..\scripting\lua\proj.win32\liblua.vcxproj", "{DDC3E27F-004D-4DD4-9DD3-931A013D2159}" - ProjectSection(ProjectDependencies) = postProject - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} = {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\..\..\cocos\2d\cocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libAudio", "..\..\..\cocos\audio\proj.win32\CocosDenshion.vcxproj", "{F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblua", "..\..\..\cocos\scripting\lua\bindings\liblua.vcxproj", "{DDC3E27F-004D-4DD4-9DD3-931A013D2159}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libNetwork", "..\..\..\cocos\network\proj.win32\libNetwork.vcxproj", "{DF2638C0-8128-4847-867C-6EAFE3DEE7B5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCocosBuilder", "..\..\..\cocos\editor-support\cocosbuilder\proj.win32\libCocosBuilder.vcxproj", "{811C0DAB-7B96-4BD3-A154-B7572B58E4AB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCocosStudio", "..\..\..\cocos\editor-support\cocostudio\proj.win32\libCocosStudio.vcxproj", "{B57CF53F-2E49-4031-9822-047CC0E6BDE2}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -46,14 +45,6 @@ Global {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Debug|Win32.Build.0 = Debug|Win32 {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Release|Win32.ActiveCfg = Release|Win32 {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Release|Win32.Build.0 = Release|Win32 - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.ActiveCfg = Debug|Win32 - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.Build.0 = Debug|Win32 - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.ActiveCfg = Release|Win32 - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.Build.0 = Release|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.ActiveCfg = Debug|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.Build.0 = Debug|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.ActiveCfg = Release|Win32 - {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.Build.0 = Release|Win32 {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.ActiveCfg = Debug|Win32 {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.Build.0 = Debug|Win32 {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.ActiveCfg = Release|Win32 @@ -66,10 +57,30 @@ Global {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.Build.0 = Debug|Win32 {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.ActiveCfg = Release|Win32 {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.Build.0 = Release|Win32 + {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.ActiveCfg = Debug|Win32 + {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.Build.0 = Debug|Win32 + {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.ActiveCfg = Release|Win32 + {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.Build.0 = Release|Win32 + {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.ActiveCfg = Debug|Win32 + {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.Build.0 = Debug|Win32 + {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.ActiveCfg = Release|Win32 + {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.Build.0 = Release|Win32 {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Debug|Win32.ActiveCfg = Debug|Win32 {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Debug|Win32.Build.0 = Debug|Win32 {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Release|Win32.ActiveCfg = Release|Win32 {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Release|Win32.Build.0 = Release|Win32 + {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Debug|Win32.ActiveCfg = Debug|Win32 + {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Debug|Win32.Build.0 = Debug|Win32 + {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Release|Win32.ActiveCfg = Release|Win32 + {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Release|Win32.Build.0 = Release|Win32 + {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Debug|Win32.ActiveCfg = Debug|Win32 + {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Debug|Win32.Build.0 = Debug|Win32 + {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Release|Win32.ActiveCfg = Release|Win32 + {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Release|Win32.Build.0 = Release|Win32 + {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Debug|Win32.ActiveCfg = Debug|Win32 + {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Debug|Win32.Build.0 = Debug|Win32 + {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Release|Win32.ActiveCfg = Release|Win32 + {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/template/multi-platform-lua/proj.win32/HelloLua.vcxproj b/template/multi-platform-lua/proj.win32/HelloLua.vcxproj index 2007e7db42..b15be7cabb 100644 --- a/template/multi-platform-lua/proj.win32/HelloLua.vcxproj +++ b/template/multi-platform-lua/proj.win32/HelloLua.vcxproj @@ -36,11 +36,13 @@ - + + - + + @@ -64,7 +66,7 @@ - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\scripting\auto-generated\js-bindings;$(ProjectDir)..\..\..\scripting\lua\cocos2dx_support;$(ProjectDir)..\..\..\scripting\lua\lua;$(ProjectDir)..\..\..\scripting\lua\tolua;$(ProjectDir)..\..\..\scripting\lua\src;$(ProjectDir)..\..\..\cocos2dx;$(ProjectDir)..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\external;$(ProjectDir)..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\audio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\lua-bindings;$(EngineRoot)cocos\scripting\lua\bindings;$(EngineRoot)external;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\lua\lua;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) Level3 @@ -82,7 +84,7 @@ MachineX86 true $(OutDir);%(AdditionalLibraryDirectories) - libcocos2d.lib;libExtensions.lib;libBox2d.lib;libchipmunk.lib;libCocosDenshion.lib;liblua.lib;lua51.lib;websockets.lib;%(AdditionalDependencies) + lua51.lib;websockets.lib;%(AdditionalDependencies) 0x0409 @@ -102,18 +104,18 @@ - xcopy "$(ProjectDir)..\..\..\scripting\lua\script" "$(ProjectDir)..\Resources" /e /Y + xcopy "$(ProjectDir)..\..\..\cocos\scripting\lua\script" "$(ProjectDir)..\Resources" /e /Y if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\external\websockets\prebuilt\win32\*.*" "$(OutDir)" - $(ProjectDir)..\Classes;$(ProjectDir)..\..\..\scripting\lua\cocos2dx_support;$(ProjectDir)..\..\..\scripting\lua\lua;$(ProjectDir)..\..\..\scripting\lua\tolua;$(ProjectDir)..\..\..\scripting\lua\src;$(ProjectDir)..\..\..\cocos2dx;$(ProjectDir)..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32;$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\..\..\external;$(ProjectDir)..\..\..\external\chipmunk\include\chipmunk;$(ProjectDir)..\..\..\audio\include;$(ProjectDir)..\..\..\scripting\lua\cocos2dx_support;$(ProjectDir)..\..\..\scripting\lua\tolua;$(ProjectDir)..\..\..\scripting\lua\lua;%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\scripting\auto-generated\lua-bindings;$(EngineRoot)cocos\scripting\lua\bindings;$(EngineRoot)external;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\lua\lua;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories) Level3 @@ -130,7 +132,8 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutD Windows MachineX86 $(OutDir);%(AdditionalLibraryDirectories) - libcocos2d.lib;libExtensions.lib;libBox2d.lib;libchipmunk.lib;libCocosDenshion.lib;liblua.lib;lua51.lib;websockets.lib;%(AdditionalDependencies) + lua51.lib;websockets.lib;%(AdditionalDependencies) + true 0x0409 @@ -157,7 +160,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutD if not exist "$(OutDir)" mkdir "$(OutDir)" -xcopy /Y /Q "$(ProjectDir)..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutDir)" +xcopy /Y /Q "$(ProjectDir)..\..\..\external\websockets\prebuilt\win32\*.*" "$(OutDir)" @@ -171,6 +174,32 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\external\libwebsockets\win32\lib\*.*" "$(OutD + + + {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} + + + {f8edd7fa-9a51-4e80-baeb-860825d2eac6} + + + {811c0dab-7b96-4bd3-a154-b7572b58e4ab} + + + {b57cf53f-2e49-4031-9822-047cc0e6bde2} + + + {df2638c0-8128-4847-867c-6eafe3dee7b5} + + + {ddc3e27f-004d-4dd4-9dd3-931a013d2159} + + + {21b2c324-891f-48ea-ad1a-5ae13de12e28} + + + {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} + + diff --git a/tools/project-creator/create_project.py b/tools/project-creator/create_project.py index 966baaeaff..be6e38babc 100755 --- a/tools/project-creator/create_project.py +++ b/tools/project-creator/create_project.py @@ -6,9 +6,9 @@ # define global variables PLATFORMS = { - "cpp" : ["ios", "android", "win32", "mac", "linux"], - "lua" : ["ios", "android", "win32", "mac", "linux"], - "javascript" : ["ios", "android", "win32", "mac"] + "cpp" : ["ios_mac", "android", "win32", "linux"], + "lua" : ["ios_mac", "android", "win32", "linux"], + "javascript" : ["ios_mac", "android", "win32"] } @@ -111,6 +111,14 @@ def processPlatformProjects(context, platform): java_package_path = os.path.join(*dst_pkg) + # rename files and folders + for item in data["rename"]: + tmp = item.replace("PACKAGE_PATH", java_package_path) + src = tmp.replace("PROJECT_NAME", context["src_project_name"]) + dst = tmp.replace("PROJECT_NAME", context["dst_project_name"]) + if os.path.exists(os.path.join(proj_path, src)): + os.rename(os.path.join(proj_path, src), os.path.join(proj_path, dst)) + # remove useless files and folders for item in data["remove"]: dst = item.replace("PROJECT_NAME", context["dst_project_name"]) diff --git a/tools/tojs/cocos2dx_extension.ini b/tools/tojs/cocos2dx_extension.ini index 1519b2eb92..a6475253f2 100644 --- a/tools/tojs/cocos2dx_extension.ini +++ b/tools/tojs/cocos2dx_extension.ini @@ -13,7 +13,7 @@ android_flags = -D_SIZE_T_DEFINED_ clang_headers = -I%(clangllvmdir)s/lib/clang/3.3/include clang_flags = -nostdinc -x c++ -std=c++11 -cocos_headers = -I%(cocosdir)s/cocos/2d -I%(cocosdir)s/cocos/base -I%(cocosdir)s/cocos/gui -I%(cocosdir)s/cocos/physics -I%(cocosdir)s/cocos/2d/platform -I%(cocosdir)s/cocos/2d/platform/android -I%(cocosdir)s/cocos/math/kazmath/include -I%(cocosdir)s/extensions -I%(cocosdir)s/external -I%(cocosdir)s/cocos/editor-support -I%(cocosdir)s +cocos_headers = -I%(cocosdir)s/cocos -I%(cocosdir)s/cocos/2d -I%(cocosdir)s/cocos/base -I%(cocosdir)s/cocos/gui -I%(cocosdir)s/cocos/physics -I%(cocosdir)s/cocos/2d/platform -I%(cocosdir)s/cocos/2d/platform/android -I%(cocosdir)s/cocos/math/kazmath/include -I%(cocosdir)s/extensions -I%(cocosdir)s/external -I%(cocosdir)s/cocos/editor-support -I%(cocosdir)s cocos_flags = -DANDROID -DCOCOS2D_JAVASCRIPT @@ -23,11 +23,11 @@ cxxgenerator_headers = extra_arguments = %(android_headers)s %(clang_headers)s %(cxxgenerator_headers)s %(cocos_headers)s %(android_flags)s %(clang_flags)s %(cocos_flags)s %(extra_flags)s # what headers to parse -headers = %(cocosdir)s/extensions/cocos-ext.h %(cocosdir)s/cocos/editor-support/cocosbuilder/CocosBuilder.h %(cocosdir)s/cocos/editor-support/cocostudio/CocoStudio.h +headers = %(cocosdir)s/extensions/cocos-ext.h # what classes to produce code for. You can use regular expressions here. When testing the regular # expression, it will be enclosed in "^$", like this: "^Menu*$". -classes = AssetsManager.* CCBReader.* CCBAnimationManager.* Scale9Sprite Control.* ControlButton.* ScrollView$ TableView$ TableViewCell$ EditBox$ Armature ArmatureAnimation Skin Bone ArmatureDataManager +classes = AssetsManager.* Scale9Sprite Control.* ControlButton.* ScrollView$ TableView$ TableViewCell$ EditBox$ # what should we skip? in the format ClassName::[function function] # ClassName is a regular expression, but will be used like this: "^ClassName$" functions are also @@ -36,9 +36,7 @@ classes = AssetsManager.* CCBReader.* CCBAnimationManager.* Scale9Sprite Control # will apply to all class names. This is a convenience wildcard to be able to skip similar named # functions from all classes. -skip = CCBReader::[^CCBReader$ addOwnerCallbackName isJSControlled readByte getCCBMemberVariableAssigner readFloat getCCBSelectorResolver toLowerCase lastPathComponent deletePathExtension endsWith concat getResolutionScale getAnimatedProperties readBool readInt addOwnerCallbackNode addDocumentCallbackName readCachedString readNodeGraphFromData addDocumentCallbackNode getLoadedSpriteSheet initWithData readFileWithCleanUp getOwner$ readNodeGraphFromFile createSceneWithNodeGraphFromFile getAnimationManagers$ setAnimationManagers], - CCBAnimationManager::[setAnimationCompletedCallback], - ScrollView::[(g|s)etDelegate$], +skip = ScrollView::[(g|s)etDelegate$], .*Delegate::[*], .*Loader.*::[*], *::[^visit$ copyWith.* onEnter.* onExit.* ^description$ getObjectType .*HSV onTouch.* onAcc.* onKey.* onRegisterTouchListener], @@ -48,15 +46,11 @@ skip = CCBReader::[^CCBReader$ addOwnerCallbackName isJSControlled readByte getC AssetsManagerDelegateProtocol::[*], Control::[removeHandleOfControlEvent addHandleOfControlEvent], ControlUtils::[*], - ControlSwitchSprite::[*], - Armature::[createBone updateBlendType getBody setBody getShapeList .*BlendFunc], - Skin::[getSkinData setSkinData], - ArmatureAnimation::[updateHandler updateFrameData frameEvent] + ControlSwitchSprite::[*] rename_functions = -rename_classes = CCBReader::_Reader, - CCBAnimationManager::BuilderAnimationManager +rename_classes = # for all class names, should we remove something when registering in the target VM? remove_prefix = @@ -65,11 +59,11 @@ remove_prefix = classes_have_no_parents = # base classes which will be skipped when their sub-classes found them. -base_classes_to_skip = Object ProcessBase +base_classes_to_skip = Object # classes that create no constructor # Set is special and we will use a hand-written constructor -abstract_classes = ArmatureDataManager +abstract_classes = # Determining whether to use script object(js object) to control the lifecycle of native(cpp) object or the other way around. Supported values are 'yes' or 'no'. script_control_cpp = no diff --git a/tools/tojs/genbindings.sh b/tools/tojs/genbindings.sh index 56b1b4500f..37d07f9d12 100755 --- a/tools/tojs/genbindings.sh +++ b/tools/tojs/genbindings.sh @@ -84,3 +84,9 @@ LD_LIBRARY_PATH=${CLANG_ROOT}/lib $PYTHON_BIN ${CXX_GENERATOR_ROOT}/generator.py echo "Generating bindings for cocos2dx_extension..." LD_LIBRARY_PATH=${CLANG_ROOT}/lib $PYTHON_BIN ${CXX_GENERATOR_ROOT}/generator.py ${TO_JS_ROOT}/cocos2dx_extension.ini -s cocos2dx_extension -t spidermonkey -o ${COCOS2DX_ROOT}/cocos/scripting/auto-generated/js-bindings -n jsb_cocos2dx_extension_auto + +echo "Generating bindings for cocos2dx_builder..." +LD_LIBRARY_PATH=${CLANG_ROOT}/lib $PYTHON_BIN ${CXX_GENERATOR_ROOT}/generator.py ${TO_JS_ROOT}/cocos2dx_builder.ini -s cocos2dx_builder -t spidermonkey -o ${COCOS2DX_ROOT}/cocos/scripting/auto-generated/js-bindings -n jsb_cocos2dx_builder_auto + +echo "Generating bindings for cocos2dx_studio..." +LD_LIBRARY_PATH=${CLANG_ROOT}/lib $PYTHON_BIN ${CXX_GENERATOR_ROOT}/generator.py ${TO_JS_ROOT}/cocos2dx_studio.ini -s cocos2dx_studio -t spidermonkey -o ${COCOS2DX_ROOT}/cocos/scripting/auto-generated/js-bindings -n jsb_cocos2dx_studio_auto \ No newline at end of file