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
@@ -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