diff --git a/.gitignore b/.gitignore
index 270f81832d..fff313d6a3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,6 +36,7 @@ ipch/
*.opensdf
SubmissionInfo
Generated Files
+AppPackages
# Ignore files build by ndk and eclipse
libs/
diff --git a/AUTHORS b/AUTHORS
index 80b1017f66..e59e2a6ce3 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -938,6 +938,7 @@ Developers:
Fixed compiling error on WP8.
Added method for custom precompiled shader program loading on WP8
Enable screen orientation change handling on WP8
+ Enabled GLProgramState restoring on render recreated on WP8
chareice
Make `setup.py` work on zsh
@@ -1032,6 +1033,21 @@ Developers:
coldfog
Fix bug that ActionManagerEx::initWithBinary can only load one UI animation
+
+ timur-losev
+ Fix a bug that GLProgramCache::addGLProgram() can not replace existing program
+
+ TimothyZhang
+ Fixed a potential memory leak in GLProgram::setGLProgram()
+
+ ahlwong
+ Fix Label Kerning on Single Characters
+
+ Svenito
+ Add greater than operator to Vec2
+
+ liamcindy
+ update ui button size changed logic
Retired Core Developers:
WenSheng Yang
@@ -1044,9 +1060,6 @@ Retired Core Developers:
RongHong Huang (flyingpaper)
Author of cocos2d-xna and spent all his time on wp7.
-
- timur-losev
- Fix a bug that GLProgramCache::addGLProgram() can not replace existing program
Cocos2d-x can not grow so fast without the active community.
Thanks to all developers who report & trace bugs, discuss the engine usage in forum & QQ groups!
diff --git a/CHANGELOG b/CHANGELOG
index 5f05b96968..db133ad049 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,15 @@
+cocos2d-x-3.3 ??
+ [NEW] Vec2: added greater than operator
+
+ [FIX] Cocos console: compile failure on windows if using VS express version
+ [FIX] GrawNode: drawPoint() may cause crash
+ [FIX] GLProgramCache: doesn't release old program with the same key before adding a new one
+ [FIX] GLProgramState: enabled GLProgramState restoring on render recreated on WP8
+ [FIX] Label: label shifting when outline feature enabled
+ [FIX] Label: when applying additionalKerning to a Label that displays a string with only 1 character, the character is shifted
+ [FIX] Sprite3D: did not create attached sprite from cache
+ [FIX] WP/WinRT: Windows 8.1 universal app support; `UIEditBox` support
+
cocos2d-x-3.3-rc0 Oct.21 2014
[NEW] 3d: added light support: direction light, point light, spot light and ambient light
[NEW] Added ClippingRectangleNode
diff --git a/build/cocos2d-win8.1-universal.sln b/build/cocos2d-win8.1-universal.sln
new file mode 100644
index 0000000000..49f4f7a93a
--- /dev/null
+++ b/build/cocos2d-win8.1-universal.sln
@@ -0,0 +1,228 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.30723.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libcocos2d", "libcocos2d", "{B3F299D4-B4CA-4F0B-8BE2-FB328483BC13}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d_8_1.Shared", "..\cocos\2d\libcocos2d_8_1\libcocos2d_8_1\libcocos2d_8_1.Shared\libcocos2d_8_1.Shared.vcxitems", "{5D6F020F-7E72-4494-90A0-2DF11D235DF9}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d_8_1.Windows", "..\cocos\2d\libcocos2d_8_1\libcocos2d_8_1\libcocos2d_8_1.Windows\libcocos2d_8_1.Windows.vcxproj", "{9335005F-678E-4E8E-9B84-50037216AEC8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d_8_1.WindowsPhone", "..\cocos\2d\libcocos2d_8_1\libcocos2d_8_1\libcocos2d_8_1.WindowsPhone\libcocos2d_8_1.WindowsPhone.vcxproj", "{22F3B9DF-1209-4574-8331-003966F562BF}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "cpp-tests", "cpp-tests", "{572742C5-9322-4548-AB8B-96C3750A1B5D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-tests.Shared", "..\tests\cpp-tests\proj.win8.1-universal\cpp-tests.Shared\cpp-tests.Shared.vcxitems", "{BE3A1791-5BCE-4CEA-92CD-0E2D86DDE27A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-tests.Windows", "..\tests\cpp-tests\proj.win8.1-universal\cpp-tests.Windows\cpp-tests.Windows.vcxproj", "{F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-tests.WindowsPhone", "..\tests\cpp-tests\proj.win8.1-universal\cpp-tests.WindowsPhone\cpp-tests.WindowsPhone.vcxproj", "{15247C71-5289-4913-B88F-E253CC353720}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "External", "External", "{85630454-74EA-4B5B-9B62-0E459B4476CB}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libbox2d", "libbox2d", "{B3D1A3D5-9F54-43AF-9322-230B53242B78}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbox2d.Shared", "..\external\Box2D\proj.win8.1-universal\libbox2d.Shared\libbox2d.Shared.vcxitems", "{4A3C6BA8-C227-498B-AA21-40BDA27B461F}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbox2d.Windows", "..\external\Box2D\proj.win8.1-universal\libbox2d.Windows\libbox2d.Windows.vcxproj", "{3B26A12D-3A44-47EA-82D2-282660FC844D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbox2d.WindowsPhone", "..\external\Box2D\proj.win8.1-universal\libbox2d.WindowsPhone\libbox2d.WindowsPhone.vcxproj", "{22F798D8-BFFF-4754-996F-A5395343D5EC}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libSpine", "libSpine", "{6FEB795C-C98C-4C8C-A88B-A35DEE205348}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSpine.Shared", "..\cocos\editor-support\spine\proj.win8.1-universal\libSpine.Shared\libSpine.Shared.vcxitems", "{ADAFD00D-A0D6-46EF-9F0B-EA2880BFE1DE}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSpine.Windows", "..\cocos\editor-support\spine\proj.win8.1-universal\libSpine.Windows\libSpine.Windows.vcxproj", "{F3550FE0-C795-44F6-8FEB-093EB68143AE}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSpine.WindowsPhone", "..\cocos\editor-support\spine\proj.win8.1-universal\libSpine.WindowsPhone\libSpine.WindowsPhone.vcxproj", "{CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "cpp-empty-test", "cpp-empty-test", "{B70EF25E-E352-4020-BCDF-388973E44637}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloCpp.Shared", "..\tests\cpp-empty-test\proj.win8.1-universal\HelloCpp.Shared\HelloCpp.Shared.vcxitems", "{A3AD93E4-0B2F-4C58-9181-69BED2E42E3E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloCpp.Windows", "..\tests\cpp-empty-test\proj.win8.1-universal\HelloCpp.Windows\HelloCpp.Windows.vcxproj", "{79A8FCDA-4B12-4DD1-B676-FF148D651638}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloCpp.WindowsPhone", "..\tests\cpp-empty-test\proj.win8.1-universal\HelloCpp.WindowsPhone\HelloCpp.WindowsPhone.vcxproj", "{396FE85E-BB05-4B92-BCCB-F89AED4EA41A}"
+EndProject
+Global
+ GlobalSection(SharedMSBuildProjectFiles) = preSolution
+ ..\cocos\2d\libcocos2d_8_1\libcocos2d_8_1\libcocos2d_8_1.Shared\libcocos2d_8_1.Shared.vcxitems*{9335005f-678e-4e8e-9b84-50037216aec8}*SharedItemsImports = 4
+ ..\tests\cpp-tests\proj.win8.1-universal\cpp-tests.Shared\cpp-tests.Shared.vcxitems*{15247c71-5289-4913-b88f-e253cc353720}*SharedItemsImports = 4
+ ..\tests\cpp-empty-test\proj.win8.1-universal\HelloCpp.Shared\HelloCpp.Shared.vcxitems*{a3ad93e4-0b2f-4c58-9181-69bed2e42e3e}*SharedItemsImports = 9
+ ..\cocos\editor-support\spine\proj.win8.1-universal\libSpine.Shared\libSpine.Shared.vcxitems*{cc1da216-a80d-4be4-b309-acb6af313aff}*SharedItemsImports = 4
+ ..\external\Box2D\proj.win8.1-universal\libbox2d.Shared\libbox2d.Shared.vcxitems*{4a3c6ba8-c227-498b-aa21-40bda27b461f}*SharedItemsImports = 9
+ ..\tests\cpp-empty-test\proj.win8.1-universal\HelloCpp.Shared\HelloCpp.Shared.vcxitems*{79a8fcda-4b12-4dd1-b676-ff148d651638}*SharedItemsImports = 4
+ ..\cocos\editor-support\spine\proj.win8.1-universal\libSpine.Shared\libSpine.Shared.vcxitems*{adafd00d-a0d6-46ef-9f0b-ea2880bfe1de}*SharedItemsImports = 9
+ ..\tests\cpp-tests\proj.win8.1-universal\cpp-tests.Shared\cpp-tests.Shared.vcxitems*{be3a1791-5bce-4cea-92cd-0e2d86dde27a}*SharedItemsImports = 9
+ ..\cocos\2d\libcocos2d_8_1\libcocos2d_8_1\libcocos2d_8_1.Shared\libcocos2d_8_1.Shared.vcxitems*{5d6f020f-7e72-4494-90a0-2df11d235df9}*SharedItemsImports = 9
+ ..\external\Box2D\proj.win8.1-universal\libbox2d.Shared\libbox2d.Shared.vcxitems*{3b26a12d-3a44-47ea-82d2-282660fc844d}*SharedItemsImports = 4
+ ..\cocos\2d\libcocos2d_8_1\libcocos2d_8_1\libcocos2d_8_1.Shared\libcocos2d_8_1.Shared.vcxitems*{22f3b9df-1209-4574-8331-003966f562bf}*SharedItemsImports = 4
+ ..\external\Box2D\proj.win8.1-universal\libbox2d.Shared\libbox2d.Shared.vcxitems*{22f798d8-bfff-4754-996f-a5395343d5ec}*SharedItemsImports = 4
+ ..\cocos\editor-support\spine\proj.win8.1-universal\libSpine.Shared\libSpine.Shared.vcxitems*{f3550fe0-c795-44f6-8feb-093eb68143ae}*SharedItemsImports = 4
+ ..\tests\cpp-tests\proj.win8.1-universal\cpp-tests.Shared\cpp-tests.Shared.vcxitems*{f2bae06b-caae-43ee-b21b-57fa48db04fa}*SharedItemsImports = 4
+ ..\tests\cpp-empty-test\proj.win8.1-universal\HelloCpp.Shared\HelloCpp.Shared.vcxitems*{396fe85e-bb05-4b92-bccb-f89aed4ea41a}*SharedItemsImports = 4
+ EndGlobalSection
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|ARM = Debug|ARM
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|ARM = Release|ARM
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9335005F-678E-4E8E-9B84-50037216AEC8}.Debug|ARM.ActiveCfg = Debug|ARM
+ {9335005F-678E-4E8E-9B84-50037216AEC8}.Debug|ARM.Build.0 = Debug|ARM
+ {9335005F-678E-4E8E-9B84-50037216AEC8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9335005F-678E-4E8E-9B84-50037216AEC8}.Debug|Win32.Build.0 = Debug|Win32
+ {9335005F-678E-4E8E-9B84-50037216AEC8}.Debug|x64.ActiveCfg = Debug|x64
+ {9335005F-678E-4E8E-9B84-50037216AEC8}.Debug|x64.Build.0 = Debug|x64
+ {9335005F-678E-4E8E-9B84-50037216AEC8}.Release|ARM.ActiveCfg = Release|ARM
+ {9335005F-678E-4E8E-9B84-50037216AEC8}.Release|ARM.Build.0 = Release|ARM
+ {9335005F-678E-4E8E-9B84-50037216AEC8}.Release|Win32.ActiveCfg = Release|Win32
+ {9335005F-678E-4E8E-9B84-50037216AEC8}.Release|Win32.Build.0 = Release|Win32
+ {9335005F-678E-4E8E-9B84-50037216AEC8}.Release|x64.ActiveCfg = Release|x64
+ {9335005F-678E-4E8E-9B84-50037216AEC8}.Release|x64.Build.0 = Release|x64
+ {22F3B9DF-1209-4574-8331-003966F562BF}.Debug|ARM.ActiveCfg = Debug|ARM
+ {22F3B9DF-1209-4574-8331-003966F562BF}.Debug|ARM.Build.0 = Debug|ARM
+ {22F3B9DF-1209-4574-8331-003966F562BF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {22F3B9DF-1209-4574-8331-003966F562BF}.Debug|Win32.Build.0 = Debug|Win32
+ {22F3B9DF-1209-4574-8331-003966F562BF}.Debug|x64.ActiveCfg = Debug|Win32
+ {22F3B9DF-1209-4574-8331-003966F562BF}.Release|ARM.ActiveCfg = Release|ARM
+ {22F3B9DF-1209-4574-8331-003966F562BF}.Release|ARM.Build.0 = Release|ARM
+ {22F3B9DF-1209-4574-8331-003966F562BF}.Release|Win32.ActiveCfg = Release|Win32
+ {22F3B9DF-1209-4574-8331-003966F562BF}.Release|Win32.Build.0 = Release|Win32
+ {22F3B9DF-1209-4574-8331-003966F562BF}.Release|x64.ActiveCfg = Release|Win32
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Debug|ARM.ActiveCfg = Debug|ARM
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Debug|ARM.Build.0 = Debug|ARM
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Debug|ARM.Deploy.0 = Debug|ARM
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Debug|Win32.Build.0 = Debug|Win32
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Debug|Win32.Deploy.0 = Debug|Win32
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Debug|x64.ActiveCfg = Debug|x64
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Debug|x64.Build.0 = Debug|x64
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Debug|x64.Deploy.0 = Debug|x64
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Release|ARM.ActiveCfg = Release|ARM
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Release|ARM.Build.0 = Release|ARM
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Release|ARM.Deploy.0 = Release|ARM
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Release|Win32.ActiveCfg = Release|Win32
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Release|Win32.Build.0 = Release|Win32
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Release|Win32.Deploy.0 = Release|Win32
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Release|x64.ActiveCfg = Release|x64
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Release|x64.Build.0 = Release|x64
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA}.Release|x64.Deploy.0 = Release|x64
+ {15247C71-5289-4913-B88F-E253CC353720}.Debug|ARM.ActiveCfg = Debug|ARM
+ {15247C71-5289-4913-B88F-E253CC353720}.Debug|ARM.Build.0 = Debug|ARM
+ {15247C71-5289-4913-B88F-E253CC353720}.Debug|ARM.Deploy.0 = Debug|ARM
+ {15247C71-5289-4913-B88F-E253CC353720}.Debug|Win32.ActiveCfg = Debug|Win32
+ {15247C71-5289-4913-B88F-E253CC353720}.Debug|Win32.Build.0 = Debug|Win32
+ {15247C71-5289-4913-B88F-E253CC353720}.Debug|Win32.Deploy.0 = Debug|Win32
+ {15247C71-5289-4913-B88F-E253CC353720}.Debug|x64.ActiveCfg = Debug|Win32
+ {15247C71-5289-4913-B88F-E253CC353720}.Release|ARM.ActiveCfg = Release|ARM
+ {15247C71-5289-4913-B88F-E253CC353720}.Release|ARM.Build.0 = Release|ARM
+ {15247C71-5289-4913-B88F-E253CC353720}.Release|ARM.Deploy.0 = Release|ARM
+ {15247C71-5289-4913-B88F-E253CC353720}.Release|Win32.ActiveCfg = Release|Win32
+ {15247C71-5289-4913-B88F-E253CC353720}.Release|Win32.Build.0 = Release|Win32
+ {15247C71-5289-4913-B88F-E253CC353720}.Release|Win32.Deploy.0 = Release|Win32
+ {15247C71-5289-4913-B88F-E253CC353720}.Release|x64.ActiveCfg = Release|Win32
+ {3B26A12D-3A44-47EA-82D2-282660FC844D}.Debug|ARM.ActiveCfg = Debug|ARM
+ {3B26A12D-3A44-47EA-82D2-282660FC844D}.Debug|ARM.Build.0 = Debug|ARM
+ {3B26A12D-3A44-47EA-82D2-282660FC844D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3B26A12D-3A44-47EA-82D2-282660FC844D}.Debug|Win32.Build.0 = Debug|Win32
+ {3B26A12D-3A44-47EA-82D2-282660FC844D}.Debug|x64.ActiveCfg = Debug|x64
+ {3B26A12D-3A44-47EA-82D2-282660FC844D}.Debug|x64.Build.0 = Debug|x64
+ {3B26A12D-3A44-47EA-82D2-282660FC844D}.Release|ARM.ActiveCfg = Release|ARM
+ {3B26A12D-3A44-47EA-82D2-282660FC844D}.Release|ARM.Build.0 = Release|ARM
+ {3B26A12D-3A44-47EA-82D2-282660FC844D}.Release|Win32.ActiveCfg = Release|Win32
+ {3B26A12D-3A44-47EA-82D2-282660FC844D}.Release|Win32.Build.0 = Release|Win32
+ {3B26A12D-3A44-47EA-82D2-282660FC844D}.Release|x64.ActiveCfg = Release|x64
+ {3B26A12D-3A44-47EA-82D2-282660FC844D}.Release|x64.Build.0 = Release|x64
+ {22F798D8-BFFF-4754-996F-A5395343D5EC}.Debug|ARM.ActiveCfg = Debug|ARM
+ {22F798D8-BFFF-4754-996F-A5395343D5EC}.Debug|ARM.Build.0 = Debug|ARM
+ {22F798D8-BFFF-4754-996F-A5395343D5EC}.Debug|Win32.ActiveCfg = Debug|Win32
+ {22F798D8-BFFF-4754-996F-A5395343D5EC}.Debug|Win32.Build.0 = Debug|Win32
+ {22F798D8-BFFF-4754-996F-A5395343D5EC}.Debug|x64.ActiveCfg = Debug|Win32
+ {22F798D8-BFFF-4754-996F-A5395343D5EC}.Release|ARM.ActiveCfg = Release|ARM
+ {22F798D8-BFFF-4754-996F-A5395343D5EC}.Release|ARM.Build.0 = Release|ARM
+ {22F798D8-BFFF-4754-996F-A5395343D5EC}.Release|Win32.ActiveCfg = Release|Win32
+ {22F798D8-BFFF-4754-996F-A5395343D5EC}.Release|Win32.Build.0 = Release|Win32
+ {22F798D8-BFFF-4754-996F-A5395343D5EC}.Release|x64.ActiveCfg = Release|Win32
+ {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Debug|ARM.ActiveCfg = Debug|ARM
+ {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Debug|ARM.Build.0 = Debug|ARM
+ {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Debug|Win32.Build.0 = Debug|Win32
+ {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Debug|x64.ActiveCfg = Debug|x64
+ {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Debug|x64.Build.0 = Debug|x64
+ {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Release|ARM.ActiveCfg = Release|ARM
+ {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Release|ARM.Build.0 = Release|ARM
+ {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Release|Win32.ActiveCfg = Release|Win32
+ {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Release|Win32.Build.0 = Release|Win32
+ {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Release|x64.ActiveCfg = Release|x64
+ {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Release|x64.Build.0 = Release|x64
+ {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Debug|ARM.ActiveCfg = Debug|ARM
+ {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Debug|ARM.Build.0 = Debug|ARM
+ {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Debug|Win32.Build.0 = Debug|Win32
+ {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Debug|x64.ActiveCfg = Debug|Win32
+ {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Release|ARM.ActiveCfg = Release|ARM
+ {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Release|ARM.Build.0 = Release|ARM
+ {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Release|Win32.ActiveCfg = Release|Win32
+ {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Release|Win32.Build.0 = Release|Win32
+ {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Release|x64.ActiveCfg = Release|Win32
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|ARM.ActiveCfg = Debug|ARM
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|ARM.Build.0 = Debug|ARM
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|ARM.Deploy.0 = Debug|ARM
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|Win32.ActiveCfg = Debug|Win32
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|Win32.Build.0 = Debug|Win32
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|Win32.Deploy.0 = Debug|Win32
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|x64.ActiveCfg = Debug|x64
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|x64.Build.0 = Debug|x64
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|x64.Deploy.0 = Debug|x64
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|ARM.ActiveCfg = Release|ARM
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|ARM.Build.0 = Release|ARM
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|ARM.Deploy.0 = Release|ARM
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|Win32.ActiveCfg = Release|Win32
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|Win32.Build.0 = Release|Win32
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|Win32.Deploy.0 = Release|Win32
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|x64.ActiveCfg = Release|x64
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|x64.Build.0 = Release|x64
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|x64.Deploy.0 = Release|x64
+ {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Debug|ARM.ActiveCfg = Debug|ARM
+ {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Debug|ARM.Build.0 = Debug|ARM
+ {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Debug|ARM.Deploy.0 = Debug|ARM
+ {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Debug|Win32.Build.0 = Debug|Win32
+ {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Debug|Win32.Deploy.0 = Debug|Win32
+ {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Debug|x64.ActiveCfg = Debug|Win32
+ {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Release|ARM.ActiveCfg = Release|ARM
+ {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Release|ARM.Build.0 = Release|ARM
+ {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Release|ARM.Deploy.0 = Release|ARM
+ {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Release|Win32.ActiveCfg = Release|Win32
+ {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Release|Win32.Build.0 = Release|Win32
+ {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Release|Win32.Deploy.0 = Release|Win32
+ {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Release|x64.ActiveCfg = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {5D6F020F-7E72-4494-90A0-2DF11D235DF9} = {B3F299D4-B4CA-4F0B-8BE2-FB328483BC13}
+ {9335005F-678E-4E8E-9B84-50037216AEC8} = {B3F299D4-B4CA-4F0B-8BE2-FB328483BC13}
+ {22F3B9DF-1209-4574-8331-003966F562BF} = {B3F299D4-B4CA-4F0B-8BE2-FB328483BC13}
+ {BE3A1791-5BCE-4CEA-92CD-0E2D86DDE27A} = {572742C5-9322-4548-AB8B-96C3750A1B5D}
+ {F2BAE06B-CAAE-43EE-B21B-57FA48DB04FA} = {572742C5-9322-4548-AB8B-96C3750A1B5D}
+ {15247C71-5289-4913-B88F-E253CC353720} = {572742C5-9322-4548-AB8B-96C3750A1B5D}
+ {B3D1A3D5-9F54-43AF-9322-230B53242B78} = {85630454-74EA-4B5B-9B62-0E459B4476CB}
+ {4A3C6BA8-C227-498B-AA21-40BDA27B461F} = {B3D1A3D5-9F54-43AF-9322-230B53242B78}
+ {3B26A12D-3A44-47EA-82D2-282660FC844D} = {B3D1A3D5-9F54-43AF-9322-230B53242B78}
+ {22F798D8-BFFF-4754-996F-A5395343D5EC} = {B3D1A3D5-9F54-43AF-9322-230B53242B78}
+ {6FEB795C-C98C-4C8C-A88B-A35DEE205348} = {85630454-74EA-4B5B-9B62-0E459B4476CB}
+ {ADAFD00D-A0D6-46EF-9F0B-EA2880BFE1DE} = {6FEB795C-C98C-4C8C-A88B-A35DEE205348}
+ {F3550FE0-C795-44F6-8FEB-093EB68143AE} = {6FEB795C-C98C-4C8C-A88B-A35DEE205348}
+ {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF} = {6FEB795C-C98C-4C8C-A88B-A35DEE205348}
+ {A3AD93E4-0B2F-4C58-9181-69BED2E42E3E} = {B70EF25E-E352-4020-BCDF-388973E44637}
+ {79A8FCDA-4B12-4DD1-B676-FF148D651638} = {B70EF25E-E352-4020-BCDF-388973E44637}
+ {396FE85E-BB05-4B92-BCCB-F89AED4EA41A} = {B70EF25E-E352-4020-BCDF-388973E44637}
+ EndGlobalSection
+EndGlobal
diff --git a/build/wp8/Cocos2dShaderCompiler/Assets/logo.png b/build/wp8/Cocos2dShaderCompiler/Assets/logo.png
new file mode 100644
index 0000000000..e26771cb33
Binary files /dev/null and b/build/wp8/Cocos2dShaderCompiler/Assets/logo.png differ
diff --git a/build/wp8/Cocos2dShaderCompiler/Assets/smalllogo.png b/build/wp8/Cocos2dShaderCompiler/Assets/smalllogo.png
new file mode 100644
index 0000000000..1eb0d9d528
Binary files /dev/null and b/build/wp8/Cocos2dShaderCompiler/Assets/smalllogo.png differ
diff --git a/build/wp8/Cocos2dShaderCompiler/Assets/splashscreen.png b/build/wp8/Cocos2dShaderCompiler/Assets/splashscreen.png
new file mode 100644
index 0000000000..d8ded7198a
Binary files /dev/null and b/build/wp8/Cocos2dShaderCompiler/Assets/splashscreen.png differ
diff --git a/build/wp8/Cocos2dShaderCompiler/Assets/storelogo.png b/build/wp8/Cocos2dShaderCompiler/Assets/storelogo.png
new file mode 100644
index 0000000000..dcb672712c
Binary files /dev/null and b/build/wp8/Cocos2dShaderCompiler/Assets/storelogo.png differ
diff --git a/build/wp8/Cocos2dShaderCompiler/Cocos2dShaderCompiler.vcxproj b/build/wp8/Cocos2dShaderCompiler/Cocos2dShaderCompiler.vcxproj
index 8d18b52516..da1d0cbfe5 100644
--- a/build/wp8/Cocos2dShaderCompiler/Cocos2dShaderCompiler.vcxproj
+++ b/build/wp8/Cocos2dShaderCompiler/Cocos2dShaderCompiler.vcxproj
@@ -234,6 +234,7 @@
+
@@ -256,6 +257,7 @@
+
@@ -287,7 +289,6 @@
-
@@ -318,7 +319,6 @@
-
@@ -432,6 +432,7 @@
+
@@ -454,6 +455,7 @@
+
@@ -485,7 +487,6 @@
-
@@ -519,7 +520,6 @@
false
-
diff --git a/build/wp8/Cocos2dShaderCompiler/Cocos2dShaderCompiler.vcxproj.filters b/build/wp8/Cocos2dShaderCompiler/Cocos2dShaderCompiler.vcxproj.filters
index e428ea0402..4bb30fa911 100644
--- a/build/wp8/Cocos2dShaderCompiler/Cocos2dShaderCompiler.vcxproj.filters
+++ b/build/wp8/Cocos2dShaderCompiler/Cocos2dShaderCompiler.vcxproj.filters
@@ -94,9 +94,6 @@
libcoco2d\base
-
- libcoco2d\base
-
libcoco2d\base
@@ -175,9 +172,6 @@
libcoco2d\base
-
- libcoco2d\base
-
libcoco2d\base
@@ -583,6 +577,12 @@
libcoco2d\external\unzip
+
+ libcoco2d\2d
+
+
+ libcoco2d\2d
+
@@ -615,9 +615,6 @@
libcoco2d\base
-
- libcoco2d\base
-
libcoco2d\base
@@ -708,9 +705,6 @@
libcoco2d\base
-
- libcoco2d\base
-
libcoco2d\base
@@ -1155,6 +1149,12 @@
libcoco2d\external\unzip
+
+ libcoco2d\2d
+
+
+ libcoco2d\2d
+
diff --git a/build/wp8/Cocos2dShaderCompiler/ShaderCompiler.cpp b/build/wp8/Cocos2dShaderCompiler/ShaderCompiler.cpp
index d8c1d9a538..6ea1183367 100644
--- a/build/wp8/Cocos2dShaderCompiler/ShaderCompiler.cpp
+++ b/build/wp8/Cocos2dShaderCompiler/ShaderCompiler.cpp
@@ -28,7 +28,6 @@ THE SOFTWARE.
#include "CCPrecompiledShaders.h"
using namespace Concurrency;
-using namespace DirectX;
using namespace Microsoft::WRL;
using namespace Windows::Foundation;
using namespace Windows::UI::Core;
diff --git a/cocos/2d/CCDrawNode.cpp b/cocos/2d/CCDrawNode.cpp
index eae022bea6..3edbe0bbac 100644
--- a/cocos/2d/CCDrawNode.cpp
+++ b/cocos/2d/CCDrawNode.cpp
@@ -346,9 +346,8 @@ void DrawNode::onDraw(const Mat4 &transform, uint32_t flags)
// texcood
glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORD, 2, GL_FLOAT, GL_FALSE, sizeof(V2F_C4B_T2F), (GLvoid *)offsetof(V2F_C4B_T2F, texCoords));
}
- glBindBuffer(GL_ARRAY_BUFFER, _vbo);
+
glDrawArrays(GL_TRIANGLES, 0, _bufferCount);
- glBindBuffer(GL_ARRAY_BUFFER, 0);
CC_INCREMENT_GL_DRAWN_BATCHES_AND_VERTICES(1, _bufferCount);
CHECK_GL_ERROR_DEBUG();
@@ -382,9 +381,7 @@ void DrawNode::onDrawGLLine(const Mat4 &transform, uint32_t flags)
glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORD, 2, GL_FLOAT, GL_FALSE, sizeof(V2F_C4B_T2F), (GLvoid *)offsetof(V2F_C4B_T2F, texCoords));
}
glLineWidth(2);
- glBindBuffer(GL_ARRAY_BUFFER, _vboGLLine);
glDrawArrays(GL_LINES, 0, _bufferCountGLLine);
- glBindBuffer(GL_ARRAY_BUFFER, 0);
CC_INCREMENT_GL_DRAWN_BATCHES_AND_VERTICES(1,_bufferCountGLLine);
CHECK_GL_ERROR_DEBUG();
@@ -399,15 +396,28 @@ void DrawNode::onDrawGLPoint(const Mat4 &transform, uint32_t flags)
glProgram->setUniformLocationWith4fv(glProgram->getUniformLocation("u_color"), (GLfloat*) &_pointColor.r, 1);
glProgram->setUniformLocationWith1f(glProgram->getUniformLocation("u_pointSize"), _pointSize);
- glBindBuffer(GL_ARRAY_BUFFER, _vboGLPoint);
- glBufferData(GL_ARRAY_BUFFER, sizeof(V2F_C4B_T2F)*_bufferCapacityGLPoint, _bufferGLPoint, GL_STREAM_DRAW);
-
- GL::enableVertexAttribs( GL::VERTEX_ATTRIB_FLAG_POSITION | GL::VERTEX_ATTRIB_FLAG_COLOR);
- glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 2, GL_FLOAT, GL_FALSE, sizeof(V2F_C4B_T2F), (GLvoid *)offsetof(V2F_C4B_T2F, vertices));
- glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE, sizeof(V2F_C4B_T2F), (GLvoid *)offsetof(V2F_C4B_T2F, colors));
+ if (_dirtyGLPoint)
+ {
+ glBindBuffer(GL_ARRAY_BUFFER, _vboGLPoint);
+ glBufferData(GL_ARRAY_BUFFER, sizeof(V2F_C4B_T2F)*_bufferCapacityGLPoint, _bufferGLPoint, GL_STREAM_DRAW);
+
+ _dirtyGLPoint = false;
+ }
+
+ if (Configuration::getInstance()->supportsShareableVAO())
+ {
+ GL::bindVAO(_vaoGLPoint);
+ }
+ else
+ {
+ glBindBuffer(GL_ARRAY_BUFFER, _vboGLPoint);
+ GL::enableVertexAttribs( GL::VERTEX_ATTRIB_FLAG_POSITION | GL::VERTEX_ATTRIB_FLAG_COLOR);
+ glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 2, GL_FLOAT, GL_FALSE, sizeof(V2F_C4B_T2F), (GLvoid *)offsetof(V2F_C4B_T2F, vertices));
+ glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE, sizeof(V2F_C4B_T2F), (GLvoid *)offsetof(V2F_C4B_T2F, colors));
+ glBindBuffer(GL_ARRAY_BUFFER, _vboGLPoint);
+ }
glDrawArrays(GL_POINTS, 0, _bufferCountGLPoint);
- glBindBuffer(GL_ARRAY_BUFFER, 0);
CC_INCREMENT_GL_DRAWN_BATCHES_AND_VERTICES(1,_bufferCountGLPoint);
CHECK_GL_ERROR_DEBUG();
@@ -415,6 +425,8 @@ void DrawNode::onDrawGLPoint(const Mat4 &transform, uint32_t flags)
void DrawNode::drawPoint(const Vec2& position, const float pointSize, const Color4F &color)
{
+ ensureCapacityGLPoint(1);
+
V2F_C4B_T2F *point = (V2F_C4B_T2F*)(_bufferGLPoint + _bufferCountGLPoint);
V2F_C4B_T2F a = {position, Color4B(color), Tex2F(0.0, 0.0) };
*point = a;
@@ -423,6 +435,7 @@ void DrawNode::drawPoint(const Vec2& position, const float pointSize, const Colo
_pointColor = color;
_bufferCountGLPoint += 1;
+ _dirtyGLPoint = true;
}
void DrawNode::drawPoints(const Vec2 *position, unsigned int numberOfPoints, const Color4F &color)
@@ -440,6 +453,7 @@ void DrawNode::drawPoints(const Vec2 *position, unsigned int numberOfPoints, con
_pointColor = color;
_bufferCountGLPoint += numberOfPoints;
+ _dirtyGLPoint = true;
}
void DrawNode::drawLine(const Vec2 &origin, const Vec2 &destination, const Color4F &color)
diff --git a/cocos/2d/CCFontAtlas.cpp b/cocos/2d/CCFontAtlas.cpp
index be92cbc4b6..fd8c50c0b7 100644
--- a/cocos/2d/CCFontAtlas.cpp
+++ b/cocos/2d/CCFontAtlas.cpp
@@ -67,7 +67,7 @@ FontAtlas::FontAtlas(Font &theFont)
auto outlineSize = fontTTf->getOutlineSize();
if(outlineSize > 0)
{
- _commonLineHeight += 2 * outlineSize * CC_CONTENT_SCALE_FACTOR();
+ _commonLineHeight += 2 * outlineSize;
_currentPageDataSize *= 2;
}
diff --git a/cocos/2d/CCFontFreeType.cpp b/cocos/2d/CCFontFreeType.cpp
index 6a4f639c82..1ee2c1aebc 100644
--- a/cocos/2d/CCFontFreeType.cpp
+++ b/cocos/2d/CCFontFreeType.cpp
@@ -95,12 +95,12 @@ FT_Library FontFreeType::getFTLibrary()
FontFreeType::FontFreeType(bool distanceFieldEnabled /* = false */,int outline /* = 0 */)
: _fontRef(nullptr)
,_distanceFieldEnabled(distanceFieldEnabled)
-,_outlineSize(outline)
+,_outlineSize(0.0f)
,_stroker(nullptr)
{
- if (_outlineSize > 0)
+ if (outline > 0)
{
- _outlineSize *= CC_CONTENT_SCALE_FACTOR();
+ _outlineSize = outline * CC_CONTENT_SCALE_FACTOR();
FT_Stroker_New(FontFreeType::getFTLibrary(), &_stroker);
FT_Stroker_Set(_stroker,
(int)(_outlineSize * 64),
@@ -328,8 +328,6 @@ unsigned char* FontFreeType::getGlyphBitmap(unsigned short theChar, long &outWid
}
}
- outRect.origin.x = bbox.xMin >> 6;
- outRect.origin.y = - (bbox.yMax >> 6);
xAdvance += 2 * _outlineSize;
outRect.size.width = blendWidth;
outRect.size.height = blendHeight;
diff --git a/cocos/2d/CCLabelTextFormatter.cpp b/cocos/2d/CCLabelTextFormatter.cpp
index 4532ab0e2c..dfad03f4f2 100644
--- a/cocos/2d/CCLabelTextFormatter.cpp
+++ b/cocos/2d/CCLabelTextFormatter.cpp
@@ -387,13 +387,16 @@ bool LabelTextFormatter::createStringSprites(Label *theLabel)
log("WARNING: can't find letter definition in font file for letter: %c", c);
continue;
}
-
- nextFontPositionX += charAdvance + kernings[i] + theLabel->_additionalKerning;
+
+ nextFontPositionX += charAdvance + kernings[i];
if (longestLine < nextFontPositionX)
{
longestLine = nextFontPositionX;
}
+
+ // check longest line before adding additional kerning
+ nextFontPositionX += theLabel->_additionalKerning;
}
float lastCharWidth = tempDefinition.width * contentScaleFactor;
diff --git a/cocos/2d/CCTextFieldTTF.cpp b/cocos/2d/CCTextFieldTTF.cpp
index 98b0f54411..591d62fb20 100644
--- a/cocos/2d/CCTextFieldTTF.cpp
+++ b/cocos/2d/CCTextFieldTTF.cpp
@@ -195,7 +195,6 @@ void TextFieldTTF::insertText(const char * text, size_t len)
if (len > 0)
{
-#if (CC_TARGET_PLATFORM != CC_PLATFORM_WP8 && CC_TARGET_PLATFORM != CC_PLATFORM_WINRT)
if (_delegate && _delegate->onTextFieldInsertText(this, insert.c_str(), len))
{
// delegate doesn't want to insert text
@@ -206,15 +205,6 @@ void TextFieldTTF::insertText(const char * text, size_t len)
std::string sText(_inputText);
sText.append(insert);
setString(sText);
-#else
- size_t existlen = _inputText.length();
- if (_delegate && _delegate->onTextFieldInsertText(this, insert.c_str() + existlen, len - existlen))
- {
- // delegate doesn't want to insert text
- return;
- }
- setString(insert);
-#endif
}
if ((int)insert.npos == pos) {
diff --git a/cocos/2d/libcocos2d_8_1/libcocos2d_8_1/libcocos2d_8_1.Shared/libcocos2d_8_1.Shared.vcxitems b/cocos/2d/libcocos2d_8_1/libcocos2d_8_1/libcocos2d_8_1.Shared/libcocos2d_8_1.Shared.vcxitems
index 4be2a11b3a..aceead4b72 100644
--- a/cocos/2d/libcocos2d_8_1/libcocos2d_8_1/libcocos2d_8_1.Shared/libcocos2d_8_1.Shared.vcxitems
+++ b/cocos/2d/libcocos2d_8_1/libcocos2d_8_1/libcocos2d_8_1.Shared/libcocos2d_8_1.Shared.vcxitems
@@ -115,7 +115,6 @@
-
@@ -146,7 +145,6 @@
-
@@ -328,6 +326,7 @@
+
@@ -359,6 +358,7 @@
+
@@ -397,6 +397,7 @@
+
@@ -420,6 +421,7 @@
+
@@ -532,7 +534,6 @@
-
@@ -559,13 +560,11 @@
false
- CompileAsCpp
+ NotUsing
- NotUsing
-
@@ -709,6 +708,7 @@
+
Create
@@ -742,7 +742,7 @@
-
+
@@ -780,6 +780,7 @@
+
@@ -803,6 +804,7 @@
+
@@ -867,8 +869,13 @@
+
+ Document
+
+
+
\ No newline at end of file
diff --git a/cocos/2d/libcocos2d_8_1/libcocos2d_8_1/libcocos2d_8_1.Shared/libcocos2d_8_1.Shared.vcxitems.filters b/cocos/2d/libcocos2d_8_1/libcocos2d_8_1/libcocos2d_8_1.Shared/libcocos2d_8_1.Shared.vcxitems.filters
index b0806073d1..a01ad4cdf3 100644
--- a/cocos/2d/libcocos2d_8_1/libcocos2d_8_1/libcocos2d_8_1.Shared/libcocos2d_8_1.Shared.vcxitems.filters
+++ b/cocos/2d/libcocos2d_8_1/libcocos2d_8_1/libcocos2d_8_1.Shared/libcocos2d_8_1.Shared.vcxitems.filters
@@ -3,204 +3,6 @@
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
3d
@@ -261,186 +63,6 @@
3d
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
cocosbuilder\Header Files
@@ -1165,9 +787,6 @@
ui\UIWidgets
-
- base
-
platform\winrt
@@ -1282,9 +901,6 @@
ui\Layouts
-
- 2d
-
extension\AssetsManager
@@ -1300,207 +916,399 @@
extension\AssetsManager
+
+ platform\winrt
+
+
+ ui\UIWidgets\EditBox
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
-
- 2d
-
3d
@@ -1549,150 +1357,6 @@
3d
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
-
- base
-
cocosbuilder\Source Files
@@ -2086,9 +1750,6 @@
ui\UIWidgets\EditBox
-
- ui\UIWidgets\EditBox
-
ui\UIWidgets\ScrollWidget
@@ -2279,9 +1940,6 @@
ui\UIWidgets
-
- base
-
platform\winrt
@@ -2342,9 +2000,6 @@
ui\Layouts
-
- 2d
-
extension\AssetsManager
@@ -2360,6 +2015,360 @@
extension\AssetsManager
+
+ platform\winrt
+
+
+ ui\UIWidgets\EditBox
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ 2d
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
+
+ base
+
@@ -2686,5 +2695,14 @@
renderer
+
+ renderer
+
+
+ 2d
+
+
+ 2d
+
\ No newline at end of file
diff --git a/cocos/2d/libcocos2d_8_1/libcocos2d_8_1/libcocos2d_8_1.WindowsPhone/libcocos2d_8_1.WindowsPhone.vcxproj b/cocos/2d/libcocos2d_8_1/libcocos2d_8_1/libcocos2d_8_1.WindowsPhone/libcocos2d_8_1.WindowsPhone.vcxproj
index a082a15791..547e6b214c 100644
--- a/cocos/2d/libcocos2d_8_1/libcocos2d_8_1/libcocos2d_8_1.WindowsPhone/libcocos2d_8_1.WindowsPhone.vcxproj
+++ b/cocos/2d/libcocos2d_8_1/libcocos2d_8_1/libcocos2d_8_1.WindowsPhone/libcocos2d_8_1.WindowsPhone.vcxproj
@@ -109,7 +109,7 @@
/Zm200 %(AdditionalOptions)
pch.h
$(EngineRoot)external\wp_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\wp_8.1;$(EngineRoot)external\websockets\include\wp_8.1;$(EngineRoot)external\curl\include\wp_8.1;$(EngineRoot)external\tiff\include\wp_8.1;$(EngineRoot)external\jpeg\include\wp_8.1;$(EngineRoot)external\png\include\wp_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)
- _USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_DEBUG;COCOS2D_DEBUG=1;%(PreprocessorDefinitions)
+ CC_NO_GL_POINTSIZE;_USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_DEBUG;COCOS2D_DEBUG=1;%(PreprocessorDefinitions)
Console
@@ -127,7 +127,7 @@
/Zm200 %(AdditionalOptions)
pch.h
$(EngineRoot)external\wp_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\wp_8.1;$(EngineRoot)external\websockets\include\wp_8.1;$(EngineRoot)external\curl\include\wp_8.1;$(EngineRoot)external\tiff\include\wp_8.1;$(EngineRoot)external\jpeg\include\wp_8.1;$(EngineRoot)external\png\include\wp_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)
- _USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;NDEBUG;%(PreprocessorDefinitions)
+ CC_NO_GL_POINTSIZE;_USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;NDEBUG;%(PreprocessorDefinitions)
Console
@@ -145,7 +145,7 @@
/Zm200 %(AdditionalOptions)
pch.h
$(EngineRoot)external\wp_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\wp_8.1;$(EngineRoot)external\websockets\include\wp_8.1;$(EngineRoot)external\curl\include\wp_8.1;$(EngineRoot)external\tiff\include\wp_8.1;$(EngineRoot)external\jpeg\include\wp_8.1;$(EngineRoot)external\png\include\wp_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)
- _USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_DEBUG;COCOS2D_DEBUG=1;%(PreprocessorDefinitions)
+ CC_NO_GL_POINTSIZE;_USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_DEBUG;COCOS2D_DEBUG=1;%(PreprocessorDefinitions)
Console
@@ -163,7 +163,7 @@
/Zm200 %(AdditionalOptions)
pch.h
$(EngineRoot)external\wp_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\wp_8.1;$(EngineRoot)external\websockets\include\wp_8.1;$(EngineRoot)external\curl\include\wp_8.1;$(EngineRoot)external\tiff\include\wp_8.1;$(EngineRoot)external\jpeg\include\wp_8.1;$(EngineRoot)external\png\include\wp_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)
- _USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;NDEBUG;%(PreprocessorDefinitions)
+ CC_NO_GL_POINTSIZE;_USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;NDEBUG;%(PreprocessorDefinitions)
Console
diff --git a/cocos/3d/CCSprite3D.h b/cocos/3d/CCSprite3D.h
index f1621d6d1b..3b08d9bf9e 100644
--- a/cocos/3d/CCSprite3D.h
+++ b/cocos/3d/CCSprite3D.h
@@ -69,7 +69,7 @@ public:
/**get mesh*/
Mesh* getMesh() const { return _meshes.at(0); }
- /** get Mesh Count */
+ /** get mesh count */
ssize_t getMeshCount() const { return _meshes.size(); }
/**get skin*/
diff --git a/cocos/base/CCDirector.cpp b/cocos/base/CCDirector.cpp
index 4ff32be3ab..227dfe2796 100644
--- a/cocos/base/CCDirector.cpp
+++ b/cocos/base/CCDirector.cpp
@@ -155,9 +155,8 @@ bool Director::init(void)
_renderer = new (std::nothrow) Renderer;
-#if (CC_TARGET_PLATFORM != CC_PLATFORM_WINRT)
_console = new (std::nothrow) Console;
-#endif
+
return true;
}
@@ -181,9 +180,8 @@ Director::~Director(void)
delete _renderer;
-#if (CC_TARGET_PLATFORM != CC_PLATFORM_WINRT)
delete _console;
-#endif
+
CC_SAFE_RELEASE(_eventDispatcher);
diff --git a/cocos/editor-support/cocostudio/CCComAudio.cpp b/cocos/editor-support/cocostudio/CCComAudio.cpp
index b06e20daf9..fccc541c87 100644
--- a/cocos/editor-support/cocostudio/CCComAudio.cpp
+++ b/cocos/editor-support/cocostudio/CCComAudio.cpp
@@ -128,8 +128,7 @@ bool ComAudio::serialize(void* r)
}
if (strcmp(className, "CCBackgroundAudio") == 0)
{
-#if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8)
- // no MP3 support for CC_PLATFORM_WP8
+#if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) || (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)
std::string::size_type pos = filePath.find(".mp3");
if (pos == filePath.npos)
{
diff --git a/cocos/editor-support/spine/proj.win8.1-universal/libSpine.Shared/libSpine.Shared.vcxitems b/cocos/editor-support/spine/proj.win8.1-universal/libSpine.Shared/libSpine.Shared.vcxitems
index 9a1fd46146..88cb6a4ae6 100644
--- a/cocos/editor-support/spine/proj.win8.1-universal/libSpine.Shared/libSpine.Shared.vcxitems
+++ b/cocos/editor-support/spine/proj.win8.1-universal/libSpine.Shared/libSpine.Shared.vcxitems
@@ -133,7 +133,4 @@
-
-
-
\ No newline at end of file
diff --git a/cocos/editor-support/spine/proj.win8.1-universal/libSpine.Shared/libSpine.Shared.vcxitems.filters b/cocos/editor-support/spine/proj.win8.1-universal/libSpine.Shared/libSpine.Shared.vcxitems.filters
index 06321d9f79..e89ddb9cf3 100644
--- a/cocos/editor-support/spine/proj.win8.1-universal/libSpine.Shared/libSpine.Shared.vcxitems.filters
+++ b/cocos/editor-support/spine/proj.win8.1-universal/libSpine.Shared/libSpine.Shared.vcxitems.filters
@@ -65,7 +65,4 @@
-
-
-
\ No newline at end of file
diff --git a/cocos/math/Vec2.h b/cocos/math/Vec2.h
index 78aac69b95..79b034d582 100644
--- a/cocos/math/Vec2.h
+++ b/cocos/math/Vec2.h
@@ -418,6 +418,15 @@ public:
* @return True if this vector is less than the given vector, false otherwise.
*/
inline bool operator<(const Vec2& v) const;
+
+ /**
+ * Determines if this vector is greater than the given vector.
+ *
+ * @param v The vector to compare against.
+ *
+ * @return True if this vector is greater than the given vector, false otherwise.
+ */
+ inline bool operator>(const Vec2& v) const;
/**
* Determines if this vector is equal to the given vector.
diff --git a/cocos/math/Vec2.inl b/cocos/math/Vec2.inl
index 329208b1e5..4cfbe7d27c 100644
--- a/cocos/math/Vec2.inl
+++ b/cocos/math/Vec2.inl
@@ -82,6 +82,15 @@ inline bool Vec2::operator<(const Vec2& v) const
return x < v.x;
}
+inline bool Vec2::operator>(const Vec2& v) const
+{
+ if (x == v.x)
+ {
+ return y > v.y;
+ }
+ return x > v.x;
+}
+
inline bool Vec2::operator==(const Vec2& v) const
{
return x==v.x && y==v.y;
diff --git a/cocos/platform/win8.1-universal/Cocos2dRenderer.cpp b/cocos/platform/win8.1-universal/Cocos2dRenderer.cpp
new file mode 100644
index 0000000000..e0c02e3ee8
--- /dev/null
+++ b/cocos/platform/win8.1-universal/Cocos2dRenderer.cpp
@@ -0,0 +1,85 @@
+/*
+* cocos2d-x http://www.cocos2d-x.org
+*
+* Copyright (c) 2010-2014 - cocos2d-x community
+*
+* Portions Copyright (c) Microsoft Open Technologies, Inc.
+* All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and limitations under the License.
+*/
+
+#include "Cocos2dRenderer.h"
+#include "AppDelegate.h"
+#include "CCGLViewImpl-winrt.h"
+#include "CCApplication.h"
+#include "cocos2d.h"
+
+// These are used by the shader compilation methods.
+#include
+#include
+#include
+
+using namespace Platform;
+using namespace Windows::UI::Core;
+using namespace Windows::UI::Xaml::Controls;
+using namespace Windows::Graphics::Display;
+
+USING_NS_CC;
+
+
+Cocos2dRenderer::Cocos2dRenderer(const int width, const int height, CoreDispatcher^ dispatcher, Panel^ panel)
+ : mApp(nullptr)
+ , mWidth(width)
+ , mHeight(height)
+ , m_dispatcher(dispatcher)
+ , m_panel(panel)
+{
+ mApp = new AppDelegate();
+ auto director = cocos2d::Director::getInstance();
+
+ GLViewImpl* glview = GLViewImpl::create("Test Cpp");
+ glview->setDispatcher(dispatcher);
+ glview->setPanel(panel);
+ glview->Create(static_cast(width), static_cast(height), DisplayOrientations::Landscape);
+ director->setOpenGLView(glview);
+ CCApplication::getInstance()->run();
+}
+
+Cocos2dRenderer::~Cocos2dRenderer()
+{
+ delete mApp;
+}
+
+// Draws a basic triangle
+void Cocos2dRenderer::Draw(GLsizei width, GLsizei height)
+{
+ if (width != mWidth || height != mHeight)
+ {
+ mWidth = width;
+ mHeight = height;
+ GLViewImpl::sharedOpenGLView()->UpdateForWindowSizeChange(static_cast(width), static_cast(height));
+ }
+
+ GLViewImpl::sharedOpenGLView()->ProcessEvents();
+ GLViewImpl::sharedOpenGLView()->Render();
+}
+
+void Cocos2dRenderer::QueuePointerEvent(cocos2d::PointerEventType type, Windows::UI::Core::PointerEventArgs^ args)
+{
+ GLViewImpl::sharedOpenGLView()->QueuePointerEvent(type, args);
+}
+
+void Cocos2dRenderer::QueueKeyBoardEvent(cocos2d::Cocos2dKeyEvent type, Windows::UI::Core::KeyEventArgs^ e)
+{
+ //GLViewImpl::sharedOpenGLView()->QueuePointerEvent(type, e);
+}
+
+
diff --git a/cocos/platform/win8.1-universal/Cocos2dRenderer.h b/cocos/platform/win8.1-universal/Cocos2dRenderer.h
new file mode 100644
index 0000000000..387445f6d5
--- /dev/null
+++ b/cocos/platform/win8.1-universal/Cocos2dRenderer.h
@@ -0,0 +1,47 @@
+/*
+* cocos2d-x http://www.cocos2d-x.org
+*
+* Copyright (c) 2010-2014 - cocos2d-x community
+*
+* Portions Copyright (c) Microsoft Open Technologies, Inc.
+* All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and limitations under the License.
+*/
+#pragma once
+
+#include
+
+#include "cocos2d.h"
+
+
+class AppDelegate;
+
+namespace cocos2d
+{
+ class Cocos2dRenderer
+ {
+ public:
+ Cocos2dRenderer(const int width, const int height, Windows::UI::Core::CoreDispatcher^ dispathcer, Windows::UI::Xaml::Controls::Panel^ panel);
+ ~Cocos2dRenderer();
+ void Draw(GLsizei width, GLsizei height);
+ void QueuePointerEvent(PointerEventType type, Windows::UI::Core::PointerEventArgs^ args);
+ void QueueKeyBoardEvent(Cocos2dKeyEvent type, Windows::UI::Core::KeyEventArgs^ e);
+
+ private:
+
+ int mWidth;
+ int mHeight;
+ // The AppDelegate for the Cocos2D app
+ AppDelegate* mApp;
+ Platform::Agile m_dispatcher;
+ Platform::Agile m_panel;
+ };
+}
\ No newline at end of file
diff --git a/tests/cpp-tests/proj.win8.1-universal/cpp-tests.Shared/OpenGLES.cpp b/cocos/platform/win8.1-universal/OpenGLES.cpp
similarity index 83%
rename from tests/cpp-tests/proj.win8.1-universal/cpp-tests.Shared/OpenGLES.cpp
rename to cocos/platform/win8.1-universal/OpenGLES.cpp
index 793b91d83f..943b0856fc 100644
--- a/tests/cpp-tests/proj.win8.1-universal/cpp-tests.Shared/OpenGLES.cpp
+++ b/cocos/platform/win8.1-universal/OpenGLES.cpp
@@ -1,5 +1,22 @@
-#include "pch.h"
+/*
+* cocos2d-x http://www.cocos2d-x.org
+*
+* Copyright (c) 2010-2014 - cocos2d-x community
+*
+* Portions Copyright (c) Microsoft Open Technologies, Inc.
+* All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and limitations under the License.
+*/
+#include "OpenGLES.h"
using namespace Platform;
using namespace Windows::UI::Xaml::Controls;
using namespace Windows::Foundation;
@@ -36,8 +53,13 @@ void OpenGLES::Initialize()
// This can be used to configure D3D11. For example, EGL_PLATFORM_ANGLE_TYPE_D3D11_FL9_3_ANGLE could be used.
// This would ask the graphics card to use D3D11 Feature Level 9_3 instead of Feature Level 11_0+.
// On Windows Phone, this would allow the Phone Emulator to act more like the GPUs that are available on real Phone devices.
+#if (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
+ EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_D3D11_FL9_3_ANGLE,
+ EGL_NONE,
+#else
EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE,
EGL_NONE,
+#endif
};
const EGLint contextAttributes[] =
diff --git a/cocos/platform/win8.1-universal/OpenGLES.h b/cocos/platform/win8.1-universal/OpenGLES.h
new file mode 100644
index 0000000000..ce9f2a9cdf
--- /dev/null
+++ b/cocos/platform/win8.1-universal/OpenGLES.h
@@ -0,0 +1,52 @@
+/*
+* cocos2d-x http://www.cocos2d-x.org
+*
+* Copyright (c) 2010-2014 - cocos2d-x community
+*
+* Portions Copyright (c) Microsoft Open Technologies, Inc.
+* All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and limitations under the License.
+*/
+
+#pragma once
+
+// OpenGL ES includes
+#include
+#include
+
+// EGL includes
+#include
+#include
+#include
+#include
+
+
+class OpenGLES
+{
+public:
+ OpenGLES();
+ ~OpenGLES();
+
+ EGLSurface CreateSurface(Windows::UI::Xaml::Controls::SwapChainPanel^ panel, const Windows::Foundation::Size* renderSurfaceSize);
+ void DestroySurface(const EGLSurface surface);
+ void MakeCurrent(const EGLSurface surface);
+ EGLBoolean SwapBuffers(const EGLSurface surface);
+ void Reset();
+
+private:
+ void Initialize();
+ void Cleanup();
+
+private:
+ EGLDisplay mEglDisplay;
+ EGLContext mEglContext;
+ EGLConfig mEglConfig;
+};
diff --git a/cocos/platform/win8.1-universal/OpenGLESPage.xaml b/cocos/platform/win8.1-universal/OpenGLESPage.xaml
new file mode 100644
index 0000000000..e5b62802a5
--- /dev/null
+++ b/cocos/platform/win8.1-universal/OpenGLESPage.xaml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
diff --git a/tests/cpp-tests/proj.win8.1-universal/cpp-tests.Windows/OpenGLESPage.xaml.cpp b/cocos/platform/win8.1-universal/OpenGLESPage.xaml.cpp
similarity index 59%
rename from tests/cpp-tests/proj.win8.1-universal/cpp-tests.Windows/OpenGLESPage.xaml.cpp
rename to cocos/platform/win8.1-universal/OpenGLESPage.xaml.cpp
index 29392e8af4..c8ee9afb42 100644
--- a/tests/cpp-tests/proj.win8.1-universal/cpp-tests.Windows/OpenGLESPage.xaml.cpp
+++ b/cocos/platform/win8.1-universal/OpenGLESPage.xaml.cpp
@@ -1,10 +1,40 @@
-#include "pch.h"
+/*
+* cocos2d-x http://www.cocos2d-x.org
+*
+* Copyright (c) 2010-2014 - cocos2d-x community
+*
+* Portions Copyright (c) Microsoft Open Technologies, Inc.
+* All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and limitations under the License.
+*/
+
+#include "App.xaml.h"
#include "OpenGLESPage.xaml.h"
-using namespace cpp_tests;
+using namespace cocos2d;
using namespace Platform;
using namespace Concurrency;
using namespace Windows::Foundation;
+using namespace Windows::Foundation::Collections;
+using namespace Windows::Graphics::Display;
+using namespace Windows::System::Threading;
+using namespace Windows::UI::Core;
+using namespace Windows::UI::Input;
+using namespace Windows::UI::Xaml;
+using namespace Windows::UI::Xaml::Controls;
+using namespace Windows::UI::Xaml::Controls::Primitives;
+using namespace Windows::UI::Xaml::Data;
+using namespace Windows::UI::Xaml::Input;
+using namespace Windows::UI::Xaml::Media;
+using namespace Windows::UI::Xaml::Navigation;
OpenGLESPage::OpenGLESPage() :
OpenGLESPage(nullptr)
@@ -16,7 +46,8 @@ OpenGLESPage::OpenGLESPage(OpenGLES* openGLES) :
mOpenGLES(openGLES),
mRenderSurface(EGL_NO_SURFACE),
mCustomRenderSurfaceSize(0,0),
- mUseCustomRenderSurfaceSize(false)
+ mUseCustomRenderSurfaceSize(false),
+ m_coreInput(nullptr)
{
InitializeComponent();
@@ -31,7 +62,11 @@ OpenGLESPage::OpenGLESPage(OpenGLES* openGLES) :
this->Loaded +=
ref new Windows::UI::Xaml::RoutedEventHandler(this, &OpenGLESPage::OnPageLoaded);
-#if !(WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
+ mSwapChainPanelSize = { swapChainPanel->RenderSize.Width, swapChainPanel->RenderSize.Height };
+
+#if (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
+ Windows::UI::ViewManagement::StatusBar::GetForCurrentView()->HideAsync();
+#else
// Disable all pointer visual feedback for better performance when touching.
// This is not supported on Windows Phone applications.
auto pointerVisualizationSettings = Windows::UI::Input::PointerVisualizationSettings::GetForCurrentView();
@@ -39,7 +74,28 @@ OpenGLESPage::OpenGLESPage(OpenGLES* openGLES) :
pointerVisualizationSettings->IsBarrelButtonFeedbackEnabled = false;
#endif
- mSwapChainPanelSize = { swapChainPanel->RenderSize.Width, swapChainPanel->RenderSize.Height };
+ // Register our SwapChainPanel to get independent input pointer events
+ auto workItemHandler = ref new WorkItemHandler([this](IAsyncAction ^)
+ {
+ // The CoreIndependentInputSource will raise pointer events for the specified device types on whichever thread it's created on.
+ m_coreInput = swapChainPanel->CreateCoreIndependentInputSource(
+ Windows::UI::Core::CoreInputDeviceTypes::Mouse |
+ Windows::UI::Core::CoreInputDeviceTypes::Touch |
+ Windows::UI::Core::CoreInputDeviceTypes::Pen
+ );
+
+ // Register for pointer events, which will be raised on the background thread.
+ m_coreInput->PointerPressed += ref new TypedEventHandler