Merge branch 'v3' of github.com:cocos2d/cocos2d-x into v3-jsb

Conflicts:
	build/cocos2d-wp8.sln
This commit is contained in:
zhangbin 2015-04-16 17:04:07 +08:00
commit 1f491cf656
280 changed files with 5178 additions and 39490 deletions

View File

@ -369,6 +369,7 @@ Developers:
giginet
Fix CCRepeat#create is recieved bad argument on Lua binding.
Added a feature that CCSSceneReader can load name properties as node names.
Added Rect::intersectsCircle().
neokim
Adds 'setFont' and 'setAnchorPoint' to CCEditBox.
@ -1093,6 +1094,12 @@ Developers:
Almax27
RenderQueue command buffer optimize.
IgorMats
Added MotionStreak::getStroke/setStroke
matsuokah
Fixed the bug that JNI illegal start byte error causes crashing error on Android 5.0
Retired Core Developers:
WenSheng Yang

View File

@ -1,8 +1,25 @@
cocos2d-x-3.6 ??
[NEW] 3rd: update chipmunk to v 6.2.2 on Windows 8.1 Universal App
[NEW] 3rd: update freetype to v 2.5.5 on Windows 8.1 Universal App
[NEW] WP8: remove WP8 support because Angle don't support WP8 any more
[FIX] JNI: JNI illegal start byte error which causes crashing error on Android 5.0
cocos2d-x-3.6beta0 Apr.14 2015
[NEW] 3rd: update Spine runtime to v2.1.25
[NEW] MotionStreak: add `MotionStreak::getStroke()` and `MotionStreak::setStroke()`
[NEW] Rect: added `Rect::intersectsCircle()`
[NEW] UI:Text: add `Text::disableEffect(LabelEffect)` to disable a specific effect
[FIX] 3rd: link error on VS2012 caused by libpng
[FIX] Label: position is wrong if it is visited by a new camera
[FIX] Particle3D: crash on clone
[FIX] Particle3D: "make local" now working correctly. "Make local" is a properties that toggles particle coordination between local and global.
[FIX] Particle3D: particle rotation now no longer stacks up on each other
[FIX] Particle3D: Ribbon Trail now positions correctly
[FIX] Physics: rigid body's rotation is wrong if it is attatched to a node which rotation is not 0
[FIX] Renderer: RenderQueue command buffer optimizing
[FIX] UI:Button: use too much memory
[FIX] UI:Text: content size is wrong after setting outline effect
cocos2d-x-3.6alpha0 Apr.8 2015

View File

@ -38,7 +38,7 @@ endif()
project (Cocos2d-X)
# The version number
set(COCOS2D_X_VERSION 3.6alpha0)
set(COCOS2D_X_VERSION 3.6beta0)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/Modules/")
include(CocosBuildHelpers)

View File

@ -89,11 +89,15 @@ Run
### Build and run new project for Windows 8.1 and Windows Phone 8.1 ###
$ cocos new MyGame -p com.bar.foo -l cpp -d projects
$ cocos new MyGame -p com.your_company.mygame -l cpp -d projects
With the Cocos2d-x v3.3, you can create Universal App (Two projects at the same time: Windows(Tablet) and Windows Phone 8.1 )
Visual Studio 2013 Update 4 or later is required.
Starting with Cocos2d-x v3.3, you can create Windows 8.1 Universal Apps (Windows Store and Windows Phone 8.1)
See more info on How to install and Create games on Windows RT (Windows and Windows Phone 8.1) at http://msopentech.github.io/cocos2d-x/
Starting with Cocos2d-x v3.6 there will no longer be support for Windows Phone 8.0
Main features
-------------
* Scene management (workflow)
@ -184,6 +188,10 @@ $ bin/lua-empty-test/lua-empty-test
Open the `cocos2d-x/build/cocos2d-win32.vc2012.sln`
* For Windows 8.1 Universal Apps (Phone and Store)
Open the `cocos2d-x/build/cocos2d-win8.1-universal.sln`
* For Android
```

View File

@ -1,271 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30723.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSpine", "..\cocos\editor-support\spine\proj.wp8\libSpine.vcxproj", "{7D4FC6EB-9497-4804-98F3-3EAEDC896154}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Box2D", "..\external\Box2D\proj.wp8\Box2D.vcxproj", "{C55734A3-702C-4FA1-B950-32C8E169302F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "cpp-tests-wp8-xaml", "cpp-tests-wp8-xaml", "{671E147E-1DBD-41FC-99B3-2119CA828C8A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cpp-tests", "..\tests\cpp-tests\proj.wp8-xaml\cpp-tests\cpp-tests.csproj", "{60D53713-1675-4466-81DC-D67A031C3D21}"
ProjectSection(ProjectDependencies) = postProject
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9} = {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-testsComponent", "..\tests\cpp-tests\proj.wp8-xaml\cpp-testsComponent\cpp-testsComponent.vcxproj", "{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "cpp-empty-test-wp8-xaml", "cpp-empty-test-wp8-xaml", "{2C306303-EB4F-4058-8CA0-1F28A4FECE39}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cpp-empty-test", "..\tests\cpp-empty-test\proj-wp8-xaml\cpp-empty-test\cpp-empty-test.csproj", "{5921FE12-7EF3-4847-8453-42EF286DDBE7}"
ProjectSection(ProjectDependencies) = postProject
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2} = {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-empty-testComponent", "..\tests\cpp-empty-test\proj-wp8-xaml\cpp-empty-testComponent\cpp-empty-testComponent.vcxproj", "{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CopyTemplateFiles", "..\cocos\platform\wp8-xaml\CopyTemplateFiles.vcxproj", "{271FEE84-9198-4C26-8567-4247C563B0B1}"
ProjectSection(ProjectDependencies) = postProject
{5921FE12-7EF3-4847-8453-42EF286DDBE7} = {5921FE12-7EF3-4847-8453-42EF286DDBE7}
{60D53713-1675-4466-81DC-D67A031C3D21} = {60D53713-1675-4466-81DC-D67A031C3D21}
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9} = {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2} = {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d_wp8", "..\cocos\2d\libcocos2d_wp8.vcxproj", "{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "js-tests-wp8-xaml", "js-tests-wp8-xaml", "{6AC4C94D-3529-48CC-8B3D-F8E904BA2C95}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libjscocos2d", "..\cocos\scripting\js-bindings\proj.wp8\libjscocos2d.vcxproj", "{DD11890A-006E-4D4B-BBE6-A577601288A2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|Mixed Platforms = Release|Mixed Platforms
Release|Win32 = Release|Win32
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|Any CPU.ActiveCfg = Debug|Win32
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|ARM.ActiveCfg = Debug|ARM
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|ARM.Build.0 = Debug|ARM
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|Win32.ActiveCfg = Debug|Win32
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|Win32.Build.0 = Debug|Win32
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|x64.ActiveCfg = Debug|Win32
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|x86.ActiveCfg = Debug|Win32
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|x86.Build.0 = Debug|Win32
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|Any CPU.ActiveCfg = Release|Win32
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|ARM.ActiveCfg = Release|ARM
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|ARM.Build.0 = Release|ARM
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|Mixed Platforms.Build.0 = Release|Win32
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|Win32.ActiveCfg = Release|Win32
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|Win32.Build.0 = Release|Win32
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|x64.ActiveCfg = Release|Win32
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|x86.ActiveCfg = Release|Win32
{7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|x86.Build.0 = Release|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|Any CPU.ActiveCfg = Debug|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|ARM.ActiveCfg = Debug|ARM
{C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|ARM.Build.0 = Debug|ARM
{C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|Win32.ActiveCfg = Debug|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|Win32.Build.0 = Debug|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|x64.ActiveCfg = Debug|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|x86.ActiveCfg = Debug|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|x86.Build.0 = Debug|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Release|Any CPU.ActiveCfg = Release|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Release|ARM.ActiveCfg = Release|ARM
{C55734A3-702C-4FA1-B950-32C8E169302F}.Release|ARM.Build.0 = Release|ARM
{C55734A3-702C-4FA1-B950-32C8E169302F}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Release|Mixed Platforms.Build.0 = Release|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Release|Win32.ActiveCfg = Release|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Release|Win32.Build.0 = Release|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Release|x64.ActiveCfg = Release|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Release|x86.ActiveCfg = Release|Win32
{C55734A3-702C-4FA1-B950-32C8E169302F}.Release|x86.Build.0 = Release|Win32
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Any CPU.Build.0 = Debug|Any CPU
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|ARM.ActiveCfg = Debug|ARM
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|ARM.Build.0 = Debug|ARM
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|ARM.Deploy.0 = Debug|ARM
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Mixed Platforms.Build.0 = Debug|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Mixed Platforms.Deploy.0 = Debug|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Win32.ActiveCfg = Debug|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Win32.Build.0 = Debug|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Win32.Deploy.0 = Debug|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|x64.ActiveCfg = Debug|Any CPU
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|x86.ActiveCfg = Debug|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|x86.Build.0 = Debug|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Debug|x86.Deploy.0 = Debug|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|Any CPU.ActiveCfg = Release|Any CPU
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|Any CPU.Build.0 = Release|Any CPU
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|Any CPU.Deploy.0 = Release|Any CPU
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|ARM.ActiveCfg = Release|ARM
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|ARM.Build.0 = Release|ARM
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|ARM.Deploy.0 = Release|ARM
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|Mixed Platforms.ActiveCfg = Release|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|Mixed Platforms.Build.0 = Release|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|Mixed Platforms.Deploy.0 = Release|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|Win32.ActiveCfg = Release|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|Win32.Build.0 = Release|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|Win32.Deploy.0 = Release|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|x64.ActiveCfg = Release|Any CPU
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|x86.ActiveCfg = Release|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|x86.Build.0 = Release|x86
{60D53713-1675-4466-81DC-D67A031C3D21}.Release|x86.Deploy.0 = Release|x86
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|Any CPU.ActiveCfg = Debug|Win32
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|ARM.ActiveCfg = Debug|ARM
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|ARM.Build.0 = Debug|ARM
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|Win32.ActiveCfg = Debug|Win32
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|Win32.Build.0 = Debug|Win32
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|x64.ActiveCfg = Debug|Win32
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|x86.ActiveCfg = Debug|Win32
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|x86.Build.0 = Debug|Win32
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|Any CPU.ActiveCfg = Release|Win32
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|ARM.ActiveCfg = Release|ARM
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|ARM.Build.0 = Release|ARM
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|Mixed Platforms.Build.0 = Release|Win32
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|Win32.ActiveCfg = Release|Win32
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|Win32.Build.0 = Release|Win32
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|x64.ActiveCfg = Release|Win32
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|x86.ActiveCfg = Release|Win32
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|x86.Build.0 = Release|Win32
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|ARM.ActiveCfg = Debug|ARM
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|ARM.Build.0 = Debug|ARM
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|ARM.Deploy.0 = Debug|ARM
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Mixed Platforms.Build.0 = Debug|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Mixed Platforms.Deploy.0 = Debug|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Win32.ActiveCfg = Debug|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Win32.Build.0 = Debug|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Win32.Deploy.0 = Debug|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|x64.ActiveCfg = Debug|Any CPU
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|x86.ActiveCfg = Debug|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|x86.Build.0 = Debug|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|x86.Deploy.0 = Debug|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Any CPU.Build.0 = Release|Any CPU
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Any CPU.Deploy.0 = Release|Any CPU
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|ARM.ActiveCfg = Release|ARM
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|ARM.Build.0 = Release|ARM
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|ARM.Deploy.0 = Release|ARM
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Mixed Platforms.ActiveCfg = Release|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Mixed Platforms.Build.0 = Release|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Mixed Platforms.Deploy.0 = Release|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Win32.ActiveCfg = Release|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Win32.Build.0 = Release|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Win32.Deploy.0 = Release|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|x64.ActiveCfg = Release|Any CPU
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|x86.ActiveCfg = Release|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|x86.Build.0 = Release|x86
{5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|x86.Deploy.0 = Release|x86
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|Any CPU.ActiveCfg = Debug|Win32
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|ARM.ActiveCfg = Debug|ARM
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|ARM.Build.0 = Debug|ARM
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|Win32.ActiveCfg = Debug|Win32
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|Win32.Build.0 = Debug|Win32
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|x64.ActiveCfg = Debug|Win32
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|x86.ActiveCfg = Debug|Win32
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|x86.Build.0 = Debug|Win32
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|Any CPU.ActiveCfg = Release|Win32
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|ARM.ActiveCfg = Release|ARM
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|ARM.Build.0 = Release|ARM
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|Mixed Platforms.Build.0 = Release|Win32
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|Win32.ActiveCfg = Release|Win32
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|Win32.Build.0 = Release|Win32
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|x64.ActiveCfg = Release|Win32
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|x86.ActiveCfg = Release|Win32
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|x86.Build.0 = Release|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|Any CPU.ActiveCfg = Debug|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|ARM.ActiveCfg = Debug|ARM
{271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|ARM.Build.0 = Debug|ARM
{271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|Win32.ActiveCfg = Debug|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|Win32.Build.0 = Debug|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|x64.ActiveCfg = Debug|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|x86.ActiveCfg = Debug|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|x86.Build.0 = Debug|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Release|Any CPU.ActiveCfg = Release|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Release|ARM.ActiveCfg = Release|ARM
{271FEE84-9198-4C26-8567-4247C563B0B1}.Release|ARM.Build.0 = Release|ARM
{271FEE84-9198-4C26-8567-4247C563B0B1}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Release|Mixed Platforms.Build.0 = Release|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Release|Win32.ActiveCfg = Release|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Release|Win32.Build.0 = Release|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Release|x64.ActiveCfg = Release|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Release|x86.ActiveCfg = Release|Win32
{271FEE84-9198-4C26-8567-4247C563B0B1}.Release|x86.Build.0 = Release|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|Any CPU.ActiveCfg = Debug|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|ARM.ActiveCfg = Debug|ARM
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|ARM.Build.0 = Debug|ARM
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|Win32.ActiveCfg = Debug|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|Win32.Build.0 = Debug|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|x64.ActiveCfg = Debug|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|x86.ActiveCfg = Debug|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|x86.Build.0 = Debug|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|Any CPU.ActiveCfg = Release|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|ARM.ActiveCfg = Release|ARM
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|ARM.Build.0 = Release|ARM
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|Mixed Platforms.Build.0 = Release|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|Win32.ActiveCfg = Release|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|Win32.Build.0 = Release|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|x64.ActiveCfg = Release|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|x86.ActiveCfg = Release|Win32
{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|x86.Build.0 = Release|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Debug|Any CPU.ActiveCfg = Debug|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Debug|ARM.ActiveCfg = Debug|ARM
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Debug|ARM.Build.0 = Debug|ARM
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Debug|Win32.ActiveCfg = Debug|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Debug|Win32.Build.0 = Debug|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Debug|x64.ActiveCfg = Debug|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Debug|x86.ActiveCfg = Debug|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Debug|x86.Build.0 = Debug|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Release|Any CPU.ActiveCfg = Release|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Release|ARM.ActiveCfg = Release|ARM
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Release|ARM.Build.0 = Release|ARM
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Release|Mixed Platforms.Build.0 = Release|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Release|Win32.ActiveCfg = Release|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Release|Win32.Build.0 = Release|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Release|x64.ActiveCfg = Release|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Release|x86.ActiveCfg = Release|Win32
{DD11890A-006E-4D4B-BBE6-A577601288A2}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{60D53713-1675-4466-81DC-D67A031C3D21} = {671E147E-1DBD-41FC-99B3-2119CA828C8A}
{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9} = {671E147E-1DBD-41FC-99B3-2119CA828C8A}
{5921FE12-7EF3-4847-8453-42EF286DDBE7} = {2C306303-EB4F-4058-8CA0-1F28A4FECE39}
{F5D665F8-AE19-4F3F-99A7-230A1E8305D2} = {2C306303-EB4F-4058-8CA0-1F28A4FECE39}
EndGlobalSection
EndGlobal

View File

@ -1,63 +0,0 @@
set IN_DIR=.\..\..\..\angle\src\WP8\redist\vs2012\ARM\Release
set OUT_DIR=.\..\..\external\wp8-specific\angle\prebuilt\ARM\
xcopy "%IN_DIR%\libGLESv2_phone\libGLESv2_phone.dll" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\libGLESv2_phone\libGLESv2_phone.lib" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\libEGL_phone\libEGL_phone.dll" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\libEGL_phone\libEGL_phone.lib" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\esUtil_phone\esUtil_phone.lib" "%OUT_DIR%" /iycq
set IN_DIR=.\..\..\..\angle\src\WP8\redist\vs2012\Win32\Release
set OUT_DIR=.\..\..\external\wp8-specific\angle\prebuilt\Win32\
xcopy "%IN_DIR%\libGLESv2_phone\libGLESv2_phone.dll" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\libGLESv2_phone\libGLESv2_phone.lib" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\libEGL_phone\libEGL_phone.dll" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\libEGL_phone\libEGL_phone.lib" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\esUtil_phone\esUtil_phone.lib" "%OUT_DIR%" /iycq
set IN_DIR=.\..\..\..\angle\src\WinRT\redist\vs2013\ARM\Release\
set OUT_DIR=.\..\..\external\winrt-specific\angle\prebuilt\ARM\
xcopy "%IN_DIR%\libGLESv2_winrt_2013\libGLESv2.dll" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\libGLESv2_winrt_2013\libGLESv2.lib" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\libEGL_winrt_2013\libEGL.dll" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\libEGL_winrt_2013\libEGL.lib" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\esUtil_winrt_2013\esUtil.lib" "%OUT_DIR%" /iycq
set IN_DIR=.\..\..\..\angle\src\WinRT\redist\vs2013\Win32\Release\
set OUT_DIR=.\..\..\external\winrt-specific\angle\prebuilt\Win32\
xcopy "%IN_DIR%\libGLESv2_winrt_2013\libGLESv2.dll" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\libGLESv2_winrt_2013\libGLESv2.lib" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\libEGL_winrt_2013\libEGL.dll" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\libEGL_winrt_2013\libEGL.lib" "%OUT_DIR%" /iycq
xcopy "%IN_DIR%\esUtil_winrt_2013\esUtil.lib" "%OUT_DIR%" /iycq
set OUT_DIR=.\..\..\external\winrt-specific\angle\include
xcopy ".\..\..\..\angle\include" "%OUT_DIR%" /eiycq
xcopy ".\..\..\..\angle\src\common\winrtangle.h" "%OUT_DIR%" /iycq
xcopy ".\..\..\..\angle\samples\gles2_book\Common\esUtil.h" "%OUT_DIR%" /iycq

View File

@ -1,83 +0,0 @@
. ".\scripts\createsln.ps1"
. ".\scripts\converterutils.ps1"
. ".\scripts\winrtconverter.ps1"
$workingDir = $PSScriptRoot
$cocosDir = join-path $workingDir "..\..\cocos" -Resolve
$libGUI = join-path $cocosDir "\gui\proj.wp8\libGUI.vcxproj"
$in = join-path $cocosDir "\gui\proj.win32\libGUI.vcxproj"
#WinrtConverter $in $libGUI "wp8" >> $null
$c2dLib = join-path $cocosDir "\2d\cocos2d_wp8.vcxproj"
$in = join-path $cocosDir "\2d\cocos2d.vcxproj"
#WinrtConverter $in $c2dLib "wp8" >> $null
$c2dLib = join-path $cocosDir "\2d\cocos2d_winrt.vcxproj"
$in = join-path $cocosDir "\2d\cocos2d.vcxproj"
#WinrtConverter $in $c2dLib "winrt" >> $null
$libNetwork = join-path $cocosDir "\network\proj.wp8\libNetwork.vcxproj"
$in = join-path $cocosDir "\network\proj.win32\libNetwork.vcxproj"
#WinrtConverter $in $libNetwork "wp8" >> $null
$libLocalStorage = join-path $cocosDir "\storage\local-storage\proj.wp8\libLocalStorage.vcxproj"
$in = join-path $cocosDir "\storage\local-storage\proj.win32\libLocalStorage.vcxproj"
#WinrtConverter $in $libLocalStorage "wp8" >> $null
$libAudio = join-path $cocosDir "\audio\proj.wp8\CocosDenshion.vcxproj"
$in = join-path $cocosDir "\audio\proj.win32\CocosDenshion.vcxproj"
#WinrtConverter $in $libAudio "wp8" >> $null
$libSpine = join-path $cocosDir "\editor-support\spine\proj.wp8\libSpine.vcxproj"
$in = join-path $cocosDir "\editor-support\spine\proj.win32\libSpine.vcxproj"
#WinrtConverter $in $libSpine "wp8" >> $null
$libCocosStudio = join-path $cocosDir "\editor-support\cocostudio\proj.wp8\libCocosStudio.vcxproj"
$in = join-path $cocosDir "\editor-support\cocostudio\proj.win32\libCocosStudio.vcxproj"
#WinrtConverter $in $libCocosStudio "wp8" >> $null
$libCocosBuilder = join-path $cocosDir "\editor-support\cocosbuilder\proj.wp8\libCocosBuilder.vcxproj"
$in = join-path $cocosDir "\editor-support\cocosbuilder\proj.win32\libCocosBuilder.vcxproj"
#WinrtConverter $in $libCocosBuilder "wp8" >> $null
$extensionsDir = join-path $workingDir "..\..\extensions" -Resolve
$libExtensions = join-path $extensionsDir "\proj.wp8\libExtensions.vcxproj"
#$in = join-path $extensionsDir "\proj.win32\libExtensions.vcxproj"
#WinrtConverter $in $libExtensions "wp8" >> $null
$externalDir = join-path $workingDir "..\..\external" -Resolve
$box2dDir = join-path $workingDir "..\..\external\Box2D" -Resolve
$libBox2d = join-path $box2dDir "\proj.wp8\Box2D.vcxproj"
$in = join-path $box2dDir "\proj.win32\Box2D.vcxproj"
#WinrtConverter $in $libBox2d "wp8" >> $null
$freetypeDir = join-path $workingDir "..\..\external\freetype2\include\wp8" -Resolve
$libFreetype = join-path $freetypeDir "\freetype-2.5.3\builds\windows\vc2010\freetype_wp8.vcxproj"
$in = join-path $freetypeDir "\freetype-2.5.3\builds\windows\vc2010\freetype.vcxproj"
#WinrtConverter $in $libFreetype "wp8" >> $null
$chipmunkDir = join-path $workingDir "..\..\external\chipmunk" -Resolve
$libChipmunk = join-path $chipmunkDir "\proj.wp8\chipmunk.vcxproj"
$in = join-path $chipmunkDir "\proj.win32\chipmunk.vcxproj"
#WinrtConverter $in $libChipmunk "wp8" >> $null
$chipmunkDir = join-path $workingDir "..\..\external\chipmunk" -Resolve
$libChipmunk = join-path $chipmunkDir "\proj.winrt\chipmunk.vcxproj"
$in = join-path $chipmunkDir "\proj.win32\chipmunk.vcxproj"
#WinrtConverter $in $libChipmunk "winrt" >> $null
$testDir = join-path $workingDir "..\..\tests" -Resolve
$testApp = join-path $testDir "\proj.wp8\TestCpp.vcxproj"
$in = join-path $testDir "\proj.win32\TestCpp.vcxproj"
#WinrtConverter $in $testApp "wp8" >> $null
#create opencv sln
$solutionDir = join-path $workingDir "..\" -Resolve
$solution = join-path $solutionDir "cocos2d-wp8.vc2012.sln"
#CreateSolutionFile $solution "wp8" ($c2dLib, $libGUI, $libSpine, $libCocosStudio, $libCocosBuilder, $libExtensions, $libBox2d, $libChipmunk, $libLocalStorage, $libAudio, $testApp)

View File

@ -1,157 +0,0 @@
. ".\scripts\createsln.ps1"
#use MSBuild namespace
$ms = 'http://schemas.microsoft.com/developer/msbuild/2003'
$ns = @{ ms = $ms }
Function GetDirectoryName($path)
{
return [System.IO.Path]::GetFileName($path)
}
Function GetFileName($path)
{
return [System.IO.Path]::GetFileName($path)
}
Function Get-RelativePath($Folder, $FilePath)
{
Write-Verbose "Resolving paths relative to '$Folder'"
$from = $Folder = split-path $Folder -NoQualifier -Resolve:$Resolve
$to = $filePath = split-path $filePath -NoQualifier -Resolve:$Resolve
while($from -and $to -and ($from -ne $to)) {
if($from.Length -gt $to.Length) {
$from = split-path $from
} else {
$to = split-path $to
}
}
$filepath = $filepath -replace "^"+[regex]::Escape($to)+"\\"
$from = $Folder
while($from -and $to -and $from -gt $to ) {
$from = split-path $from
$filepath = join-path ".." $filepath
}
return $filepath
}
Function ReplaceText($path, $text, $replace)
{
(Get-Content $path) |
Foreach-Object {$_ -replace $text, $replace} |
Set-Content $path
}
Function LoadXmlFile($path)
{
$xml = New-Object -TypeName XML
$xml.Load($path)
return $xml
}
Function AddElement($xml, $root, $name, $value, $namespace)
{
$newEl = $xml.CreateElement($name, $namespace)
$xmlText = $xml.CreateTextNode($value)
$newEl.AppendChild($xmlText)
$root.AppendChild($newEl)
return $newEl
}
Function GetProjectGlobals($path, $namespace)
{
$xml = LoadXmlFile($path)
$globals = Select-XML -Xml $xml -XPath '//ms:PropertyGroup[@Label="Globals"]' -Namespace $namespace
return $globals
}
Function AddProjectReference($toProject, $projects)
{
$xml = LoadXmlFile($toProject)
$xdNS = $xml.DocumentElement.NamespaceURI
foreach($fromProject in $projects)
{
$globals = GetProjectGlobals $fromProject $ns
$itemGroup = $xml.CreateElement("ItemGroup", $xdNS)
$projectReference = $xml.CreateElement("ProjectReference", $xdNS)
$project = $xml.CreateElement("Project", $xdNS)
$xmlText = $xml.CreateTextNode($globals.Node.ProjectGuid)
$project.AppendChild($xmlText)
$projectReference.AppendChild($project)
$include = $xml.CreateAttribute("Include")
$dir = Split-Path -parent $toProject
$include.Value = Get-RelativePath $dir $fromProject
$projectReference.Attributes.Append($include)
$itemGroup.AppendChild($projectReference)
$root = Select-XML -Xml $xml -XPath '//ms:Project[@DefaultTargets="Build"]' -Namespace $ns
$root.Node.AppendChild($itemGroup)
}
$xml.Save($toProject)
}
Function AddPreprocessorDefine($xml, $define)
{
foreach($item in (Select-XML -Xml $xml -XPath '//ms:ItemDefinitionGroup' -Namespace $ns))
{
if(!($item.Node.ClCompile.PreprocessorDefinitions -match ($define + ';')))
{
$item.Node.ClCompile.PreprocessorDefinitions = $define + ";" + $item.Node.ClCompile.PreprocessorDefinitions
}
}
}
<#
<ItemGroup>
<ProjectReference Include="..\..\3rdparty\zlib\zlib.vcxproj">
<Project>{c38fab57-9dec-4546-bd9a-6c1dbba6c077}</Project>
</ProjectReference>
</ItemGroup>
#>
Function RemoveNode($xml, $xpath)
{
$item = Select-XML -Xml $xml -XPath $xpath -Namespace $ns
if($item)
{
$item.Node.ParentNode.RemoveChild($item.node)
}
}
Function RemoveProjectFile($path, $filename)
{
$xml = LoadXmlFile($path)
$xpath = '//ms:ClCompile [@Include="' + $filename + '"]'
RemoveNode $xml $xpath
$xml.Save($path)
$xml = LoadXmlFile($path + ".filters")
RemoveNode $xml $xpath
$xml.Save($path + ".filters")
}
Function CreateSolutionFile($path, $platform, $projects)
{
$solution = CreateSolution
$solution.solutionDir = Split-Path -parent $path
foreach($project in $projects)
{
$solution.AddProject($project)
}
$solution.Save($path, $platform)
}

View File

@ -1,98 +0,0 @@
Function CreateSolution()
{
$solution = New-Module -AsCustomObject -ScriptBlock {
. ".\scripts\converterutils.ps1"
#use MSBuild namespace
$ms = 'http://schemas.microsoft.com/developer/msbuild/2003'
$ns = @{ ms = $ms }
$projects = @()
$solutionDir = ""
Function AddProject($path) {
$globals = GetProjectGlobals $path $ns
$guid = $globals.Node.ProjectGuid
$relativePath = Get-RelativePath $this.solutionDir $path
$project = New-Object TypeName PSObject
$project | Add-Member MemberType NoteProperty Name guid Value $globals.Node.ProjectGuid
$project | Add-Member MemberType NoteProperty Name path Value $relativePath
if($globals.Node.ProjectName)
{
$project | Add-Member MemberType NoteProperty Name name Value $globals.Node.ProjectName
}
else
{
$project | Add-Member MemberType NoteProperty Name name Value $globals.Node.RootNamespace
}
$this.projects += $project
}
Function Save($path, $platform) {
$output = New-Item $path -type file -force
if($platform -eq "winrt")
{
$template = join-path $PSScriptRoot "templates\winrt_sln_header_template.txt"
}
elseif($platform -eq "wp8")
{
$template = join-path $PSScriptRoot "templates\wp8_sln_header_template.txt"
}
else
{
throw "Unknown platform argument (winrt or wp8)"
}
(Get-Content $template) |
Add-Content $path
foreach($project in $this.projects)
{
$line = 'Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "' + $project.name + '", "' + $project.path + '", "' + $project.guid + '"'
#Add-Content $path 'Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opencv_core", "opencv_core.vcxproj", "{8F928FE0-8A06-4F93-99FE-53B9C7A006CA}"'
Add-Content $path $line
Add-Content $path 'EndProject'
}
$template = join-path $PSScriptRoot "templates\global_start_template.txt"
(Get-Content $template) |
Add-Content $path
$template = join-path $PSScriptRoot "templates\globalsection_template.txt"
foreach($project in $this.projects)
{
(Get-Content $template) |
Foreach-Object {$_ -replace "REPLACE_GUID", $project.guid} |
Add-Content $path
}
$template = join-path $PSScriptRoot "templates\global_end_template.txt"
(Get-Content $template) |
Add-Content $path
}
Export-ModuleMember -Variable * -Function *
}
return $solution
}
<#
$solutionDir = join-path $WorkingDir ".\modules\core"
$path = join-path $solutionDir "opencv_core.vcxproj"
$output = join-path $solutionDir "opencv_core2.sln"
$solution = CreateSolution
$solution.solutionDir = $solutionDir
$solution.AddProject($path)
$path = join-path $WorkingDir ".\3rdparty\zlib\zlib.vcxproj"
$solution.AddProject($path)
$solution.Save($output)
notepad $output
#>

View File

@ -1,5 +0,0 @@
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -1,10 +0,0 @@
Global
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

View File

@ -1,12 +0,0 @@
REPLACE_GUID.Debug|ARM.ActiveCfg = Debug|ARM
REPLACE_GUID.Debug|ARM.Build.0 = Debug|ARM
REPLACE_GUID.Debug|Win32.ActiveCfg = Debug|Win32
REPLACE_GUID.Debug|Win32.Build.0 = Debug|Win32
REPLACE_GUID.Debug|x64.ActiveCfg = Debug|x64
REPLACE_GUID.Debug|x64.Build.0 = Debug|x64
REPLACE_GUID.Release|ARM.ActiveCfg = Release|ARM
REPLACE_GUID.Release|ARM.Build.0 = Release|ARM
REPLACE_GUID.Release|Win32.ActiveCfg = Release|Win32
REPLACE_GUID.Release|Win32.Build.0 = Release|Win32
REPLACE_GUID.Release|x64.ActiveCfg = Release|x64
REPLACE_GUID.Release|x64.Build.0 = Release|x64

View File

@ -1,188 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{9c7946f4-84fe-4b1c-b715-50083798b41c}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<ProjectName>Dll1</ProjectName>
<RootNamespace>Dll1</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
<AppContainerApplication>true</AppContainerApplication>
<ApplicationType>Windows Store</ApplicationType>
<ApplicationTypeRevision>8.1</ApplicationTypeRevision>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|arm'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|arm'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,188 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{8597d6ff-2d26-4f86-a7d4-72d102a7a8b6}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<ProjectName>WinRTStatic</ProjectName>
<RootNamespace>WinRTStatic</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
<AppContainerApplication>true</AppContainerApplication>
<ApplicationType>Windows Store</ApplicationType>
<ApplicationTypeRevision>8.1</ApplicationTypeRevision>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|arm'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|arm'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,4 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1

View File

@ -1,135 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{03008f82-0317-416a-88d1-068f2c3158e4}</ProjectGuid>
<RootNamespace>PhoneDLL1</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v110_wp80</PlatformToolset>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v110_wp80</PlatformToolset>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v110_wp80</PlatformToolset>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v110_wp80</PlatformToolset>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalUsingDirectories>$(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>_USRDLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalUsingDirectories>$(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<PreprocessorDefinitions>_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalUsingDirectories>$(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<PreprocessorDefinitions>_USRDLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalUsingDirectories>$(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<Reference Include="Windows">
<IsWinMDFile>true</IsWinMDFile>
</Reference>
<Reference Include="platform.winmd">
<IsWinMDFile>true</IsWinMDFile>
<Private>false</Private>
</Reference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsPhone\v$(TargetPlatformVersion)\Microsoft.Cpp.WindowsPhone.$(TargetPlatformVersion).targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,119 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{5c48b0d3-dcad-4bfd-a77f-0dac7316f57a}</ProjectGuid>
<RootNamespace>PhoneLib1</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v110_wp80</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v110_wp80</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v110_wp80</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v110_wp80</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalUsingDirectories>$(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalUsingDirectories>$(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalUsingDirectories>$(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<PreprocessorDefinitions>_LIB;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalUsingDirectories>$(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<Reference Include="Windows">
<IsWinMDFile>true</IsWinMDFile>
</Reference>
<Reference Include="platform.winmd">
<IsWinMDFile>true</IsWinMDFile>
<Private>false</Private>
</Reference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsPhone\v$(TargetPlatformVersion)\Microsoft.Cpp.WindowsPhone.$(TargetPlatformVersion).targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,2 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012

View File

@ -1,259 +0,0 @@
. ".\scripts\converterutils.ps1"
#use MSBuild namespace
$ms = 'http://schemas.microsoft.com/developer/msbuild/2003'
$ns = @{ ms = $ms }
Function ConvertAdditionalIncludesToRelativePaths($paths, $folder)
{
$result = ""
$tokens = $paths.replace(' ','').split(';')
foreach($token in $tokens)
{
if($token -ne "%(AdditionalIncludeDirectories)")
{
$result += (Get-RelativePath $folder $token) + ';'
}
else
{
$result += "%(AdditionalIncludeDirectories);"
}
}
return $result
}
Function WinrtConverter($inFile, $outFile, $platform)
{
$InputDirPath = Split-Path -parent $inFile
$InputDir = [System.IO.Path]::GetFileNameWithoutExtension($InputDirPath)
$fileName = [System.IO.Path]::GetFileNameWithoutExtension($inFile)
$OutDir = Split-Path -parent $outFile
#create output dir
New-Item -ItemType Directory -Force -Path $OutDir
<#
Try to load the output file.
If successful, copy the guid out of the globals section
#>
$guid =$null
try
{
$xml = New-Object -TypeName XML
$xml.Load($outFile)
$globals = Select-XML -Xml $xml -XPath '//ms:PropertyGroup[@Label="Globals"]' -Namespace $ns
$guid = $globals.Node.ProjectGuid
}
catch
{
$guid = '{' + [guid]::NewGuid().toString().ToUpper() + '}'
}
# load input file into an XML object:
$xml_win32 = New-Object -TypeName XML
$xml_win32.Load($inFile)
$configs = Select-XML -Xml $xml_win32 -XPath '//ms:PropertyGroup[@Label="Configuration"]' -Namespace $ns
$Template = $null
if($platform -eq "winrt")
{
if($configs[0].Node.ConfigurationType -eq "DynamicLibrary")
{
$Template = join-path $PSScriptRoot "templates\winrt_dll_template.vcxproj"
}
elseif($configs[0].Node.ConfigurationType -eq "StaticLibrary")
{
$Template = join-path $PSScriptRoot "templates\winrt_lib_template.vcxproj"
}
else
{
throw "Unknown vcxproj type"
}
}
elseif($platform -eq "wp8")
{
if($configs[0].Node.ConfigurationType -eq "DynamicLibrary")
{
$Template = join-path $PSScriptRoot "templates\wp8_dll_template.vcxproj"
}
elseif($configs[0].Node.ConfigurationType -eq "StaticLibrary")
{
$Template = join-path $PSScriptRoot "templates\wp8_lib_template.vcxproj"
}
elseif($configs[0].Node.ConfigurationType -eq "Application")
{
$Template = join-path $PSScriptRoot "templates\wp8_lib_template.vcxproj"
}
else
{
throw "Unknown vcxproj type"
}
}
else
{
throw "Unknown platform argument -p (winrt or wp8)"
}
$xml_template = New-Object -TypeName XML
$xml_template.Load($Template)
#Update Project Guid and Name
$win32_globals = Select-XML -Xml $xml_win32 -XPath '//ms:PropertyGroup[@Label="Globals"]' -Namespace $ns
$winrt_globals = Select-XML -Xml $xml_template -XPath '//ms:PropertyGroup[@Label="Globals"]' -Namespace $ns
$winrt_globals.Node.ProjectGuid = $guid
if($win32_globals.Node.ProjectName)
{
$winrt_globals.Node.RootNamespace = $win32_globals.Node.ProjectName
if($winrt_globals.Node.ProjectName)
{
$winrt_globals.Node.ProjectName = $win32_globals.Node.ProjectName
}
}
if($win32_globals.Node.RootNamespace)
{
$winrt_globals.Node.RootNamespace = $win32_globals.Node.RootNamespace
}
$project = Select-XML -Xml $xml_template -XPath '//ms:Project' -Namespace $ns
foreach($item in (Select-XML -Xml $xml_win32 -XPath '//ms:ItemGroup' -Namespace $ns))
{
if ($item.node.ClInclude -or $item.node.ClCompile)
{
$newNode = $xml_template.ImportNode($item.Node, $true)
$project.Node.AppendChild($newNode)
}
}
#Copy ItemDefinitionGroup properties
$debug_properties = $null
$release_properties = $null
foreach($item in (Select-XML -Xml $xml_win32 -XPath '//ms:ItemDefinitionGroup' -Namespace $ns))
{
if($item.node.Condition -match "debug")
{
$debug_properties = $item
}
else
{
$release_properties = $item
}
}
$debug_includes = $debug_properties.Node.ClCompile.AdditionalIncludeDirectories
$release_includes = $release_properties.Node.ClCompile.AdditionalIncludeDirectories
foreach($item in (Select-XML -Xml $xml_template -XPath '//ms:ItemDefinitionGroup' -Namespace $ns))
{
$includes = $release_includes;
$properties = $release_properties
if($item.node.Condition -match "debug")
{
$includes = $debug_includes;
$properties = $debug_properties
}
AddElement $xml_template $item.Node.ClCompile 'AdditionalIncludeDirectories' $includes $ms
AddElement $xml_template $item.Node.ClCompile 'PreprocessorDefinitions' $properties.Node.ClCompile.PreprocessorDefinitions $ms
if($properties.Node.ClCompile.PrecompiledHeader)
{
$item.Node.ClCompile.PrecompiledHeader = $properties.Node.ClCompile.PrecompiledHeader
}
if($properties.Node.ClCompile.PrecompiledHeaderFile)
{
AddElement $xml_template $item.Node.ClCompile 'PrecompiledHeaderFile' "precomp.hpp" $ms
}
if($properties.Node.ClCompile.ForcedIncludeFiles)
{
AddElement $xml_template $item.Node.ClCompile 'ForcedIncludeFiles' "precomp.hpp" $ms
}
if($properties.Node.ClCompile.DisableSpecificWarnings)
{
AddElement $xml_template $item.Node.ClCompile 'DisableSpecificWarnings' $properties.Node.ClCompile.DisableSpecificWarnings $ms
}
}
#save output file
$xml_template.Save($outFile)
foreach($item in (Select-XML -Xml $xml_template -XPath '//ms:Project//ms:ItemGroup//ms:ClCompile//ms:PrecompiledHeader' -Namespace $ns))
{
$newNode = $xml_template.ImportNode($item.Node, $true)
$newNode.Condition = $newNode.Condition.replace("Win32", "ARM")
$item.Node.parentNode.AppendChild($newNode)
$newNode = $xml_template.ImportNode($item.Node, $true)
$newNode.Condition = $newNode.Condition.replace("Win32", "x64")
$item.Node.parentNode.AppendChild($newNode)
}
foreach($item in (Select-XML -Xml $xml_template -XPath '//ms:Project//ms:ItemGroup//ms:ClCompile//ms:PrecompiledHeaderFile' -Namespace $ns))
{
$item.Node."#text" = "precomp.hpp"
$newNode = $xml_template.ImportNode($item.Node, $true)
$newNode.Condition = $newNode.Condition.replace("Win32", "ARM")
$item.Node.parentNode.AppendChild($newNode)
$newNode = $xml_template.ImportNode($item.Node, $true)
$newNode.Condition = $newNode.Condition.replace("Win32", "x64")
$item.Node.parentNode.AppendChild($newNode)
}
$xml_template.selectNodes('//data/value[contains(.,"precomp.hpp")]')|
ForEach-Object{
$_.'#text' = 'precomp.hpp'
}
$xml_template.Save($outFile)
#copy .filters file
try
{
$filters = $inFile + ".filters"
$xml_filters = New-Object -TypeName XML
$xml_filters.Load($filters)
$xml_filters.Save($outFile + ".filters")
}
catch
{
Write-Host "No .filters file"
}
}

View File

@ -1,7 +0,0 @@
How to compile precompiled shaders for Windows Phone 8.0 (WP8)
1. Open the VS project Cocos2dShaderCompiler\Cocos2dShaderCompiler.sln
2. Build and run the project
3. Click the Compile button
4. Select the file cocos\platform\wp8\shaders\precompiledshaders.h in the file dialog box
5. Program will precompile all of the cached cocos2d-x shaders.

View File

@ -1,7 +0,0 @@
<Application
x:Class="Cocos2dShaderCompiler.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Cocos2dShaderCompiler">
</Application>

View File

@ -1,89 +0,0 @@
//
// App.xaml.cpp
// Implementation of the App class.
//
#include "pch.h"
#include "DirectXPage.xaml.h"
using namespace Cocos2dShaderCompiler;
using namespace Platform;
using namespace Windows::ApplicationModel;
using namespace Windows::ApplicationModel::Activation;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::Storage;
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::Interop;
using namespace Windows::UI::Xaml::Media;
using namespace Windows::UI::Xaml::Navigation;
/// <summary>
/// Initializes the singleton application object. This is the first line of authored code
/// executed, and as such is the logical equivalent of main() or WinMain().
/// </summary>
App::App()
{
InitializeComponent();
Suspending += ref new SuspendingEventHandler(this, &App::OnSuspending);
Resuming += ref new EventHandler<Object^>(this, &App::OnResuming);
}
/// <summary>
/// Invoked when the application is launched normally by the end user. Other entry points
/// will be used when the application is launched to open a specific file, to display
/// search results, and so forth.
/// </summary>
/// <param name="e">Details about the launch request and process.</param>
void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e)
{
#if _DEBUG
if (IsDebuggerPresent())
{
DebugSettings->EnableFrameRateCounter = true;
}
#endif
m_directXPage = ref new DirectXPage();
if (e->PreviousExecutionState == ApplicationExecutionState::Terminated)
{
m_directXPage->LoadInternalState(ApplicationData::Current->LocalSettings->Values);
}
// Place the page in the current window and ensure that it is active.
Window::Current->Content = m_directXPage;
Window::Current->Activate();
}
/// <summary>
/// Invoked when application execution is being suspended. Application state is saved
/// without knowing whether the application will be terminated or resumed with the contents
/// of memory still intact.
/// </summary>
/// <param name="sender">The source of the suspend request.</param>
/// <param name="e">Details about the suspend request.</param>
void App::OnSuspending(Object^ sender, SuspendingEventArgs^ e)
{
(void) sender; // Unused parameter
(void) e; // Unused parameter
m_directXPage->SaveInternalState(ApplicationData::Current->LocalSettings->Values);
}
/// <summary>
/// Invoked when application execution is being resumed.
/// </summary>
/// <param name="sender">The source of the resume request.</param>
/// <param name="args">Details about the resume request.</param>
void App::OnResuming(Object ^sender, Object ^args)
{
(void) sender; // Unused parameter
(void) args; // Unused parameter
m_directXPage->LoadInternalState(ApplicationData::Current->LocalSettings->Values);
}

View File

@ -1,27 +0,0 @@
//
// App.xaml.h
// Declaration of the App class.
//
#pragma once
#include "App.g.h"
#include "DirectXPage.xaml.h"
namespace Cocos2dShaderCompiler
{
/// <summary>
/// Provides application-specific behavior to supplement the default Application class.
/// </summary>
ref class App sealed
{
public:
App();
virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) override;
private:
void OnSuspending(Platform::Object^ sender, Windows::ApplicationModel::SuspendingEventArgs^ e);
void OnResuming(Platform::Object ^sender, Platform::Object ^args);
DirectXPage^ m_directXPage;
};
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 801 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 429 B

View File

@ -1,92 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.31101.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Cocos2dShaderCompiler", "Cocos2dShaderCompiler.vcxproj", "{4F6DEF20-AC4C-487F-85B8-5993519E3911}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "External", "External", "{ECA7A2AA-8501-4177-8360-322A569B6C3E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Box2D", "Box2D", "{7CA66464-6A5E-493B-82EF-DBD84F91766F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libSpine", "libSpine", "{8F8A69D6-BD64-4BAD-AE20-2D07E7BD57BA}"
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}") = "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
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
..\..\..\external\Box2D\proj.win8.1-universal\libbox2d.Shared\libbox2d.Shared.vcxitems*{4a3c6ba8-c227-498b-aa21-40bda27b461f}*SharedItemsImports = 9
..\..\..\cocos\editor-support\spine\proj.win8.1-universal\libSpine.Shared\libSpine.Shared.vcxitems*{adafd00d-a0d6-46ef-9f0b-ea2880bfe1de}*SharedItemsImports = 9
..\..\..\external\Box2D\proj.win8.1-universal\libbox2d.Shared\libbox2d.Shared.vcxitems*{3b26a12d-3a44-47ea-82d2-282660fc844d}*SharedItemsImports = 4
..\..\..\cocos\editor-support\spine\proj.win8.1-universal\libSpine.Shared\libSpine.Shared.vcxitems*{f3550fe0-c795-44f6-8feb-093eb68143ae}*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
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|ARM.ActiveCfg = Debug|ARM
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|ARM.Build.0 = Debug|ARM
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|ARM.Deploy.0 = Debug|ARM
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|Win32.ActiveCfg = Debug|Win32
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|Win32.Build.0 = Debug|Win32
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|Win32.Deploy.0 = Debug|Win32
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|x64.ActiveCfg = Debug|x64
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|x64.Build.0 = Debug|x64
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|x64.Deploy.0 = Debug|x64
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|ARM.ActiveCfg = Release|ARM
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|ARM.Build.0 = Release|ARM
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|ARM.Deploy.0 = Release|ARM
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|Win32.ActiveCfg = Release|Win32
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|Win32.Build.0 = Release|Win32
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|Win32.Deploy.0 = Release|Win32
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|x64.ActiveCfg = Release|x64
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|x64.Build.0 = Release|x64
{4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|x64.Deploy.0 = Release|x64
{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
{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
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{7CA66464-6A5E-493B-82EF-DBD84F91766F} = {ECA7A2AA-8501-4177-8360-322A569B6C3E}
{8F8A69D6-BD64-4BAD-AE20-2D07E7BD57BA} = {ECA7A2AA-8501-4177-8360-322A569B6C3E}
{4A3C6BA8-C227-498B-AA21-40BDA27B461F} = {7CA66464-6A5E-493B-82EF-DBD84F91766F}
{3B26A12D-3A44-47EA-82D2-282660FC844D} = {7CA66464-6A5E-493B-82EF-DBD84F91766F}
{ADAFD00D-A0D6-46EF-9F0B-EA2880BFE1DE} = {8F8A69D6-BD64-4BAD-AE20-2D07E7BD57BA}
{F3550FE0-C795-44F6-8FEB-093EB68143AE} = {8F8A69D6-BD64-4BAD-AE20-2D07E7BD57BA}
EndGlobalSection
EndGlobal

View File

@ -1,698 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{4f6def20-ac4c-487f-85b8-5993519e3911}</ProjectGuid>
<RootNamespace>Cocos2dShaderCompiler</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
<AppContainerApplication>true</AppContainerApplication>
<ApplicationType>Windows Store</ApplicationType>
<ApplicationTypeRevision>8.1</ApplicationTypeRevision>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
<Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\ImageContentTask.props" />
<Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\MeshContentTask.props" />
<Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\ShaderGraphContentTask.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt.props" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt_app.props" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt_platform.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt.props" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt_app.props" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt_platform.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt.props" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt_app.props" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt_platform.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt.props" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt_app.props" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt_platform.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt.props" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt_app.props" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt_platform.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt.props" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt_app.props" />
<Import Project="..\..\..\cocos\2d\winrt_props\cocos2d_winrt_platform.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<PackageCertificateKeyFile>Cocos2dShaderCompiler_TemporaryKey.pfx</PackageCertificateKeyFile>
<PackageCertificateThumbprint>2371BAA26A4995D58B8E87430D9BE585C3507553</PackageCertificateThumbprint>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<Link>
<AdditionalDependencies>d2d1.lib;d3d11.lib;dwrite.lib;dxguid.lib;dxgi.lib;ole32.lib;windowscodecs.lib;libGLESv2.lib;libEGL.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\external\winrt-specific\zlib\prebuilt\$(Platform);$(ProjectDir)..\..\..\external\winrt-specific\angle\prebuilt\$(Platform);%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm</AdditionalLibraryDirectories>
</Link>
<ClCompile>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
<AdditionalIncludeDirectories>$(ProjectDir);$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\wp8;$(EngineRoot)external\jpeg\include\wp8;$(EngineRoot)external\tiff\include\wp8;$(EngineRoot)external\freetype2\include\wp8\freetype;$(EngineRoot)external\wp8-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<PreprocessorDefinitions>WP8_SHADER_COMPILER;CC_USE_PHYSICS=0;CC_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<ForcedIncludeFiles>
</ForcedIncludeFiles>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<Link>
<AdditionalDependencies>d2d1.lib;d3d11.lib;dwrite.lib;dxguid.lib;dxgi.lib;ole32.lib;windowscodecs.lib;libGLESv2.lib;libEGL.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\external\winrt-specific\zlib\prebuilt\$(Platform);$(ProjectDir)..\..\..\external\winrt-specific\angle\prebuilt\$(Platform);%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm</AdditionalLibraryDirectories>
</Link>
<ClCompile>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
<AdditionalIncludeDirectories>$(ProjectDir);$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\wp8;$(EngineRoot)external\jpeg\include\wp8;$(EngineRoot)external\tiff\include\wp8;$(EngineRoot)external\freetype2\include\wp8\freetype;$(EngineRoot)external\wp8-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<PreprocessorDefinitions>WP8_SHADER_COMPILER;CC_USE_PHYSICS=0;CC_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<ForcedIncludeFiles>
</ForcedIncludeFiles>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Link>
<AdditionalDependencies>d2d1.lib;d3d11.lib;dwrite.lib;dxguid.lib;dxgi.lib;ole32.lib;windowscodecs.lib;libGLESv2.lib;libEGL.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\external\winrt-specific\zlib\prebuilt\$(Platform);$(ProjectDir)..\..\..\external\winrt-specific\angle\prebuilt\$(Platform);%(AdditionalLibraryDirectories);$(VCInstallDir)\lib\store;$(VCInstallDir)\lib</AdditionalLibraryDirectories>
</Link>
<ClCompile>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
<AdditionalIncludeDirectories>$(ProjectDir);$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\wp8;$(EngineRoot)external\jpeg\include\wp8;$(EngineRoot)external\tiff\include\wp8;$(EngineRoot)external\freetype2\include\wp8\freetype;$(EngineRoot)external\wp8-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<PreprocessorDefinitions>WP8_SHADER_COMPILER;CC_USE_PHYSICS=0;CC_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<ForcedIncludeFiles>
</ForcedIncludeFiles>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Link>
<AdditionalDependencies>d2d1.lib;d3d11.lib;dwrite.lib;dxguid.lib;dxgi.lib;ole32.lib;windowscodecs.lib;libGLESv2.lib;libEGL.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\external\winrt-specific\zlib\prebuilt\$(Platform);$(ProjectDir)..\..\..\external\winrt-specific\angle\prebuilt\$(Platform);%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib</AdditionalLibraryDirectories>
</Link>
<ClCompile>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
<AdditionalIncludeDirectories>$(ProjectDir);$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\wp8;$(EngineRoot)external\jpeg\include\wp8;$(EngineRoot)external\tiff\include\wp8;$(EngineRoot)external\freetype2\include\wp8\freetype;$(EngineRoot)external\wp8-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<PreprocessorDefinitions>WP8_SHADER_COMPILER;CC_USE_PHYSICS=0;CC_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<ForcedIncludeFiles>
</ForcedIncludeFiles>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Link>
<AdditionalDependencies>d2d1.lib;d3d11.lib;dwrite.lib;dxguid.lib;dxgi.lib;ole32.lib;windowscodecs.lib;libGLESv2.lib;libEGL.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\external\winrt-specific\zlib\prebuilt\$(Platform);$(ProjectDir)..\..\..\external\winrt-specific\angle\prebuilt\$(Platform);%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64</AdditionalLibraryDirectories>
</Link>
<ClCompile>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
<AdditionalIncludeDirectories>$(ProjectDir);$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\wp8;$(EngineRoot)external\jpeg\include\wp8;$(EngineRoot)external\tiff\include\wp8;$(EngineRoot)external\freetype2\include\wp8\freetype;$(EngineRoot)external\wp8-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<PreprocessorDefinitions>WP8_SHADER_COMPILER;CC_USE_PHYSICS=0;CC_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<ForcedIncludeFiles>
</ForcedIncludeFiles>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Link>
<AdditionalDependencies>d2d1.lib;d3d11.lib;dwrite.lib;dxguid.lib;dxgi.lib;ole32.lib;windowscodecs.lib;libGLESv2.lib;libEGL.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\external\winrt-specific\zlib\prebuilt\$(Platform);$(ProjectDir)..\..\..\external\winrt-specific\angle\prebuilt\$(Platform);%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64</AdditionalLibraryDirectories>
</Link>
<ClCompile>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
<AdditionalIncludeDirectories>$(ProjectDir);$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\wp8;$(EngineRoot)external\jpeg\include\wp8;$(EngineRoot)external\tiff\include\wp8;$(EngineRoot)external\freetype2\include\wp8\freetype;$(EngineRoot)external\wp8-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<PreprocessorDefinitions>WP8_SHADER_COMPILER;CC_USE_PHYSICS=0;CC_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<ForcedIncludeFiles>
</ForcedIncludeFiles>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<Image Include="Assets\Logo.png" />
<Image Include="Assets\SmallLogo.png" />
<Image Include="Assets\StoreLogo.png" />
<Image Include="Assets\SplashScreen.png" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\cocos\2d\CCAction.h" />
<ClInclude Include="..\..\..\cocos\2d\CCActionCamera.h" />
<ClInclude Include="..\..\..\cocos\2d\CCActionCatmullRom.h" />
<ClInclude Include="..\..\..\cocos\2d\CCActionEase.h" />
<ClInclude Include="..\..\..\cocos\2d\CCActionGrid.h" />
<ClInclude Include="..\..\..\cocos\2d\CCActionGrid3D.h" />
<ClInclude Include="..\..\..\cocos\2d\CCActionInstant.h" />
<ClInclude Include="..\..\..\cocos\2d\CCActionInterval.h" />
<ClInclude Include="..\..\..\cocos\2d\CCActionManager.h" />
<ClInclude Include="..\..\..\cocos\2d\CCActionPageTurn3D.h" />
<ClInclude Include="..\..\..\cocos\2d\CCActionProgressTimer.h" />
<ClInclude Include="..\..\..\cocos\2d\CCActionTiledGrid.h" />
<ClInclude Include="..\..\..\cocos\2d\CCActionTween.h" />
<ClInclude Include="..\..\..\cocos\2d\CCAnimation.h" />
<ClInclude Include="..\..\..\cocos\2d\CCAnimationCache.h" />
<ClInclude Include="..\..\..\cocos\2d\CCAtlasNode.h" />
<ClInclude Include="..\..\..\cocos\2d\CCCamera.h" />
<ClInclude Include="..\..\..\cocos\2d\CCClippingNode.h" />
<ClInclude Include="..\..\..\cocos\2d\CCComponent.h" />
<ClInclude Include="..\..\..\cocos\2d\CCComponentContainer.h" />
<ClInclude Include="..\..\..\cocos\2d\CCDrawingPrimitives.h" />
<ClInclude Include="..\..\..\cocos\2d\CCDrawNode.h" />
<ClInclude Include="..\..\..\cocos\2d\CCFastTMXLayer.h" />
<ClInclude Include="..\..\..\cocos\2d\CCFastTMXTiledMap.h" />
<ClInclude Include="..\..\..\cocos\2d\CCFont.h" />
<ClInclude Include="..\..\..\cocos\2d\CCFontAtlas.h" />
<ClInclude Include="..\..\..\cocos\2d\CCFontAtlasCache.h" />
<ClInclude Include="..\..\..\cocos\2d\CCFontCharMap.h" />
<ClInclude Include="..\..\..\cocos\2d\CCFontFNT.h" />
<ClInclude Include="..\..\..\cocos\2d\CCFontFreeType.h" />
<ClInclude Include="..\..\..\cocos\2d\CCGLBufferedNode.h" />
<ClInclude Include="..\..\..\cocos\2d\CCGrabber.h" />
<ClInclude Include="..\..\..\cocos\2d\CCGrid.h" />
<ClInclude Include="..\..\..\cocos\2d\CCLabel.h" />
<ClInclude Include="..\..\..\cocos\2d\CCLabelAtlas.h" />
<ClInclude Include="..\..\..\cocos\2d\CCLabelBMFont.h" />
<ClInclude Include="..\..\..\cocos\2d\CCLabelTextFormatter.h" />
<ClInclude Include="..\..\..\cocos\2d\CCLabelTTF.h" />
<ClInclude Include="..\..\..\cocos\2d\CCLayer.h" />
<ClInclude Include="..\..\..\cocos\2d\CCLight.h" />
<ClInclude Include="..\..\..\cocos\2d\CCMenu.h" />
<ClInclude Include="..\..\..\cocos\2d\CCMenuItem.h" />
<ClInclude Include="..\..\..\cocos\2d\CCMotionStreak.h" />
<ClInclude Include="..\..\..\cocos\2d\CCNode.h" />
<ClInclude Include="..\..\..\cocos\2d\CCNodeGrid.h" />
<ClInclude Include="..\..\..\cocos\2d\CCParallaxNode.h" />
<ClInclude Include="..\..\..\cocos\2d\CCParticleBatchNode.h" />
<ClInclude Include="..\..\..\cocos\2d\CCParticleExamples.h" />
<ClInclude Include="..\..\..\cocos\2d\CCParticleSystem.h" />
<ClInclude Include="..\..\..\cocos\2d\CCParticleSystemQuad.h" />
<ClInclude Include="..\..\..\cocos\2d\CCProgressTimer.h" />
<ClInclude Include="..\..\..\cocos\2d\CCProtectedNode.h" />
<ClInclude Include="..\..\..\cocos\2d\CCRenderTexture.h" />
<ClInclude Include="..\..\..\cocos\2d\CCScene.h" />
<ClInclude Include="..\..\..\cocos\2d\CCSprite.h" />
<ClInclude Include="..\..\..\cocos\2d\CCSpriteBatchNode.h" />
<ClInclude Include="..\..\..\cocos\2d\CCSpriteFrame.h" />
<ClInclude Include="..\..\..\cocos\2d\CCSpriteFrameCache.h" />
<ClInclude Include="..\..\..\cocos\2d\CCTextFieldTTF.h" />
<ClInclude Include="..\..\..\cocos\2d\CCTileMapAtlas.h" />
<ClInclude Include="..\..\..\cocos\2d\CCTMXLayer.h" />
<ClInclude Include="..\..\..\cocos\2d\CCTMXObjectGroup.h" />
<ClInclude Include="..\..\..\cocos\2d\CCTMXTiledMap.h" />
<ClInclude Include="..\..\..\cocos\2d\CCTMXXMLParser.h" />
<ClInclude Include="..\..\..\cocos\2d\CCTransition.h" />
<ClInclude Include="..\..\..\cocos\2d\CCTransitionPageTurn.h" />
<ClInclude Include="..\..\..\cocos\2d\CCTransitionProgress.h" />
<ClInclude Include="..\..\..\cocos\2d\CCTweenFunction.h" />
<ClInclude Include="..\..\..\cocos\3d\CCAABB.h" />
<ClInclude Include="..\..\..\cocos\3d\CCAnimate3D.h" />
<ClInclude Include="..\..\..\cocos\3d\CCAnimation3D.h" />
<ClInclude Include="..\..\..\cocos\3d\CCAnimationCurve.h" />
<ClInclude Include="..\..\..\cocos\3d\CCAttachNode.h" />
<ClInclude Include="..\..\..\cocos\3d\CCBillBoard.h" />
<ClInclude Include="..\..\..\cocos\3d\CCBundle3D.h" />
<ClInclude Include="..\..\..\cocos\3d\CCBundle3DData.h" />
<ClInclude Include="..\..\..\cocos\3d\CCBundleReader.h" />
<ClInclude Include="..\..\..\cocos\3d\CCFrustum.h" />
<ClInclude Include="..\..\..\cocos\3d\CCMesh.h" />
<ClInclude Include="..\..\..\cocos\3d\CCMeshSkin.h" />
<ClInclude Include="..\..\..\cocos\3d\CCMeshVertexIndexData.h" />
<ClInclude Include="..\..\..\cocos\3d\CCOBB.h" />
<ClInclude Include="..\..\..\cocos\3d\CCObjLoader.h" />
<ClInclude Include="..\..\..\cocos\3d\CCPlane.h" />
<ClInclude Include="..\..\..\cocos\3d\CCRay.h" />
<ClInclude Include="..\..\..\cocos\3d\CCSkeleton3D.h" />
<ClInclude Include="..\..\..\cocos\3d\CCSprite3D.h" />
<ClInclude Include="..\..\..\cocos\3d\CCSprite3DMaterial.h" />
<ClInclude Include="..\..\..\cocos\3d\cocos3d.h" />
<ClInclude Include="..\..\..\cocos\base\allocator\CCAllocatorBase.h" />
<ClInclude Include="..\..\..\cocos\base\allocator\CCAllocatorDiagnostics.h" />
<ClInclude Include="..\..\..\cocos\base\allocator\CCAllocatorGlobal.h" />
<ClInclude Include="..\..\..\cocos\base\allocator\CCAllocatorMacros.h" />
<ClInclude Include="..\..\..\cocos\base\allocator\CCAllocatorMutex.h" />
<ClInclude Include="..\..\..\cocos\base\allocator\CCAllocatorStrategyDefault.h" />
<ClInclude Include="..\..\..\cocos\base\allocator\CCAllocatorStrategyFixedBlock.h" />
<ClInclude Include="..\..\..\cocos\base\allocator\CCAllocatorStrategyGlobalSmallBlock.h" />
<ClInclude Include="..\..\..\cocos\base\allocator\CCAllocatorStrategyPool.h" />
<ClInclude Include="..\..\..\cocos\base\atitc.h" />
<ClInclude Include="..\..\..\cocos\base\base64.h" />
<ClInclude Include="..\..\..\cocos\base\CCAsyncTaskPool.h" />
<ClInclude Include="..\..\..\cocos\base\CCAutoreleasePool.h" />
<ClInclude Include="..\..\..\cocos\base\ccCArray.h" />
<ClInclude Include="..\..\..\cocos\base\ccConfig.h" />
<ClInclude Include="..\..\..\cocos\base\CCConfiguration.h" />
<ClInclude Include="..\..\..\cocos\base\CCConsole.h" />
<ClInclude Include="..\..\..\cocos\base\CCController.h" />
<ClInclude Include="..\..\..\cocos\base\CCData.h" />
<ClInclude Include="..\..\..\cocos\base\CCDataVisitor.h" />
<ClInclude Include="..\..\..\cocos\base\CCDirector.h" />
<ClInclude Include="..\..\..\cocos\base\CCEvent.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventAcceleration.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventController.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventCustom.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventDispatcher.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventFocus.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventKeyboard.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventListener.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventListenerAcceleration.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventListenerController.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventListenerCustom.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventListenerFocus.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventListenerKeyboard.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventListenerMouse.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventListenerTouch.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventMouse.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventTouch.h" />
<ClInclude Include="..\..\..\cocos\base\CCEventType.h" />
<ClInclude Include="..\..\..\cocos\base\ccFPSImages.h" />
<ClInclude Include="..\..\..\cocos\base\CCGameController.h" />
<ClInclude Include="..\..\..\cocos\base\CCIMEDelegate.h" />
<ClInclude Include="..\..\..\cocos\base\CCIMEDispatcher.h" />
<ClInclude Include="..\..\..\cocos\base\ccMacros.h" />
<ClInclude Include="..\..\..\cocos\base\CCMap.h" />
<ClInclude Include="..\..\..\cocos\base\CCNS.h" />
<ClInclude Include="..\..\..\cocos\base\CCProfiling.h" />
<ClInclude Include="..\..\..\cocos\base\CCProtocols.h" />
<ClInclude Include="..\..\..\cocos\base\ccRandom.h" />
<ClInclude Include="..\..\..\cocos\base\CCRef.h" />
<ClInclude Include="..\..\..\cocos\base\CCRefPtr.h" />
<ClInclude Include="..\..\..\cocos\base\CCScheduler.h" />
<ClInclude Include="..\..\..\cocos\base\CCScriptSupport.h" />
<ClInclude Include="..\..\..\cocos\base\CCTouch.h" />
<ClInclude Include="..\..\..\cocos\base\ccTypes.h" />
<ClInclude Include="..\..\..\cocos\base\CCUserDefault.h" />
<ClInclude Include="..\..\..\cocos\base\ccUTF8.h" />
<ClInclude Include="..\..\..\cocos\base\ccUtils.h" />
<ClInclude Include="..\..\..\cocos\base\CCValue.h" />
<ClInclude Include="..\..\..\cocos\base\CCVector.h" />
<ClInclude Include="..\..\..\cocos\base\etc1.h" />
<ClInclude Include="..\..\..\cocos\base\firePngData.h" />
<ClInclude Include="..\..\..\cocos\base\ObjectFactory.h" />
<ClInclude Include="..\..\..\cocos\base\pvr.h" />
<ClInclude Include="..\..\..\cocos\base\s3tc.h" />
<ClInclude Include="..\..\..\cocos\base\TGAlib.h" />
<ClInclude Include="..\..\..\cocos\base\uthash.h" />
<ClInclude Include="..\..\..\cocos\base\utlist.h" />
<ClInclude Include="..\..\..\cocos\base\ZipUtils.h" />
<ClInclude Include="..\..\..\cocos\deprecated\CCArray.h" />
<ClInclude Include="..\..\..\cocos\deprecated\CCBool.h" />
<ClInclude Include="..\..\..\cocos\deprecated\CCDeprecated.h" />
<ClInclude Include="..\..\..\cocos\deprecated\CCDictionary.h" />
<ClInclude Include="..\..\..\cocos\deprecated\CCDouble.h" />
<ClInclude Include="..\..\..\cocos\deprecated\CCFloat.h" />
<ClInclude Include="..\..\..\cocos\deprecated\CCInteger.h" />
<ClInclude Include="..\..\..\cocos\deprecated\CCNotificationCenter.h" />
<ClInclude Include="..\..\..\cocos\deprecated\CCSet.h" />
<ClInclude Include="..\..\..\cocos\deprecated\CCString.h" />
<ClInclude Include="..\..\..\cocos\math\CCAffineTransform.h" />
<ClInclude Include="..\..\..\cocos\math\CCGeometry.h" />
<ClInclude Include="..\..\..\cocos\math\CCMath.h" />
<ClInclude Include="..\..\..\cocos\math\CCMathBase.h" />
<ClInclude Include="..\..\..\cocos\math\CCVertex.h" />
<ClInclude Include="..\..\..\cocos\math\Mat4.h" />
<ClInclude Include="..\..\..\cocos\math\MathUtil.h" />
<ClInclude Include="..\..\..\cocos\math\Quaternion.h" />
<ClInclude Include="..\..\..\cocos\math\TransformUtils.h" />
<ClInclude Include="..\..\..\cocos\math\Vec2.h" />
<ClInclude Include="..\..\..\cocos\math\Vec3.h" />
<ClInclude Include="..\..\..\cocos\math\Vec4.h" />
<ClInclude Include="..\..\..\cocos\platform\CCFileUtils.h" />
<ClInclude Include="..\..\..\cocos\platform\CCImage.h" />
<ClInclude Include="..\..\..\cocos\platform\CCSAXParser.h" />
<ClInclude Include="..\..\..\cocos\platform\winrt\CCFileUtilsWinRT.h" />
<ClInclude Include="..\..\..\cocos\platform\winrt\CCFreeTypeFont.h" />
<ClInclude Include="..\..\..\cocos\platform\winrt\CCGL.h" />
<ClInclude Include="..\..\..\cocos\platform\winrt\CCGL_Angle.h" />
<ClInclude Include="..\..\..\cocos\platform\winrt\CCPrecompiledShaders.h" />
<ClInclude Include="..\..\..\cocos\platform\winrt\CCStdC.h" />
<ClInclude Include="..\..\..\cocos\platform\winrt\CCWinRTUtils.h" />
<ClInclude Include="..\..\..\cocos\platform\winrt\sha1.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCBatchCommand.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCCustomCommand.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCGLProgram.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCGLProgramCache.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCGLProgramState.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCGLProgramStateCache.h" />
<ClInclude Include="..\..\..\cocos\renderer\ccGLStateCache.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCGroupCommand.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCMeshCommand.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCPrimitive.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCPrimitiveCommand.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCQuadCommand.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCRenderCommand.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCRenderCommandPool.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCRenderer.h" />
<ClInclude Include="..\..\..\cocos\renderer\ccShaders.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCTexture2D.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCTextureAtlas.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCTextureCache.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCTrianglesCommand.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCVertexIndexBuffer.h" />
<ClInclude Include="..\..\..\cocos\renderer\CCVertexIndexData.h" />
<ClInclude Include="..\..\..\cocos\ui\shaders\UIShaders.h" />
<ClInclude Include="..\..\..\external\ConvertUTF\ConvertUTF.h" />
<ClInclude Include="..\..\..\external\edtaa3func\edtaa3func.h" />
<ClInclude Include="..\..\..\external\tinyxml2\tinyxml2.h" />
<ClInclude Include="..\..\..\external\unzip\ioapi.h" />
<ClInclude Include="..\..\..\external\unzip\ioapi_mem.h" />
<ClInclude Include="..\..\..\external\unzip\unzip.h" />
<ClInclude Include="..\..\..\external\xxhash\xxhash.h" />
<ClInclude Include="App.xaml.h">
<DependentUpon>App.xaml</DependentUpon>
</ClInclude>
<ClInclude Include="DirectXPage.xaml.h">
<DependentUpon>DirectXPage.xaml</DependentUpon>
</ClInclude>
<ClInclude Include="ShaderCompiler.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\cocos\2d\CCAction.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCActionCamera.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCActionCatmullRom.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCActionEase.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCActionGrid.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCActionGrid3D.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCActionInstant.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCActionInterval.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCActionManager.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCActionPageTurn3D.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCActionProgressTimer.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCActionTiledGrid.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCActionTween.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCAnimation.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCAnimationCache.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCAtlasNode.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCCamera.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCClippingNode.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCComponent.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCComponentContainer.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCDrawingPrimitives.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCDrawNode.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCFastTMXLayer.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCFastTMXTiledMap.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCFont.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCFontAtlas.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCFontAtlasCache.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCFontCharMap.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCFontFNT.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCFontFreeType.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCGLBufferedNode.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCGrabber.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCGrid.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCLabel.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCLabelAtlas.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCLabelBMFont.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCLabelTextFormatter.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCLabelTTF.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCLayer.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCLight.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCMenu.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCMenuItem.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCMotionStreak.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCNode.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCNodeGrid.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCParallaxNode.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCParticleBatchNode.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCParticleExamples.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCParticleSystem.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCParticleSystemQuad.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCProgressTimer.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCProtectedNode.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCRenderTexture.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCScene.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCSprite.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCSpriteBatchNode.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCSpriteFrame.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCSpriteFrameCache.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCTextFieldTTF.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCTileMapAtlas.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCTMXLayer.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCTMXObjectGroup.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCTMXTiledMap.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCTMXXMLParser.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCTransition.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCTransitionPageTurn.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCTransitionProgress.cpp" />
<ClCompile Include="..\..\..\cocos\2d\CCTweenFunction.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCAABB.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCAnimate3D.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCAnimation3D.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCAttachNode.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCBillBoard.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCBundle3D.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCBundleReader.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCFrustum.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCMesh.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCMeshSkin.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCMeshVertexIndexData.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCOBB.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCObjLoader.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCPlane.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCRay.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCSkeleton3D.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCSprite3D.cpp" />
<ClCompile Include="..\..\..\cocos\3d\CCSprite3DMaterial.cpp" />
<ClCompile Include="..\..\..\cocos\base\allocator\CCAllocatorDiagnostics.cpp" />
<ClCompile Include="..\..\..\cocos\base\allocator\CCAllocatorGlobal.cpp" />
<ClCompile Include="..\..\..\cocos\base\allocator\CCAllocatorGlobalNewDelete.cpp" />
<ClCompile Include="..\..\..\cocos\base\atitc.cpp" />
<ClCompile Include="..\..\..\cocos\base\base64.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCAsyncTaskPool.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCAutoreleasePool.cpp" />
<ClCompile Include="..\..\..\cocos\base\ccCArray.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCConfiguration.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCConsole.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCController.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCData.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCDataVisitor.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCDirector.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEvent.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventAcceleration.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventController.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventCustom.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventDispatcher.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventFocus.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventKeyboard.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventListener.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventListenerAcceleration.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventListenerController.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventListenerCustom.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventListenerFocus.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventListenerKeyboard.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventListenerMouse.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventListenerTouch.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventMouse.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCEventTouch.cpp" />
<ClCompile Include="..\..\..\cocos\base\ccFPSImages.c">
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</CompileAsWinRT>
</ClCompile>
<ClCompile Include="..\..\..\cocos\base\CCIMEDispatcher.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCNS.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCProfiling.cpp" />
<ClCompile Include="..\..\..\cocos\base\ccRandom.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCRef.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCScheduler.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCScriptSupport.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCTouch.cpp" />
<ClCompile Include="..\..\..\cocos\base\ccTypes.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCUserDefault.cpp" />
<ClCompile Include="..\..\..\cocos\base\ccUTF8.cpp" />
<ClCompile Include="..\..\..\cocos\base\ccUtils.cpp" />
<ClCompile Include="..\..\..\cocos\base\CCValue.cpp" />
<ClCompile Include="..\..\..\cocos\base\etc1.cpp" />
<ClCompile Include="..\..\..\cocos\base\ObjectFactory.cpp" />
<ClCompile Include="..\..\..\cocos\base\pvr.cpp" />
<ClCompile Include="..\..\..\cocos\base\s3tc.cpp" />
<ClCompile Include="..\..\..\cocos\base\TGAlib.cpp" />
<ClCompile Include="..\..\..\cocos\base\ZipUtils.cpp" />
<ClCompile Include="..\..\..\cocos\cocos2d.cpp" />
<ClCompile Include="..\..\..\cocos\deprecated\CCArray.cpp" />
<ClCompile Include="..\..\..\cocos\deprecated\CCDeprecated.cpp" />
<ClCompile Include="..\..\..\cocos\deprecated\CCDictionary.cpp" />
<ClCompile Include="..\..\..\cocos\deprecated\CCNotificationCenter.cpp" />
<ClCompile Include="..\..\..\cocos\deprecated\CCSet.cpp" />
<ClCompile Include="..\..\..\cocos\deprecated\CCString.cpp" />
<ClCompile Include="..\..\..\cocos\math\CCAffineTransform.cpp" />
<ClCompile Include="..\..\..\cocos\math\CCGeometry.cpp" />
<ClCompile Include="..\..\..\cocos\math\CCVertex.cpp" />
<ClCompile Include="..\..\..\cocos\math\Mat4.cpp" />
<ClCompile Include="..\..\..\cocos\math\MathUtil.cpp" />
<ClCompile Include="..\..\..\cocos\math\Quaternion.cpp" />
<ClCompile Include="..\..\..\cocos\math\TransformUtils.cpp" />
<ClCompile Include="..\..\..\cocos\math\Vec2.cpp" />
<ClCompile Include="..\..\..\cocos\math\Vec3.cpp" />
<ClCompile Include="..\..\..\cocos\math\Vec4.cpp" />
<ClCompile Include="..\..\..\cocos\platform\CCFileUtils.cpp" />
<ClCompile Include="..\..\..\cocos\platform\CCImage.cpp" />
<ClCompile Include="..\..\..\cocos\platform\CCSAXParser.cpp" />
<ClCompile Include="..\..\..\cocos\platform\winrt\CCCommon.cpp" />
<ClCompile Include="..\..\..\cocos\platform\winrt\CCDevice.cpp" />
<ClCompile Include="..\..\..\cocos\platform\winrt\CCFileUtilsWinRT.cpp" />
<ClCompile Include="..\..\..\cocos\platform\winrt\CCFreeTypeFont.cpp" />
<ClCompile Include="..\..\..\cocos\platform\winrt\CCPrecompiledShaders.cpp" />
<ClCompile Include="..\..\..\cocos\platform\winrt\CCStdC.cpp" />
<ClCompile Include="..\..\..\cocos\platform\winrt\CCWinRTUtils.cpp" />
<ClCompile Include="..\..\..\cocos\platform\winrt\sha1.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCBatchCommand.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCCustomCommand.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCGLProgram.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCGLProgramCache.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCGLProgramState.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCGLProgramStateCache.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\ccGLStateCache.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCGroupCommand.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCMeshCommand.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCPrimitive.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCPrimitiveCommand.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCQuadCommand.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCRenderCommand.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCRenderer.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\ccShaders.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCTexture2D.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCTextureAtlas.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCTextureCache.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCTrianglesCommand.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCVertexIndexBuffer.cpp" />
<ClCompile Include="..\..\..\cocos\renderer\CCVertexIndexData.cpp" />
<ClCompile Include="..\..\..\cocos\ui\shaders\UIShaders.cpp" />
<ClCompile Include="..\..\..\external\ConvertUTF\ConvertUTF.c">
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</CompileAsWinRT>
</ClCompile>
<ClCompile Include="..\..\..\external\ConvertUTF\ConvertUTFWrapper.cpp" />
<ClCompile Include="..\..\..\external\edtaa3func\edtaa3func.cpp" />
<ClCompile Include="..\..\..\external\tinyxml2\tinyxml2.cpp" />
<ClCompile Include="..\..\..\external\unzip\ioapi.cpp" />
<ClCompile Include="..\..\..\external\unzip\ioapi_mem.cpp" />
<ClCompile Include="..\..\..\external\unzip\unzip.cpp" />
<ClCompile Include="..\..\..\external\xxhash\xxhash.c">
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</CompileAsWinRT>
</ClCompile>
<ClCompile Include="App.xaml.cpp">
<DependentUpon>App.xaml</DependentUpon>
</ClCompile>
<ClCompile Include="DirectXPage.xaml.cpp">
<DependentUpon>DirectXPage.xaml</DependentUpon>
</ClCompile>
<ClCompile Include="ShaderCompiler.cpp" />
</ItemGroup>
<ItemGroup>
<AppxManifest Include="Package.appxmanifest">
<SubType>Designer</SubType>
</AppxManifest>
<None Include="..\..\..\cocos\3d\CCAnimationCurve.inl" />
<None Include="..\..\..\cocos\math\MathUtil.inl" />
<None Include="Cocos2dShaderCompiler_TemporaryKey.pfx" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<SubType>Designer</SubType>
</ApplicationDefinition>
<Page Include="DirectXPage.xaml">
<SubType>Designer</SubType>
</Page>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\ImageContentTask.targets" />
<Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\MeshContentTask.targets" />
<Import Project="$(VSINSTALLDIR)\Common7\IDE\Extensions\Microsoft\VsGraphics\ShaderGraphContentTask.targets" />
</ImportGroup>
</Project>

View File

@ -1,23 +0,0 @@
<Page
x:Class="Cocos2dShaderCompiler.DirectXPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Cocos2dShaderCompiler"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal" Margin="40,100,0,0" Height="50" VerticalAlignment="Top">
<TextBlock Text="Save file to cocos\platform\wp8\shaders\precompiledshaders.h" FontSize="36"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="40,100,0,0" Height="50" VerticalAlignment="Top">
<TextBlock Text="Result: " FontSize="36"/>
<TextBlock Text="" FontSize="36" x:Name="ResultText" />
</StackPanel>
<Button Margin="40,100,0,0" x:Name="compileButton" Content="Compile" Width="150" Click="OnCompile" />
</StackPanel>
</Grid>
</Page>

View File

@ -1,126 +0,0 @@
//
// DirectXPage.xaml.cpp
// Implementation of the DirectXPage class.
//
#include "pch.h"
#include "DirectXPage.xaml.h"
using namespace Cocos2dShaderCompiler;
using namespace Platform;
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;
using namespace concurrency;
DirectXPage::DirectXPage():
m_windowVisible(true),
m_coreInput(nullptr)
{
InitializeComponent();
// Register event handlers for page lifecycle.
CoreWindow^ window = Window::Current->CoreWindow;
window->VisibilityChanged +=
ref new TypedEventHandler<CoreWindow^, VisibilityChangedEventArgs^>(this, &DirectXPage::OnVisibilityChanged);
DisplayInformation^ currentDisplayInformation = DisplayInformation::GetForCurrentView();
currentDisplayInformation->DpiChanged +=
ref new TypedEventHandler<DisplayInformation^, Object^>(this, &DirectXPage::OnDpiChanged);
currentDisplayInformation->OrientationChanged +=
ref new TypedEventHandler<DisplayInformation^, Object^>(this, &DirectXPage::OnOrientationChanged);
DisplayInformation::DisplayContentsInvalidated +=
ref new TypedEventHandler<DisplayInformation^, Object^>(this, &DirectXPage::OnDisplayContentsInvalidated);
// Disable all pointer visual feedback for better performance when touching.
auto pointerVisualizationSettings = PointerVisualizationSettings::GetForCurrentView();
pointerVisualizationSettings->IsContactFeedbackEnabled = false;
pointerVisualizationSettings->IsBarrelButtonFeedbackEnabled = false;
}
DirectXPage::~DirectXPage()
{
}
void DirectXPage::OnCompile(Object^ sender, RoutedEventArgs^ args)
{
compiler.Compile(ResultText);
}
// Saves the current state of the app for suspend and terminate events.
void DirectXPage::SaveInternalState(IPropertySet^ state)
{
//m_deviceResources->Trim();
}
// Loads the current state of the app for resume events.
void DirectXPage::LoadInternalState(IPropertySet^ state)
{
// Put code to load app state here.
}
// Window event handlers.
void DirectXPage::OnVisibilityChanged(CoreWindow^ sender, VisibilityChangedEventArgs^ args)
{
m_windowVisible = args->Visible;
}
// DisplayInformation event handlers.
void DirectXPage::OnDpiChanged(DisplayInformation^ sender, Object^ args)
{
}
void DirectXPage::OnOrientationChanged(DisplayInformation^ sender, Object^ args)
{
}
void DirectXPage::OnDisplayContentsInvalidated(DisplayInformation^ sender, Object^ args)
{
}
void DirectXPage::OnPointerPressed(Object^ sender, PointerEventArgs^ e)
{
}
void DirectXPage::OnPointerMoved(Object^ sender, PointerEventArgs^ e)
{
}
void DirectXPage::OnPointerReleased(Object^ sender, PointerEventArgs^ e)
{
}
void DirectXPage::OnCompositionScaleChanged(SwapChainPanel^ sender, Object^ args)
{
}

View File

@ -1,56 +0,0 @@
//
// DirectXPage.xaml.h
// Declaration of the DirectXPage class.
//
#pragma once
#include "DirectXPage.g.h"
#include "ShaderCompiler.h"
namespace Cocos2dShaderCompiler
{
/// <summary>
/// A page that hosts a DirectX SwapChainPanel.
/// </summary>
public ref class DirectXPage sealed
{
public:
DirectXPage();
virtual ~DirectXPage();
void SaveInternalState(Windows::Foundation::Collections::IPropertySet^ state);
void LoadInternalState(Windows::Foundation::Collections::IPropertySet^ state);
private:
// XAML low-level rendering event handler.
void OnRendering(Platform::Object^ sender, Platform::Object^ args);
// Window event handlers.
void OnVisibilityChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::VisibilityChangedEventArgs^ args);
// DisplayInformation event handlers.
void OnDpiChanged(Windows::Graphics::Display::DisplayInformation^ sender, Platform::Object^ args);
void OnOrientationChanged(Windows::Graphics::Display::DisplayInformation^ sender, Platform::Object^ args);
void OnDisplayContentsInvalidated(Windows::Graphics::Display::DisplayInformation^ sender, Platform::Object^ args);
// Other event handlers.
void OnCompositionScaleChanged(Windows::UI::Xaml::Controls::SwapChainPanel^ sender, Object^ args);
void OnCompile(Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
// Track our independent input on a background worker thread.
Windows::Foundation::IAsyncAction^ m_inputLoopWorker;
Windows::UI::Core::CoreIndependentInputSource^ m_coreInput;
// Independent input handling functions.
void OnPointerPressed(Platform::Object^ sender, Windows::UI::Core::PointerEventArgs^ e);
void OnPointerMoved(Platform::Object^ sender, Windows::UI::Core::PointerEventArgs^ e);
void OnPointerReleased(Platform::Object^ sender, Windows::UI::Core::PointerEventArgs^ e);
ShaderCompiler compiler;
bool m_windowVisible;
};
}

View File

@ -1,31 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">
<Identity Name="648a721b-11b5-48d7-816b-4d7fa8b140c0" Publisher="CN=msopentech" Version="1.0.0.0" />
<Properties>
<DisplayName>Cocos2dShaderCompiler</DisplayName>
<PublisherDisplayName>msopentech</PublisherDisplayName>
<Logo>Assets\StoreLogo.png</Logo>
</Properties>
<Prerequisites>
<OSMinVersion>6.3.0</OSMinVersion>
<OSMaxVersionTested>6.3.0</OSMaxVersionTested>
</Prerequisites>
<Resources>
<Resource Language="x-generate" />
</Resources>
<Applications>
<Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="Cocos2dShaderCompiler.App">
<m2:VisualElements DisplayName="Cocos2dShaderCompiler" Description="Cocos2dShaderCompiler" BackgroundColor="#464646" ForegroundText="light" Square150x150Logo="Assets\Logo.png" Square30x30Logo="Assets\SmallLogo.png">
<m2:DefaultTile>
<m2:ShowNameOnTiles>
<m2:ShowOn Tile="square150x150Logo" />
</m2:ShowNameOnTiles>
</m2:DefaultTile>
<m2:SplashScreen Image="Assets\SplashScreen.png" />
</m2:VisualElements>
</Application>
</Applications>
<Capabilities>
<Capability Name="internetClient" />
</Capabilities>
</Package>

View File

@ -1,168 +0,0 @@
/****************************************************************************
Copyright (c) 2013 cocos2d-x.org
Copyright (c) Microsoft Open Technologies, Inc.
http://www.cocos2d-x.org
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
****************************************************************************/
#include "ShaderCompiler.h"
#include "cocos2d.h"
#include "CCPrecompiledShaders.h"
using namespace Concurrency;
using namespace Microsoft::WRL;
using namespace Windows::Foundation;
using namespace Windows::UI::Core;
USING_NS_CC;
ShaderCompiler::ShaderCompiler()
: m_display(nullptr),
m_context(nullptr),
m_initialized(false),
m_resultText(nullptr)
{
}
ShaderCompiler::~ShaderCompiler()
{
CloseAngle();
}
bool ShaderCompiler::Compile(Windows::UI::Xaml::Controls::TextBlock^ resultText)
{
m_resultText = resultText;
resultText->Text = "Compiling shaders...";
if (!InitializeAngle(ANGLE_D3D_FEATURE_LEVEL::ANGLE_D3D_FEATURE_LEVEL_9_3))
{
resultText->Text = "Unable to initialize Angle";
return false;
}
auto director = cocos2d::Director::getInstance();
//Director::getInstance()->setAnimationInterval(1.0 / 60.0);
CCShaderCache::getInstance()->loadDefaultShaders();
CCPrecompiledShaders::getInstance()->savePrecompiledShaders();
resultText->Text = "Complete";
return true;
}
// Creates and restores Cocos2d-x after DirectX and Angle contexts are created or updated
void ShaderCompiler::InitializeCocos2d()
{
}
void ShaderCompiler::CloseAngle()
{
eglMakeCurrent(NULL, NULL, NULL, NULL);
if (m_display && m_context)
{
eglDestroyContext(m_context, m_context);
}
if (m_display)
{
eglTerminate(m_display);
}
m_eglWindow = nullptr;
}
bool ShaderCompiler::InitializeAngle(ANGLE_D3D_FEATURE_LEVEL featureLevel)
{
// setup EGL
EGLint configAttribList[] = {
EGL_RED_SIZE, 8,
EGL_GREEN_SIZE, 8,
EGL_BLUE_SIZE, 8,
EGL_ALPHA_SIZE, 8,
EGL_DEPTH_SIZE, 8,
EGL_STENCIL_SIZE, 8,
EGL_SAMPLE_BUFFERS, 0,
EGL_NONE
};
EGLint surfaceAttribList[] = {
EGL_NONE, EGL_NONE
};
EGLint numConfigs;
EGLint majorVersion;
EGLint minorVersion;
EGLConfig config;
EGLint contextAttribs[] = { EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE, EGL_NONE };
IUnknown* dummy = nullptr;
HRESULT result = CreateWinrtEglWindow(WINRT_EGL_IUNKNOWN(dummy), featureLevel, m_eglWindow.GetAddressOf());
if (!SUCCEEDED(result))
{
return false;
}
m_display = eglGetDisplay(m_eglWindow);
if (m_display == EGL_NO_DISPLAY){
return false;
}
if (!eglInitialize(m_display, &majorVersion, &minorVersion)){
return false;
}
// Get configs
if (!eglGetConfigs(m_display, NULL, 0, &numConfigs)){
return false;
}
// Choose config
if (!eglChooseConfig(m_display, configAttribList, &config, 1, &numConfigs)){
return false;
}
// Create a GL context
m_context = eglCreateContext(m_display, config, EGL_NO_CONTEXT, contextAttribs);
if (m_context == EGL_NO_CONTEXT){
return false;
}
// Make the context current
// Note: we are not using a surface
if (!eglMakeCurrent(m_display, NULL, NULL, m_context)){
return false;
}
return true;
}

View File

@ -1,52 +0,0 @@
/****************************************************************************
Copyright (c) 2013 cocos2d-x.org
Copyright (c) Microsoft Open Technologies, Inc.
http://www.cocos2d-x.org
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
****************************************************************************/
#pragma once
#include "CCGL.h"
class ShaderCompiler
{
public:
ShaderCompiler();
~ShaderCompiler();
bool Compile(Windows::UI::Xaml::Controls::TextBlock^ resultText);
private:
Windows::UI::Xaml::Controls::TextBlock^ m_resultText;
void InitializeCocos2d();
bool InitializeAngle(ANGLE_D3D_FEATURE_LEVEL featureLevel);
void CloseAngle();
Microsoft::WRL::ComPtr<IWinrtEglWindow> m_eglWindow;
EGLDisplay m_display;
EGLContext m_context;
bool m_initialized;
};

View File

@ -1 +0,0 @@
#include "pch.h"

View File

@ -1,16 +0,0 @@
#pragma once
#include <wrl.h>
#include <wrl/client.h>
#include <d3d11_2.h>
#include <d2d1_2.h>
#include <d2d1effects_1.h>
#include <dwrite_2.h>
#include <wincodec.h>
#include <DirectXColors.h>
#include <DirectXMath.h>
#include <memory>
#include <agile.h>
#include <concrt.h>
#include <collection.h>
#include "App.xaml.h"

View File

@ -1,8 +0,0 @@
How to compile precompiled shaders for Windows Phone 8.0 (WP8)
You need to use VS2013 with update 3.
1. Open the VS project Cocos2dShaderCompiler\Cocos2dShaderCompiler.sln
2. Build and run the project
3. Click the Compile button
4. Select the file cocos\platform\wp8\shaders\precompiledshaders.h in the file dialog box
5. Program will precompile all of the cached cocos2d-x shaders.

View File

@ -871,7 +871,7 @@ void Label::setFontScale(float fontScale)
void Label::onDraw(const Mat4& transform, bool transformUpdated)
{
// Optimization: Fast Dispatch
if( _batchNodes.size() == 1 && _textureAtlas->getTotalQuads() == 0 )
if( _textureAtlas == NULL || (_batchNodes.size() == 1 && _textureAtlas->getTotalQuads() == 0) )
{
return;
}
@ -1059,6 +1059,7 @@ void Label::createShadowSpriteForSystemFont()
{
_shadowNode->setBlendFunc(_blendFunc);
}
_shadowNode->setCameraMask(getCameraMask());
_shadowNode->setAnchorPoint(Vec2::ANCHOR_BOTTOM_LEFT);
_shadowNode->setPosition(_shadowOffset.width, _shadowOffset.height);
Node::addChild(_shadowNode, 0, Node::INVALID_TAG);
@ -1179,7 +1180,7 @@ void Label::visit(Renderer *renderer, const Mat4 &parentTransform, uint32_t pare
_shadowDirty = false;
}
if (!isVisitableByVisitingCamera())
if (!_textSprite && !isVisitableByVisitingCamera())
{
return;
}
@ -1187,27 +1188,23 @@ void Label::visit(Renderer *renderer, const Mat4 &parentTransform, uint32_t pare
// IMPORTANT:
// To ease the migration to v3.0, we still support the Mat4 stack,
// but it is deprecated and your code should not rely on it
Director* director = Director::getInstance();
CCASSERT(nullptr != director, "Director is null when seting matrix stack");
_director->pushMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW);
_director->loadMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW, _modelViewTransform);
director->pushMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW);
director->loadMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW, _modelViewTransform);
if (_textSprite)
{
if (_shadowNode)
{
_shadowNode->visit(renderer, _modelViewTransform, parentFlags);
_shadowNode->visit(renderer, _modelViewTransform, flags);
}
_textSprite->visit(renderer, _modelViewTransform, parentFlags);
_textSprite->visit(renderer, _modelViewTransform, flags);
}
else
{
draw(renderer, _modelViewTransform, flags);
}
director->popMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW);
_director->popMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW);
// FIX ME: Why need to set _orderOfArrival to 0??
// Please refer to https://github.com/cocos2d/cocos2d-x/pull/6920

View File

@ -86,6 +86,16 @@ public:
* @param bFastMode True if enabled fast mode.
*/
inline void setFastMode(bool bFastMode) { _fastMode = bFastMode; }
/** Get stroke.
*
* @return float stroke.
*/
inline float getStroke() const { return _stroke; }
/** Set stroke.
*
* @param stroke The width of stroke.
*/
inline void setStroke(float stroke) { _stroke = stroke; }
/** Is the starting position initialized or not.
*

View File

@ -472,6 +472,7 @@
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\..\platform\winrt\Keyboard-winrt.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\..\platform\winrt\pch.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\..\platform\winrt\sha1.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\..\platform\winrt\WICImageLoader-win.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\..\renderer\CCBatchCommand.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\..\renderer\CCCustomCommand.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\..\renderer\CCGLProgram.h" />
@ -1027,6 +1028,7 @@
</ForcedIncludeFiles>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\..\platform\winrt\sha1.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\..\platform\winrt\WICImageLoader-win.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\..\renderer\CCBatchCommand.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\..\renderer\CCCustomCommand.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\..\renderer\CCGLProgram.cpp" />

View File

@ -1743,6 +1743,9 @@
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\..\3d\CCTerrain.h">
<Filter>3d</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\..\platform\winrt\WICImageLoader-win.h">
<Filter>platform\winrt</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\..\cocos2d.cpp" />
@ -3315,6 +3318,9 @@
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\..\editor-support\cocostudio\CocoStudio.cpp">
<Filter>cocostudio\json</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\..\platform\winrt\WICImageLoader-win.cpp">
<Filter>platform\winrt</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Filter Include="2d">

View File

@ -146,7 +146,7 @@
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalOptions>/Zm384 /bigobj %(AdditionalOptions)</AdditionalOptions>
<ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
<AdditionalIncludeDirectories>$(EngineRoot)external\winrt_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\winrt_8.1;$(EngineRoot)external\websockets\include\winrt_8.1;$(EngineRoot)external\curl\include\winrt_8.1;$(EngineRoot)external\tiff\include\winrt_8.1;$(EngineRoot)external\jpeg\include\winrt_8.1;$(EngineRoot)external\png\include\winrt_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(EngineRoot)external\winrt_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\winrt_8.1\freetype2;$(EngineRoot)external\websockets\include\winrt_8.1;$(EngineRoot)external\curl\include\winrt_8.1;$(EngineRoot)external\tiff\include\winrt_8.1;$(EngineRoot)external\jpeg\include\winrt_8.1;$(EngineRoot)external\png\include\winrt_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_DEBUG;COCOS2D_DEBUG=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
@ -166,7 +166,7 @@
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalOptions>/Zm384 /bigobj %(AdditionalOptions)</AdditionalOptions>
<ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
<AdditionalIncludeDirectories>$(EngineRoot)external\winrt_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\winrt_8.1;$(EngineRoot)external\websockets\include\winrt_8.1;$(EngineRoot)external\curl\include\winrt_8.1;$(EngineRoot)external\tiff\include\winrt_8.1;$(EngineRoot)external\jpeg\include\winrt_8.1;$(EngineRoot)external\png\include\winrt_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(EngineRoot)external\winrt_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\winrt_8.1\freetype2;$(EngineRoot)external\websockets\include\winrt_8.1;$(EngineRoot)external\curl\include\winrt_8.1;$(EngineRoot)external\tiff\include\winrt_8.1;$(EngineRoot)external\jpeg\include\winrt_8.1;$(EngineRoot)external\png\include\winrt_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
@ -186,7 +186,7 @@
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalOptions>/Zm384 /bigobj %(AdditionalOptions)</AdditionalOptions>
<ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
<AdditionalIncludeDirectories>$(EngineRoot)external\winrt_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\winrt_8.1;$(EngineRoot)external\websockets\include\winrt_8.1;$(EngineRoot)external\curl\include\winrt_8.1;$(EngineRoot)external\tiff\include\winrt_8.1;$(EngineRoot)external\jpeg\include\winrt_8.1;$(EngineRoot)external\png\include\winrt_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(EngineRoot)external\winrt_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\winrt_8.1\freetype2;$(EngineRoot)external\websockets\include\winrt_8.1;$(EngineRoot)external\curl\include\winrt_8.1;$(EngineRoot)external\tiff\include\winrt_8.1;$(EngineRoot)external\jpeg\include\winrt_8.1;$(EngineRoot)external\png\include\winrt_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_DEBUG;COCOS2D_DEBUG=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
@ -206,7 +206,7 @@
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalOptions>/Zm384 /bigobj %(AdditionalOptions)</AdditionalOptions>
<ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
<AdditionalIncludeDirectories>$(EngineRoot)external\winrt_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\winrt_8.1;$(EngineRoot)external\websockets\include\winrt_8.1;$(EngineRoot)external\curl\include\winrt_8.1;$(EngineRoot)external\tiff\include\winrt_8.1;$(EngineRoot)external\jpeg\include\winrt_8.1;$(EngineRoot)external\png\include\winrt_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(EngineRoot)external\winrt_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\winrt_8.1\freetype2;$(EngineRoot)external\websockets\include\winrt_8.1;$(EngineRoot)external\curl\include\winrt_8.1;$(EngineRoot)external\tiff\include\winrt_8.1;$(EngineRoot)external\jpeg\include\winrt_8.1;$(EngineRoot)external\png\include\winrt_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
@ -226,7 +226,7 @@
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalOptions>/Zm384 /bigobj %(AdditionalOptions)</AdditionalOptions>
<ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
<AdditionalIncludeDirectories>$(EngineRoot)external\winrt_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\winrt_8.1;$(EngineRoot)external\websockets\include\winrt_8.1;$(EngineRoot)external\curl\include\winrt_8.1;$(EngineRoot)external\tiff\include\winrt_8.1;$(EngineRoot)external\jpeg\include\winrt_8.1;$(EngineRoot)external\png\include\winrt_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(EngineRoot)external\winrt_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\winrt_8.1\freetype2;$(EngineRoot)external\websockets\include\winrt_8.1;$(EngineRoot)external\curl\include\winrt_8.1;$(EngineRoot)external\tiff\include\winrt_8.1;$(EngineRoot)external\jpeg\include\winrt_8.1;$(EngineRoot)external\png\include\winrt_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_DEBUG;COCOS2D_DEBUG=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
@ -246,7 +246,7 @@
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalOptions>/Zm384 /bigobj %(AdditionalOptions)</AdditionalOptions>
<ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
<AdditionalIncludeDirectories>$(EngineRoot)external\winrt_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\winrt_8.1;$(EngineRoot)external\websockets\include\winrt_8.1;$(EngineRoot)external\curl\include\winrt_8.1;$(EngineRoot)external\tiff\include\winrt_8.1;$(EngineRoot)external\jpeg\include\winrt_8.1;$(EngineRoot)external\png\include\winrt_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(EngineRoot)external\winrt_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\winrt_8.1\freetype2;$(EngineRoot)external\websockets\include\winrt_8.1;$(EngineRoot)external\curl\include\winrt_8.1;$(EngineRoot)external\tiff\include\winrt_8.1;$(EngineRoot)external\jpeg\include\winrt_8.1;$(EngineRoot)external\png\include\winrt_8.1;$(EngineRoot)external\protobuf-lite\src;$(EngineRoot)external\protobuf-lite\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>

View File

@ -108,7 +108,7 @@
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalOptions>/Zm384 /bigobj %(AdditionalOptions)</AdditionalOptions>
<ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
<AdditionalIncludeDirectories>$(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)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(EngineRoot)external\wp_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\wp_8.1\freetype2;$(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)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_DEBUG;COCOS2D_DEBUG=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
@ -128,7 +128,7 @@
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalOptions>/Zm384 /bigobj %(AdditionalOptions)</AdditionalOptions>
<ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
<AdditionalIncludeDirectories>$(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)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(EngineRoot)external\wp_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\wp_8.1\freetype2;$(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)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
@ -148,7 +148,7 @@
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalOptions>/Zm384 /bigobj %(AdditionalOptions)</AdditionalOptions>
<ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
<AdditionalIncludeDirectories>$(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)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(EngineRoot)external\wp_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\wp_8.1\freetype2;$(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)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_DEBUG;COCOS2D_DEBUG=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
@ -168,7 +168,7 @@
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalOptions>/Zm384 /bigobj %(AdditionalOptions)</AdditionalOptions>
<ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
<AdditionalIncludeDirectories>$(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)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(EngineRoot)external\wp_8.1-specific\zlib\include;$(EngineRoot)external\freetype2\include\wp_8.1\freetype2;$(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)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_USRDLL;_LIB;COCOS2DXWIN32_EXPORTS;_USE3DDLL;_EXPORT_DLL_;_USRSTUDIODLL;_USREXDLL;_USEGUIDLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -18,8 +18,8 @@
<DisableSpecificWarnings>4056;4244;4251;4756;4453;28204;</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>libGLESv2.lib;libEGL.lib;ws2_32.lib;libwebsockets.lib;libcurl.lib;libchipmunk.lib;zlib.lib;libpng.lib;libjpeg.lib;libtiff.lib;freetype250.lib;sqlite3.lib;d2d1.lib;d3d11.lib;dxgi.lib;windowscodecs.lib;dwrite.lib;dxguid.lib;xaudio2.lib;mfcore.lib;mfplat.lib;mfreadwrite.lib;mfuuid.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(EngineRoot)external\$(COCOS2D_PLATFORM)-specific\angle\prebuilt\$(Platform);$(EngineRoot)external\curl\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\websockets\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\chipmunk\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\$(COCOS2D_PLATFORM)-specific\zlib\prebuilt\$(Platform);$(EngineRoot)external\png\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\tiff\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\jpeg\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\sqlite3\libraries\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\freetype2\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);%(AdditionalLibraryDirectories);</AdditionalLibraryDirectories>
<AdditionalDependencies>libGLESv2.lib;libEGL.lib;ws2_32.lib;libwebsockets.lib;libcurl.lib;chipmunk.lib;zlib.lib;freetype.lib;sqlite3.lib;d2d1.lib;d3d11.lib;dxgi.lib;windowscodecs.lib;dwrite.lib;dxguid.lib;xaudio2.lib;mfcore.lib;mfplat.lib;mfreadwrite.lib;mfuuid.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(EngineRoot)external\$(COCOS2D_PLATFORM)-specific\angle\prebuilt\$(Platform);$(EngineRoot)external\curl\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\websockets\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\chipmunk\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\$(COCOS2D_PLATFORM)-specific\zlib\prebuilt\$(Platform);$(EngineRoot)external\sqlite3\libraries\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\freetype2\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);%(AdditionalLibraryDirectories);</AdditionalLibraryDirectories>
<AdditionalOptions>/IGNORE:4264 %(AdditionalOptions)</AdditionalOptions>
</Link>
</ItemDefinitionGroup>

View File

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="COCOS2">
<COCOS2D_PLATFORM Condition=" '$(COCOS2_PLATFORM)' == '' ">wp8</COCOS2D_PLATFORM>
</PropertyGroup>
<PropertyGroup Label="UserMacros">
<EngineRoot>$(MSBuildThisFileDirectory)..\..\..\</EngineRoot>
</PropertyGroup>
<PropertyGroup />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(EngineRoot)external\$(COCOS2D_PLATFORM)-specific\angle\include;$(EngineRoot)external\$(COCOS2D_PLATFORM)-specific\zlib\include;$(EngineRoot)external\freetype2\include\$(COCOS2D_PLATFORM)\freetype;$(EngineRoot)external\curl\include\$(COCOS2D_PLATFORM);$(EngineRoot)external\websockets\include\$(COCOS2D_PLATFORM);$(EngineRoot)cocos\platform\wp8;$(EngineRoot)cocos\platform\winrt;$(EngineRoot)cocos\platform;$(EngineRoot)cocos\editor-support;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\sqlite3\include;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos;$(EngineRoot)extensions;$(EngineRoot)external;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\unzip;$(EngineRoot)external\tinyxml2;$(EngineRoot);$(EngineRoot)external\ConvertUTF;$(EngineRoot)external\xxhash;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ClCompile>
<PreprocessorDefinitions>WP8;_VARIADIC_MAX=10;NOMINMAX;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CompileAsWinRT>true</CompileAsWinRT>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<DebugInformationFormat>OldStyle</DebugInformationFormat>
<DisableSpecificWarnings>4056;4244;4251;4756;4453;28204;</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>libGLESv2_phone.lib;libEGL_phone.lib;ws2_32.lib;libwebsockets.lib;libcurl.lib;libchipmunk.lib;zlib.lib;libpng.lib;libjpeg.lib;libtiff.lib;freetype.lib;sqlite3.lib;d3d11.lib;dxgi.lib;dxguid.lib;xaudio2.lib;mfplat.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(EngineRoot)external\$(COCOS2D_PLATFORM)-specific\angle\prebuilt\$(Platform);$(EngineRoot)cocos\platform\wp8;$(EngineRoot)external\curl\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\websockets\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\chipmunk\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\$(COCOS2D_PLATFORM)-specific\zlib\prebuilt\$(Platform);$(EngineRoot)external\png\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\tiff\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\jpeg\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\sqlite3\libraries\$(COCOS2D_PLATFORM)\$(Platform);$(EngineRoot)external\freetype2\prebuilt\$(COCOS2D_PLATFORM)\$(Platform);%(AdditionalLibraryDirectories);</AdditionalLibraryDirectories>
<AdditionalOptions>/IGNORE:4264 %(AdditionalOptions)</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<BuildMacro Include="EngineRoot">
<Value>$(EngineRoot)</Value>
<EnvironmentVariable>true</EnvironmentVariable>
</BuildMacro>
</ItemGroup>
</Project>

View File

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="APP_DLLS">
<AngleBinPath Condition=" '$(AngleBinPath)' == '' ">$(EngineRoot)external\$(COCOS2D_PLATFORM)-specific\angle\prebuilt\$(Platform)\</AngleBinPath>
<CurlBinPath Condition=" '$(CurlBinPath)' == '' ">$(EngineRoot)external\curl\prebuilt\$(COCOS2D_PLATFORM)\$(Platform)\</CurlBinPath>
<WebsocketsBinPath Condition=" '$(WebsocketsBinPath)' == '' ">$(EngineRoot)external\websockets\prebuilt\$(COCOS2D_PLATFORM)\$(Platform)\</WebsocketsBinPath>
<SQLiteBinPath Condition=" '$(SQLiteBinPath)' == '' ">$(EngineRoot)external\sqlite3\libraries\$(COCOS2D_PLATFORM)\$(Platform)\</SQLiteBinPath>
<CurlBinPath Condition=" '$(CurlBinPath)' == '' ">$(EngineRoot)external\curl\prebuilt\$(COCOS2D_PLATFORM)\$(Platform)\</CurlBinPath>
</PropertyGroup>
<ItemGroup Label="ANGLE">
<None Include="$(AngleBinPath)libEGL_phone.dll">
<DeploymentContent>true</DeploymentContent>
</None>
<None Include="$(AngleBinPath)libGLESv2_phone.dll">
<DeploymentContent>true</DeploymentContent>
</None>
<None Include="$(WebsocketsBinPath)libwebsockets.dll">
<DeploymentContent>true</DeploymentContent>
</None>
<None Include="$(SQLiteBinPath)sqlite3.dll">
<DeploymentContent>true</DeploymentContent>
</None>
<None Include="$(CurlBinPath)libcurl.dll">
<DeploymentContent>true</DeploymentContent>
</None>
<None Include="$(CurlBinPath)libeay32.dll">
<DeploymentContent>true</DeploymentContent>
</None>
<None Include="$(CurlBinPath)ssleay32.dll">
<DeploymentContent>true</DeploymentContent>
</None>
</ItemGroup>
</Project>

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_WINRT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@ -58,6 +58,8 @@ bool Animation3D::initWithFile(const std::string& filename, const std::string& a
Animation3DData animationdata;
if (bundle->load(fullPath) && bundle->loadAnimationData(animationName, &animationdata) && init(animationdata))
{
std::string key = fullPath + "#" + animationName;
Animation3DCache::getInstance()->addAnimation(key, this);
Bundle3D::destroyBundle(bundle);
return true;
}

View File

@ -33,6 +33,8 @@
#include "3d/CCSkybox.h"
#include "3d/CCTextureCube.h"
#include "2d/CCCamera.h"
NS_CC_BEGIN
Skybox::Skybox()
@ -150,19 +152,32 @@ void Skybox::draw(Renderer* renderer, const Mat4& transform, uint32_t flags)
void Skybox::onDraw(const Mat4& transform, uint32_t flags)
{
Mat4 trans(transform);
const cocos2d::Vec3 pos(Camera::getVisitingCamera()->getPosition3D());
trans.m[12] = pos.x;
trans.m[13] = pos.y;
trans.m[14] = pos.z;
auto state = getGLProgramState();
state->apply(transform);
state->apply(trans);
Vec4 color(_displayedColor.r / 255.f, _displayedColor.g / 255.f, _displayedColor.b / 255.f, 1.f);
state->setUniformVec4("u_color", color);
GLboolean depthFlag = glIsEnabled(GL_DEPTH_TEST);
GLint depthFunc;
GLboolean depthFlag = glIsEnabled(GL_DEPTH_TEST);
GLint depthFunc;
glGetIntegerv(GL_DEPTH_FUNC, &depthFunc);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
GLboolean cullFlag = glIsEnabled(GL_CULL_FACE);
GLint cullMode;
glGetIntegerv(GL_CULL_FACE_MODE, &cullMode);
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);
if (Configuration::getInstance()->supportsShareableVAO())
{
GL::bindVAO(_vao);
@ -191,6 +206,10 @@ void Skybox::onDraw(const Mat4& transform, uint32_t flags)
CC_INCREMENT_GL_DRAWN_BATCHES_AND_VERTICES(1, 8);
glCullFace(cullMode);
if (!cullFlag)
glDisable(GL_CULL_FACE);
glDepthFunc(depthFunc);
if (!depthFlag)
glDisable(GL_DEPTH_TEST);

View File

@ -573,7 +573,7 @@ void Sprite3D::createNode(NodeData* nodedata, Node* root, const MaterialDatas& m
}
for(const auto& it : nodedata->children)
{
createNode(it,node, matrialdatas, singleSprite);
createNode(it,node, matrialdatas, nodedata->children.size() == 1);
}
}

View File

@ -202,6 +202,12 @@ void Terrain::onDraw(const Mat4 &transform, uint32_t flags)
{
glEnable(GL_BLEND);
}
#if (CC_TARGET_PLATFORM == CC_PLATFORM_MAC) || (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) || (CC_TARGET_PLATFORM == CC_PLATFORM_LINUX)
if(_isDrawWire)//reset state.
{
glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);
}
#endif
}
bool Terrain::initHeightMap(const char * heightMap)
@ -872,9 +878,6 @@ void Terrain::Chunk::bindAndDraw()
glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_NORMAL,3,GL_FLOAT,GL_FALSE,sizeof(TerrainVertexData),(GLvoid *)offset);
glDrawElements(GL_TRIANGLES, (GLsizei)_chunkIndices._size, GL_UNSIGNED_SHORT, 0);
CC_INCREMENT_GL_DRAWN_BATCHES_AND_VERTICES(1, _chunkIndices._size);
#if (CC_TARGET_PLATFORM == CC_PLATFORM_MAC) || (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) || (CC_TARGET_PLATFORM == CC_PLATFORM_LINUX)
glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);
#endif
}
void Terrain::Chunk::generate(int imgWidth, int imageHei, int m, int n, const unsigned char * data)

View File

@ -1,611 +0,0 @@
/*
* cocos2d-x http://www.cocos2d-x.org
*
* Copyright (c) 2010-2011 - 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 "Audio.h"
#include "MediaStreamer.h"
//#include "CCCommon.h"
inline void ThrowIfFailed(HRESULT hr)
{
if (FAILED(hr))
{
// Set a breakpoint on this line to catch DX API errors.
throw Platform::Exception::CreateException(hr);
}
}
void AudioEngineCallbacks::Initialize(Audio *audio)
{
m_audio = audio;
}
// Called in the event of a critical system error which requires XAudio2
// to be closed down and restarted. The error code is given in error.
void _stdcall AudioEngineCallbacks::OnCriticalError(HRESULT Error)
{
UNUSED_PARAM(Error);
m_audio->SetEngineExperiencedCriticalError();
};
Audio::Audio() :
m_backgroundID(0),
m_soundEffctVolume(1.0f),
m_backgroundMusicVolume(1.0f)
{
}
void Audio::Initialize()
{
m_engineExperiencedCriticalError = false;
m_musicEngine = nullptr;
m_soundEffectEngine = nullptr;
m_musicMasteringVoice = nullptr;
m_soundEffectMasteringVoice = nullptr;
}
void Audio::CreateResources()
{
try
{
ThrowIfFailed(
XAudio2Create(&m_musicEngine)
);
#if defined(_DEBUG)
XAUDIO2_DEBUG_CONFIGURATION debugConfig = {0};
debugConfig.BreakMask = XAUDIO2_LOG_ERRORS;
debugConfig.TraceMask = XAUDIO2_LOG_ERRORS;
m_musicEngine->SetDebugConfiguration(&debugConfig);
#endif
m_musicEngineCallback.Initialize(this);
m_musicEngine->RegisterForCallbacks(&m_musicEngineCallback);
// This sample plays the equivalent of background music, which we tag on the mastering voice as AudioCategory_GameMedia.
// In ordinary usage, if we were playing the music track with no effects, we could route it entirely through
// Media Foundation. Here we are using XAudio2 to apply a reverb effect to the music, so we use Media Foundation to
// decode the data then we feed it through the XAudio2 pipeline as a separate Mastering Voice, so that we can tag it
// as Game Media.
// We default the mastering voice to 2 channels to simplify the reverb logic.
ThrowIfFailed(
m_musicEngine->CreateMasteringVoice(&m_musicMasteringVoice, XAUDIO2_DEFAULT_CHANNELS, XAUDIO2_DEFAULT_SAMPLERATE, 0, nullptr, nullptr, AudioCategory_GameMedia)
);
// Create a separate engine and mastering voice for sound effects in the sample
// Games will use many voices in a complex graph for audio, mixing all effects down to a
// single mastering voice.
// We are creating an entirely new engine instance and mastering voice in order to tag
// our sound effects with the audio category AudioCategory_GameEffects.
ThrowIfFailed(
XAudio2Create(&m_soundEffectEngine)
);
m_soundEffectEngineCallback.Initialize(this);
m_soundEffectEngine->RegisterForCallbacks(&m_soundEffectEngineCallback);
// We default the mastering voice to 2 channels to simplify the reverb logic.
ThrowIfFailed(
m_soundEffectEngine->CreateMasteringVoice(&m_soundEffectMasteringVoice, XAUDIO2_DEFAULT_CHANNELS, XAUDIO2_DEFAULT_SAMPLERATE, 0, nullptr, nullptr, AudioCategory_GameEffects)
);
}
catch (...)
{
m_engineExperiencedCriticalError = true;
}
}
unsigned int Audio::Hash(const char *key)
{
unsigned int len = strlen(key);
const char *end=key+len;
unsigned int hash;
for (hash = 0; key < end; key++)
{
hash *= 16777619;
hash ^= (unsigned int) (unsigned char) toupper(*key);
}
return (hash);
}
void Audio::ReleaseResources()
{
if (m_musicMasteringVoice != nullptr)
{
m_musicMasteringVoice->DestroyVoice();
m_musicMasteringVoice = nullptr;
}
if (m_soundEffectMasteringVoice != nullptr)
{
m_soundEffectMasteringVoice->DestroyVoice();
m_soundEffectMasteringVoice = nullptr;
}
EffectList::iterator EffectIter = m_soundEffects.begin();
for (; EffectIter != m_soundEffects.end(); EffectIter++)
{
if (EffectIter->second.m_soundEffectSourceVoice != nullptr)
{
EffectIter->second.m_soundEffectSourceVoice->DestroyVoice();
EffectIter->second.m_soundEffectSourceVoice = nullptr;
}
}
m_soundEffects.clear();
m_musicEngine = nullptr;
m_soundEffectEngine = nullptr;
}
void Audio::Start()
{
if (m_engineExperiencedCriticalError)
{
return;
}
if (! m_backgroundFile.empty())
PlayBackgroundMusic(m_backgroundFile.c_str(), m_backgroundLoop);
}
// This sample processes audio buffers during the render cycle of the application.
// As long as the sample maintains a high-enough frame rate, this approach should
// not glitch audio. In game code, it is best for audio buffers to be processed
// on a separate thread that is not synced to the main render loop of the game.
void Audio::Render()
{
if (m_engineExperiencedCriticalError)
{
ReleaseResources();
Initialize();
CreateResources();
Start();
if (m_engineExperiencedCriticalError)
{
return;
}
}
}
void Audio::PlayBackgroundMusic(const char* pszFilePath, bool bLoop)
{
m_backgroundFile = pszFilePath;
m_backgroundLoop = bLoop;
if (m_engineExperiencedCriticalError) {
return;
}
StopBackgroundMusic(true);
PlaySoundEffect(pszFilePath, bLoop, m_backgroundID, true);
}
void Audio::StopBackgroundMusic(bool bReleaseData)
{
if (m_engineExperiencedCriticalError) {
return;
}
StopSoundEffect(m_backgroundID);
if (bReleaseData){
UnloadSoundEffect(m_backgroundID);
RemoveFromList(m_backgroundID);
}
}
void Audio::PauseBackgroundMusic()
{
if (m_engineExperiencedCriticalError) {
return;
}
PauseSoundEffect(m_backgroundID);
}
void Audio::ResumeBackgroundMusic()
{
if (m_engineExperiencedCriticalError) {
return;
}
ResumeSoundEffect(m_backgroundID);
}
void Audio::RewindBackgroundMusic()
{
if (m_engineExperiencedCriticalError) {
return;
}
RewindSoundEffect(m_backgroundID);
}
bool Audio::IsBackgroundMusicPlaying()
{
return IsSoundEffectStarted(m_backgroundID);
}
void Audio::SetBackgroundVolume(float volume)
{
m_backgroundMusicVolume = volume;
if (m_engineExperiencedCriticalError) {
return;
}
if (m_soundEffects.end() != m_soundEffects.find(m_backgroundID))
{
m_soundEffects[m_backgroundID].m_soundEffectSourceVoice->SetVolume(volume);
}
}
float Audio::GetBackgroundVolume()
{
return m_backgroundMusicVolume;
}
void Audio::SetSoundEffectVolume(float volume)
{
m_soundEffctVolume = volume;
if (m_engineExperiencedCriticalError) {
return;
}
EffectList::iterator iter;
for (iter = m_soundEffects.begin(); iter != m_soundEffects.end(); iter++)
{
if (iter->first != m_backgroundID)
iter->second.m_soundEffectSourceVoice->SetVolume(m_soundEffctVolume);
}
}
float Audio::GetSoundEffectVolume()
{
return m_soundEffctVolume;
}
void Audio::PlaySoundEffect(const char* pszFilePath, bool bLoop, unsigned int& sound, bool isMusic)
{
sound = Hash(pszFilePath);
if (m_soundEffects.end() == m_soundEffects.find(sound))
{
PreloadSoundEffect(pszFilePath, isMusic);
}
if (m_soundEffects.end() == m_soundEffects.find(sound))
return;
m_soundEffects[sound].m_audioBuffer.LoopCount = bLoop ? XAUDIO2_LOOP_INFINITE : 0;
PlaySoundEffect(sound);
}
void Audio::PlaySoundEffect(unsigned int sound)
{
if (m_engineExperiencedCriticalError) {
return;
}
if (m_soundEffects.end() == m_soundEffects.find(sound))
return;
StopSoundEffect(sound);
ThrowIfFailed(
m_soundEffects[sound].m_soundEffectSourceVoice->SubmitSourceBuffer(&m_soundEffects[sound].m_audioBuffer)
);
if (m_engineExperiencedCriticalError) {
// If there's an error, then we'll recreate the engine on the next render pass
return;
}
SoundEffectData* soundEffect = &m_soundEffects[sound];
HRESULT hr = soundEffect->m_soundEffectSourceVoice->Start();
if FAILED(hr)
{
m_engineExperiencedCriticalError = true;
return;
}
m_soundEffects[sound].m_soundEffectStarted = true;
}
void Audio::StopSoundEffect(unsigned int sound)
{
if (m_engineExperiencedCriticalError) {
return;
}
if (m_soundEffects.end() == m_soundEffects.find(sound))
return;
HRESULT hr = m_soundEffects[sound].m_soundEffectSourceVoice->Stop();
HRESULT hr1 = m_soundEffects[sound].m_soundEffectSourceVoice->FlushSourceBuffers();
if (FAILED(hr) || FAILED(hr1))
{
// If there's an error, then we'll recreate the engine on the next render pass
m_engineExperiencedCriticalError = true;
return;
}
m_soundEffects[sound].m_soundEffectStarted = false;
}
void Audio::PauseSoundEffect(unsigned int sound)
{
if (m_engineExperiencedCriticalError) {
return;
}
if (m_soundEffects.end() == m_soundEffects.find(sound))
return;
HRESULT hr = m_soundEffects[sound].m_soundEffectSourceVoice->Stop();
if FAILED(hr)
{
// If there's an error, then we'll recreate the engine on the next render pass
m_engineExperiencedCriticalError = true;
return;
}
}
void Audio::ResumeSoundEffect(unsigned int sound)
{
if (m_engineExperiencedCriticalError) {
return;
}
if (m_soundEffects.end() == m_soundEffects.find(sound))
return;
HRESULT hr = m_soundEffects[sound].m_soundEffectSourceVoice->Start();
if FAILED(hr)
{
// If there's an error, then we'll recreate the engine on the next render pass
m_engineExperiencedCriticalError = true;
return;
}
}
void Audio::RewindSoundEffect(unsigned int sound)
{
if (m_engineExperiencedCriticalError) {
return;
}
if (m_soundEffects.end() == m_soundEffects.find(sound))
return;
StopSoundEffect(sound);
PlaySoundEffect(sound);
}
void Audio::PauseAllSoundEffects()
{
if (m_engineExperiencedCriticalError) {
return;
}
EffectList::iterator iter;
for (iter = m_soundEffects.begin(); iter != m_soundEffects.end(); iter++)
{
if (iter->first != m_backgroundID)
PauseSoundEffect(iter->first);
}
}
void Audio::ResumeAllSoundEffects()
{
if (m_engineExperiencedCriticalError) {
return;
}
EffectList::iterator iter;
for (iter = m_soundEffects.begin(); iter != m_soundEffects.end(); iter++)
{
if (iter->first != m_backgroundID)
ResumeSoundEffect(iter->first);
}
}
void Audio::StopAllSoundEffects(bool bReleaseData)
{
if (m_engineExperiencedCriticalError) {
return;
}
EffectList::iterator iter;
for (iter = m_soundEffects.begin(); iter != m_soundEffects.end(); iter++)
{
if (iter->first != m_backgroundID){
StopSoundEffect(iter->first);
if (bReleaseData)
{
UnloadSoundEffect(iter->first);
}
}
}
if (bReleaseData)
{
for (iter = m_soundEffects.begin(); iter != m_soundEffects.end();)
{
if (iter->first != m_backgroundID){
m_soundEffects.erase(iter++);
}
else
{
iter++;
}
}
}
}
bool Audio::IsSoundEffectStarted(unsigned int sound)
{
if (m_soundEffects.end() == m_soundEffects.find(sound))
return false;
return m_soundEffects[sound].m_soundEffectStarted;
}
std::wstring CCUtf8ToUnicode(const char * pszUtf8Str)
{
std::wstring ret;
do
{
if (! pszUtf8Str) break;
size_t len = strlen(pszUtf8Str);
if (len <= 0) break;
++len;
wchar_t * pwszStr = new wchar_t[len];
if (! pwszStr) break;
pwszStr[len - 1] = 0;
MultiByteToWideChar(CP_UTF8, 0, pszUtf8Str, len, pwszStr, len);
ret = pwszStr;
if(pwszStr) {
delete[] (pwszStr);
(pwszStr) = 0;
}
} while (0);
return ret;
}
std::string CCUnicodeToUtf8(const wchar_t* pwszStr)
{
std::string ret;
do
{
if(! pwszStr) break;
size_t len = wcslen(pwszStr);
if (len <= 0) break;
char * pszUtf8Str = new char[len*3 + 1];
WideCharToMultiByte(CP_UTF8, 0, pwszStr, len+1, pszUtf8Str, len*3 + 1, 0, 0);
ret = pszUtf8Str;
if(pszUtf8Str) {
delete[] (pszUtf8Str);
(pszUtf8Str) = 0;
}
}while(0);
return ret;
}
void Audio::PreloadSoundEffect(const char* pszFilePath, bool isMusic)
{
if (m_engineExperiencedCriticalError) {
return;
}
int sound = Hash(pszFilePath);
MediaStreamer mediaStreamer;
mediaStreamer.Initialize(CCUtf8ToUnicode(pszFilePath).c_str());
m_soundEffects[sound].m_soundID = sound;
uint32 bufferLength = mediaStreamer.GetMaxStreamLengthInBytes();
m_soundEffects[sound].m_soundEffectBufferData = new byte[bufferLength];
mediaStreamer.ReadAll(m_soundEffects[sound].m_soundEffectBufferData, bufferLength, &m_soundEffects[sound].m_soundEffectBufferLength);
if (isMusic)
{
XAUDIO2_SEND_DESCRIPTOR descriptors[1];
descriptors[0].pOutputVoice = m_musicMasteringVoice;
descriptors[0].Flags = 0;
XAUDIO2_VOICE_SENDS sends = {0};
sends.SendCount = 1;
sends.pSends = descriptors;
ThrowIfFailed(
m_musicEngine->CreateSourceVoice(&m_soundEffects[sound].m_soundEffectSourceVoice,
&(mediaStreamer.GetOutputWaveFormatEx()), 0, 1.0f, &m_voiceContext, &sends)
);
//fix bug: set a initial volume
m_soundEffects[sound].m_soundEffectSourceVoice->SetVolume(m_backgroundMusicVolume);
} else
{
XAUDIO2_SEND_DESCRIPTOR descriptors[1];
descriptors[0].pOutputVoice = m_soundEffectMasteringVoice;
descriptors[0].Flags = 0;
XAUDIO2_VOICE_SENDS sends = {0};
sends.SendCount = 1;
sends.pSends = descriptors;
ThrowIfFailed(
m_soundEffectEngine->CreateSourceVoice(&m_soundEffects[sound].m_soundEffectSourceVoice,
&(mediaStreamer.GetOutputWaveFormatEx()), 0, 1.0f, &m_voiceContext, &sends, nullptr)
);
//fix bug: set a initial volume
m_soundEffects[sound].m_soundEffectSourceVoice->SetVolume(m_soundEffctVolume);
}
m_soundEffects[sound].m_soundEffectSampleRate = mediaStreamer.GetOutputWaveFormatEx().nSamplesPerSec;
// Queue in-memory buffer for playback
ZeroMemory(&m_soundEffects[sound].m_audioBuffer, sizeof(m_soundEffects[sound].m_audioBuffer));
m_soundEffects[sound].m_audioBuffer.AudioBytes = m_soundEffects[sound].m_soundEffectBufferLength;
m_soundEffects[sound].m_audioBuffer.pAudioData = m_soundEffects[sound].m_soundEffectBufferData;
m_soundEffects[sound].m_audioBuffer.pContext = &m_soundEffects[sound];
m_soundEffects[sound].m_audioBuffer.Flags = XAUDIO2_END_OF_STREAM;
m_soundEffects[sound].m_audioBuffer.LoopCount = 0;
}
void Audio::UnloadSoundEffect(const char* pszFilePath)
{
int sound = Hash(pszFilePath);
UnloadSoundEffect(sound);
RemoveFromList(sound);
}
void Audio::UnloadSoundEffect(unsigned int sound)
{
if (m_engineExperiencedCriticalError) {
return;
}
if (m_soundEffects.end() == m_soundEffects.find(sound))
return;
m_soundEffects[sound].m_soundEffectSourceVoice->DestroyVoice();
if(m_soundEffects[sound].m_soundEffectBufferData)
delete [] m_soundEffects[sound].m_soundEffectBufferData;
m_soundEffects[sound].m_soundEffectBufferData = nullptr;
m_soundEffects[sound].m_soundEffectSourceVoice = nullptr;
m_soundEffects[sound].m_soundEffectStarted = false;
ZeroMemory(&m_soundEffects[sound].m_audioBuffer, sizeof(m_soundEffects[sound].m_audioBuffer));
}
void Audio::RemoveFromList( unsigned int sound )
{
m_soundEffects.erase(sound);
}

View File

@ -1,167 +0,0 @@
//// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
//// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
//// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
//// PARTICULAR PURPOSE.
////
//// Copyright (c) Microsoft Corporation. All rights reserved
// For licensing information relating to this distribution please see Third Party Notices file.
#pragma once
#include <wrl.h>
#include <d3d11_1.h>
#include <agile.h>
#include <DirectXMath.h>
#include <memory>
#define XAUDIO2_HELPER_FUNCTIONS 1
#include <xaudio2.h>
#include <map>
static const int STREAMING_BUFFER_SIZE = 65536;
static const int MAX_BUFFER_COUNT = 3;
#define UNUSED_PARAM(unusedparam) (void)unusedparam
struct SoundEffectData
{
unsigned int m_soundID;
IXAudio2SourceVoice* m_soundEffectSourceVoice;
XAUDIO2_BUFFER m_audioBuffer;
byte* m_soundEffectBufferData;
uint32 m_soundEffectBufferLength;
uint32 m_soundEffectSampleRate;
bool m_soundEffectStarted;
};
class Audio;
class AudioEngineCallbacks: public IXAudio2EngineCallback
{
private:
Audio *m_audio;
public :
AudioEngineCallbacks(){};
void Initialize(Audio* audio);
// Called by XAudio2 just before an audio processing pass begins.
void _stdcall OnProcessingPassStart(){};
// Called just after an audio processing pass ends.
void _stdcall OnProcessingPassEnd(){};
// Called in the event of a critical system error which requires XAudio2
// to be closed down and restarted. The error code is given in Error.
void _stdcall OnCriticalError(HRESULT Error);
};
struct StreamingVoiceContext : public IXAudio2VoiceCallback
{
STDMETHOD_(void, OnVoiceProcessingPassStart)(UINT32){}
STDMETHOD_(void, OnVoiceProcessingPassEnd)(){}
STDMETHOD_(void, OnStreamEnd)(){}
STDMETHOD_(void, OnBufferStart)(void*)
{
ResetEvent(hBufferEndEvent);
}
STDMETHOD_(void, OnBufferEnd)(void* pContext)
{
//Trigger the event for the music stream.
if (pContext == 0) {
SetEvent(hBufferEndEvent);
}
}
STDMETHOD_(void, OnLoopEnd)(void*){}
STDMETHOD_(void, OnVoiceError)(void*, HRESULT){}
HANDLE hBufferEndEvent;
StreamingVoiceContext() : hBufferEndEvent(CreateEventEx(NULL, FALSE, FALSE, NULL))
{
}
virtual ~StreamingVoiceContext()
{
CloseHandle(hBufferEndEvent);
}
};
class Audio
{
private:
IXAudio2* m_musicEngine;
IXAudio2* m_soundEffectEngine;
IXAudio2MasteringVoice* m_musicMasteringVoice;
IXAudio2MasteringVoice* m_soundEffectMasteringVoice;
StreamingVoiceContext m_voiceContext;
typedef std::map<unsigned int, SoundEffectData> EffectList;
typedef std::pair<unsigned int, SoundEffectData> Effect;
EffectList m_soundEffects;
unsigned int m_backgroundID;
std::string m_backgroundFile;
bool m_backgroundLoop;
float m_soundEffctVolume;
float m_backgroundMusicVolume;
bool m_engineExperiencedCriticalError;
AudioEngineCallbacks m_musicEngineCallback;
AudioEngineCallbacks m_soundEffectEngineCallback;
unsigned int Hash(const char* key);
public:
Audio();
void Initialize();
void CreateResources();
void ReleaseResources();
void Start();
void Render();
// This flag can be used to tell when the audio system is experiencing critial errors.
// XAudio2 gives a critical error when the user unplugs their headphones, and a new
// speaker configuration is generated.
void SetEngineExperiencedCriticalError()
{
m_engineExperiencedCriticalError = true;
}
bool HasEngineExperiencedCriticalError()
{
return m_engineExperiencedCriticalError;
}
void PlayBackgroundMusic(const char* pszFilePath, bool bLoop);
void StopBackgroundMusic(bool bReleaseData);
void PauseBackgroundMusic();
void ResumeBackgroundMusic();
void RewindBackgroundMusic();
bool IsBackgroundMusicPlaying();
void SetBackgroundVolume(float volume);
float GetBackgroundVolume();
void SetSoundEffectVolume(float volume);
float GetSoundEffectVolume();
void PlaySoundEffect(const char* pszFilePath, bool bLoop, unsigned int& sound, bool isMusic = false);
void PlaySoundEffect(unsigned int sound);
bool IsSoundEffectStarted(unsigned int sound);
void StopSoundEffect(unsigned int sound);
void PauseSoundEffect(unsigned int sound);
void ResumeSoundEffect(unsigned int sound);
void RewindSoundEffect(unsigned int sound);
void PauseAllSoundEffects();
void ResumeAllSoundEffects();
void StopAllSoundEffects(bool bReleaseData);
void PreloadSoundEffect(const char* pszFilePath, bool isMusic = false);
void UnloadSoundEffect(const char* pszFilePath);
void UnloadSoundEffect(unsigned int sound);
private:
void RemoveFromList(unsigned int sound);
};

View File

@ -1,216 +0,0 @@
/*
* cocos2d-x http://www.cocos2d-x.org
*
* Copyright (c) 2010-2011 - 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 "MediaStreamer.h"
#include <wrl\wrappers\corewrappers.h>
#include <ppltasks.h>
using namespace Microsoft::WRL;
using namespace Windows::Storage;
using namespace Windows::Storage::FileProperties;
using namespace Windows::Storage::Streams;
using namespace Windows::Foundation;
using namespace Windows::ApplicationModel;
using namespace Concurrency;
#ifndef MAKEFOURCC
#define MAKEFOURCC(ch0, ch1, ch2, ch3) \
((uint32)(byte)(ch0) | ((uint32)(byte)(ch1) << 8) | \
((uint32)(byte)(ch2) << 16) | ((uint32)(byte)(ch3) << 24 ))
#endif /* defined(MAKEFOURCC) */
inline void ThrowIfFailed(HRESULT hr)
{
if (FAILED(hr))
{
// Set a breakpoint on this line to catch DX API errors.
throw Platform::Exception::CreateException(hr);
}
}
MediaStreamer::MediaStreamer() :
m_offset(0)
{
ZeroMemory(&m_waveFormat, sizeof(m_waveFormat));
m_location = Package::Current->InstalledLocation;
m_locationPath = Platform::String::Concat(m_location->Path, "\\Assets\\Resources\\");
}
MediaStreamer::~MediaStreamer()
{
}
Platform::Array<byte>^ MediaStreamer::ReadData(
_In_ Platform::String^ filename
)
{
CREATEFILE2_EXTENDED_PARAMETERS extendedParams = {0};
extendedParams.dwSize = sizeof(CREATEFILE2_EXTENDED_PARAMETERS);
extendedParams.dwFileAttributes = FILE_ATTRIBUTE_NORMAL;
extendedParams.dwFileFlags = FILE_FLAG_SEQUENTIAL_SCAN;
extendedParams.dwSecurityQosFlags = SECURITY_ANONYMOUS;
extendedParams.lpSecurityAttributes = nullptr;
extendedParams.hTemplateFile = nullptr;
Wrappers::FileHandle file(
CreateFile2(
filename->Data(),
GENERIC_READ,
FILE_SHARE_READ,
OPEN_EXISTING,
&extendedParams
)
);
if (file.Get()==INVALID_HANDLE_VALUE)
{
throw ref new Platform::FailureException();
}
FILE_STANDARD_INFO fileInfo = {0};
if (!GetFileInformationByHandleEx(
file.Get(),
FileStandardInfo,
&fileInfo,
sizeof(fileInfo)
))
{
throw ref new Platform::FailureException();
}
if (fileInfo.EndOfFile.HighPart != 0)
{
throw ref new Platform::OutOfMemoryException();
}
Platform::Array<byte>^ fileData = ref new Platform::Array<byte>(fileInfo.EndOfFile.LowPart);
if (!ReadFile(
file.Get(),
fileData->Data,
fileData->Length,
nullptr,
nullptr
) )
{
throw ref new Platform::FailureException();
}
return fileData;
}
void MediaStreamer::Initialize(__in const WCHAR* url)
{
WCHAR filePath[MAX_PATH] = {0};
if ((wcslen(url) > 1 && url[1] == ':'))
{
// path start with "x:", is absolute path
wcscat_s(filePath, url);
}
else if (wcslen(url) > 0
&& (L'/' == url[0] || L'\\' == url[0]))
{
// path start with '/' or '\', is absolute path without driver name
wcscat_s(filePath, m_locationPath->Data());
// remove '/' or '\\'
wcscat_s(filePath, (const WCHAR*)url[1]);
}else
{
wcscat_s(filePath, m_locationPath->Data());
wcscat_s(filePath, url);
}
Platform::Array<byte>^ data = ReadData(ref new Platform::String(filePath));
UINT32 length = data->Length;
const byte * dataPtr = data->Data;
UINT32 offset = 0;
DWORD riffDataSize = 0;
auto ReadChunk = [&length, &offset, &dataPtr, &riffDataSize](DWORD fourcc, DWORD& outChunkSize, DWORD& outChunkPos) -> HRESULT
{
while (true)
{
if (offset + sizeof(DWORD) * 2 >= length)
{
return E_FAIL;
}
// Read two DWORDs.
DWORD chunkType = *reinterpret_cast<const DWORD *>(&dataPtr[offset]);
DWORD chunkSize = *reinterpret_cast<const DWORD *>(&dataPtr[offset + sizeof(DWORD)]);
offset += sizeof(DWORD) * 2;
if (chunkType == MAKEFOURCC('R', 'I', 'F', 'F'))
{
riffDataSize = chunkSize;
chunkSize = sizeof(DWORD);
outChunkSize = sizeof(DWORD);
outChunkPos = offset;
}
else
{
outChunkSize = chunkSize;
outChunkPos = offset;
}
offset += chunkSize;
if (chunkType == fourcc)
{
return S_OK;
}
}
};
// Locate riff chunk, check the file type.
DWORD chunkSize = 0;
DWORD chunkPos = 0;
ThrowIfFailed(ReadChunk(MAKEFOURCC('R', 'I', 'F', 'F'), chunkSize, chunkPos));
if (*reinterpret_cast<const DWORD *>(&dataPtr[chunkPos]) != MAKEFOURCC('W', 'A', 'V', 'E')) ThrowIfFailed(E_FAIL);
// Locate 'fmt ' chunk, copy to WAVEFORMATEXTENSIBLE.
ThrowIfFailed(ReadChunk(MAKEFOURCC('f', 'm', 't', ' '), chunkSize, chunkPos));
ThrowIfFailed((chunkSize <= sizeof(m_waveFormat)) ? S_OK : E_FAIL);
CopyMemory(&m_waveFormat, &dataPtr[chunkPos], chunkSize);
// Locate the 'data' chunk and copy its contents to a buffer.
ThrowIfFailed(ReadChunk(MAKEFOURCC('d', 'a', 't', 'a'), chunkSize, chunkPos));
m_data.resize(chunkSize);
CopyMemory(m_data.data(), &dataPtr[chunkPos], chunkSize);
m_offset = 0;
}
void MediaStreamer::ReadAll(uint8* buffer, uint32 maxBufferSize, uint32* bufferLength)
{
UINT32 toCopy = m_data.size() - m_offset;
if (toCopy > maxBufferSize) toCopy = maxBufferSize;
CopyMemory(buffer, m_data.data(), toCopy);
*bufferLength = toCopy;
m_offset += toCopy;
if (m_offset > m_data.size()) m_offset = m_data.size();
}
void MediaStreamer::Restart()
{
m_offset = 0;
}

View File

@ -1,58 +0,0 @@
/*
* cocos2d-x http://www.cocos2d-x.org
*
* Copyright (c) 2010-2011 - 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 <vector>
#include <xaudio2.h>
ref class MediaStreamer
{
private:
WAVEFORMATEX m_waveFormat;
uint32 m_maxStreamLengthInBytes;
std::vector<byte> m_data;
UINT32 m_offset;
Platform::Array<byte>^ ReadData(
_In_ Platform::String^ filename
);
internal:
Windows::Storage::StorageFolder^ m_location;
Platform::String^ m_locationPath;
public:
virtual ~MediaStreamer();
internal:
MediaStreamer();
WAVEFORMATEX& GetOutputWaveFormatEx()
{
return m_waveFormat;
}
UINT32 GetMaxStreamLengthInBytes()
{
return m_data.size();
}
void Initialize(_In_ const WCHAR* url);
void ReadAll(uint8* buffer, uint32 maxBufferSize, uint32* bufferLength);
void Restart();
};

View File

@ -1,198 +0,0 @@
/*
* cocos2d-x http://www.cocos2d-x.org
*
* Copyright (c) 2010-2011 - 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 "SimpleAudioEngine.h"
#include "Audio.h"
#include <map>
//#include "CCCommon.h"
using namespace std;
namespace CocosDenshion {
Audio* s_audioController = NULL;
bool s_initialized = false;
SimpleAudioEngine* SimpleAudioEngine::getInstance()
{
static SimpleAudioEngine s_SharedEngine;
return &s_SharedEngine;
}
static Audio* sharedAudioController()
{
if (! s_audioController || !s_initialized)
{
if(s_audioController == NULL)
{
s_audioController = new Audio;
}
s_audioController->Initialize();
s_audioController->CreateResources();
s_initialized = true;
}
return s_audioController;
}
SimpleAudioEngine::SimpleAudioEngine()
{
}
SimpleAudioEngine::~SimpleAudioEngine()
{
}
void SimpleAudioEngine::end()
{
sharedAudioController()->StopBackgroundMusic(true);
sharedAudioController()->StopAllSoundEffects(true);
sharedAudioController()->ReleaseResources();
s_initialized = false;
}
//////////////////////////////////////////////////////////////////////////
// BackgroundMusic
//////////////////////////////////////////////////////////////////////////
void SimpleAudioEngine::playBackgroundMusic(const char* pszFilePath, bool bLoop)
{
if (! pszFilePath)
{
return;
}
sharedAudioController()->PlayBackgroundMusic(pszFilePath, bLoop);
}
void SimpleAudioEngine::stopBackgroundMusic(bool bReleaseData)
{
sharedAudioController()->StopBackgroundMusic(bReleaseData);
}
void SimpleAudioEngine::pauseBackgroundMusic()
{
sharedAudioController()->PauseBackgroundMusic();
}
void SimpleAudioEngine::resumeBackgroundMusic()
{
sharedAudioController()->ResumeBackgroundMusic();
}
void SimpleAudioEngine::rewindBackgroundMusic()
{
sharedAudioController()->RewindBackgroundMusic();
}
bool SimpleAudioEngine::willPlayBackgroundMusic()
{
return false;
}
bool SimpleAudioEngine::isBackgroundMusicPlaying()
{
return sharedAudioController()->IsBackgroundMusicPlaying();
}
//////////////////////////////////////////////////////////////////////////
// effect function
//////////////////////////////////////////////////////////////////////////
unsigned int SimpleAudioEngine::playEffect(const char* pszFilePath, bool bLoop,float pitch, float pan, float gain)
{
unsigned int sound;
sharedAudioController()->PlaySoundEffect(pszFilePath, bLoop, sound);
// TODO: need to support playEffect parameters
return sound;
}
void SimpleAudioEngine::stopEffect(unsigned int nSoundId)
{
sharedAudioController()->StopSoundEffect(nSoundId);
}
void SimpleAudioEngine::preloadEffect(const char* pszFilePath)
{
sharedAudioController()->PreloadSoundEffect(pszFilePath);
}
void SimpleAudioEngine::pauseEffect(unsigned int nSoundId)
{
sharedAudioController()->PauseSoundEffect(nSoundId);
}
void SimpleAudioEngine::resumeEffect(unsigned int nSoundId)
{
sharedAudioController()->ResumeSoundEffect(nSoundId);
}
void SimpleAudioEngine::pauseAllEffects()
{
sharedAudioController()->PauseAllSoundEffects();
}
void SimpleAudioEngine::resumeAllEffects()
{
sharedAudioController()->ResumeAllSoundEffects();
}
void SimpleAudioEngine::stopAllEffects()
{
sharedAudioController()->StopAllSoundEffects(false);
}
void SimpleAudioEngine::preloadBackgroundMusic(const char* pszFilePath)
{
UNUSED_PARAM(pszFilePath);
}
void SimpleAudioEngine::unloadEffect(const char* pszFilePath)
{
sharedAudioController()->UnloadSoundEffect(pszFilePath);
}
//////////////////////////////////////////////////////////////////////////
// volume interface
//////////////////////////////////////////////////////////////////////////
float SimpleAudioEngine::getBackgroundMusicVolume()
{
return sharedAudioController()->GetBackgroundVolume();
}
void SimpleAudioEngine::setBackgroundMusicVolume(float volume)
{
sharedAudioController()->SetBackgroundVolume((volume<=0.0f)? 0.0f : volume);
}
float SimpleAudioEngine::getEffectsVolume()
{
return sharedAudioController()->GetSoundEffectVolume();
}
void SimpleAudioEngine::setEffectsVolume(float volume)
{
sharedAudioController()->SetSoundEffectVolume((volume<=0.0f)? 0.0f : volume);
}
} // end of namespace CocosDenshion

View File

@ -257,6 +257,12 @@ THE SOFTWARE.
#define CC_USE_CULLING 1
#endif
/** Support PNG or not. If your application don't use png format picture, you can undefine this macro to save package size.
*/
#ifndef CC_USE_PNG
#define CC_USE_PNG 1
#endif // CC_USE_PNG
/** Support JPEG or not. If your application don't use jpeg format picture, you can undefine this macro to save package size.
*/
#ifndef CC_USE_JPEG
@ -277,6 +283,17 @@ THE SOFTWARE.
#endif
#endif // CC_USE_WEBP
/** Support WIC (Windows Image Component) or not. Replaces PNG, TIFF and JPEG
*/
#ifndef CC_USE_WIC
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)
#define CC_USE_WIC 1
#undef CC_USE_TIFF
#undef CC_USE_JPEG
#undef CC_USE_PNG
#endif
#endif // CC_USE_WIC
/** Enable Script binding. */
#ifndef CC_ENABLE_SCRIPT_BINDING
#define CC_ENABLE_SCRIPT_BINDING 1

View File

@ -31,7 +31,7 @@ NS_CC_BEGIN
CC_DLL const char* cocos2dVersion()
{
return "cocos2d-x 3.6alpha0";
return "cocos2d-x 3.6beta0";
}
NS_CC_END

View File

@ -199,22 +199,27 @@ void ActionTimeline::step(float delta)
}
_time += delta * _timeSpeed;
_currentFrame = (int)(_time / _frameInternal);
stepToFrame(_currentFrame);
if(_time > _endFrame * _frameInternal)
if(_time < _endFrame * _frameInternal)
{
_currentFrame = (int)(_time / _frameInternal);
stepToFrame(_currentFrame);
}
else
{
if(_lastFrameListener != nullptr)
_lastFrameListener();
_playing = _loop;
if(!_playing)
{
_time = _endFrame * _frameInternal;
else
_currentFrame = (int)(_time / _frameInternal);
stepToFrame(_currentFrame);
}
else
gotoFrameAndPlay(_startFrame, _endFrame, _loop);
}
}
typedef std::function<void(Node*)> tCallBack;

View File

@ -247,11 +247,7 @@ namespace cocostudio
while (child)
{
std::string attriname = child->Name();
if (attriname == "Children")
{
break;
}
else if (attriname == "Position")
if (attriname == "Position")
{
attribute = child->FirstAttribute();

View File

@ -558,11 +558,7 @@ namespace cocostudio
while (child)
{
std::string attriname = child->Name();
if (attriname == "Children")
{
break;
}
else if (attriname == "Position")
if (attriname == "Position")
{
attribute = child->FirstAttribute();

View File

@ -602,7 +602,7 @@ void _spDrawOrderTimeline_apply (const spTimeline* timeline, spSkeleton* skeleto
drawOrderToSetupIndex = self->drawOrders[frameIndex];
if (!drawOrderToSetupIndex)
memcpy(skeleton->drawOrder, skeleton->slots, self->slotsCount * sizeof(int));
memcpy(skeleton->drawOrder, skeleton->slots, self->slotsCount * sizeof(spSlot*));
else {
for (i = 0; i < self->slotsCount; ++i)
skeleton->drawOrder[i] = skeleton->slots[drawOrderToSetupIndex[i]];
@ -659,12 +659,8 @@ void _spFFDTimeline_apply (const spTimeline* timeline, spSkeleton* skeleton, flo
spSlot *slot = skeleton->slots[self->slotIndex];
if (slot->attachment != self->attachment) return;
if (time < self->frames[0]) {
slot->attachmentVerticesCount = 0;
return; /* Time is before first frame. */
}
if (time < self->frames[0]) return; /* Time is before first frame. */
if (slot->attachmentVerticesCount != self->frameVerticesCount) alpha = 1; // Don't mix from uninitialized slot vertices.
if (slot->attachmentVerticesCount < self->frameVerticesCount) {
if (slot->attachmentVerticesCapacity < self->frameVerticesCount) {
FREE(slot->attachmentVertices);
@ -672,6 +668,7 @@ void _spFFDTimeline_apply (const spTimeline* timeline, spSkeleton* skeleton, flo
slot->attachmentVerticesCapacity = self->frameVerticesCount;
}
}
if (slot->attachmentVerticesCount != self->frameVerticesCount) alpha = 1; /* Don't mix from uninitialized slot vertices. */
slot->attachmentVerticesCount = self->frameVerticesCount;
if (time >= self->frames[self->framesCount - 1]) {
@ -789,3 +786,51 @@ void spIkConstraintTimeline_setFrame (spIkConstraintTimeline* self, int frameInd
self->frames[frameIndex + 1] = mix;
self->frames[frameIndex + 2] = (float)bendDirection;
}
/**/
void _spFlipTimeline_apply (const spTimeline* timeline, spSkeleton* skeleton, float lastTime, float time,
spEvent** firedEvents, int* eventsCount, float alpha) {
int frameIndex;
spFlipTimeline* self = (spFlipTimeline*)timeline;
if (time < self->frames[0]) {
if (lastTime > time) _spFlipTimeline_apply(timeline, skeleton, lastTime, (float)INT_MAX, 0, 0, 0);
return;
} else if (lastTime > time) /**/
lastTime = -1;
frameIndex = (time >= self->frames[self->framesCount - 2] ?
self->framesCount : binarySearch(self->frames, self->framesCount, time, 2)) - 2;
if (self->frames[frameIndex] < lastTime) return;
if (self->x)
skeleton->bones[self->boneIndex]->flipX = (int)self->frames[frameIndex + 1];
else
skeleton->bones[self->boneIndex]->flipY = (int)self->frames[frameIndex + 1];
}
void _spFlipTimeline_dispose (spTimeline* timeline) {
spFlipTimeline* self = SUB_CAST(spFlipTimeline, timeline);
_spTimeline_deinit(SUPER(self));
FREE(self->frames);
FREE(self);
}
spFlipTimeline* spFlipTimeline_create (int framesCount, int/*bool*/x) {
spFlipTimeline* self = NEW(spFlipTimeline);
_spTimeline_init(SUPER(self), x ? SP_TIMELINE_FLIPX : SP_TIMELINE_FLIPY, _spFlipTimeline_dispose, _spFlipTimeline_apply);
CONST_CAST(int, self->x) = x;
CONST_CAST(int, self->framesCount) = framesCount << 1;
CONST_CAST(float*, self->frames) = CALLOC(float, self->framesCount);
return self;
}
void spFlipTimeline_setFrame (spFlipTimeline* self, int frameIndex, float time, int/*bool*/flip) {
frameIndex <<= 1;
self->frames[frameIndex] = time;
self->frames[frameIndex + 1] = (float)flip;
}
/**/

View File

@ -41,12 +41,21 @@ extern "C" {
typedef struct spTimeline spTimeline;
struct spSkeleton;
typedef struct {
typedef struct spAnimation {
const char* const name;
float duration;
int timelinesCount;
spTimeline** timelines;
#ifdef __cplusplus
spAnimation() :
name(0),
duration(0),
timelinesCount(0),
timelines(0) {
}
#endif
} spAnimation;
spAnimation* spAnimation_create (const char* name, int timelinesCount);
@ -84,13 +93,21 @@ typedef enum {
SP_TIMELINE_EVENT,
SP_TIMELINE_DRAWORDER,
SP_TIMELINE_FFD,
SP_TIMELINE_IKCONSTRAINT
SP_TIMELINE_IKCONSTRAINT,
SP_TIMELINE_FLIPX,
SP_TIMELINE_FLIPY
} spTimelineType;
struct spTimeline {
const spTimelineType type;
const void* const vtable;
#ifdef __cplusplus
spTimeline() :
type(SP_TIMELINE_SCALE),
vtable(0) {
}
#endif
};
void spTimeline_dispose (spTimeline* self);
@ -112,9 +129,16 @@ typedef spTimeline Timeline;
/**/
typedef struct {
typedef struct spCurveTimeline {
spTimeline super;
float* curves; /* type, x, y, ... */
#ifdef __cplusplus
spCurveTimeline() :
super(),
curves(0) {
}
#endif
} spCurveTimeline;
void spCurveTimeline_setLinear (spCurveTimeline* self, int frameIndex);
@ -141,7 +165,20 @@ typedef struct spBaseTimeline {
int const framesCount;
float* const frames; /* time, angle, ... for rotate. time, x, y, ... for translate and scale. */
int boneIndex;
} spRotateTimeline;
#ifdef __cplusplus
spBaseTimeline() :
super(),
framesCount(0),
frames(0),
boneIndex(0) {
}
#endif
} spBaseTimeline;
/**/
typedef struct spBaseTimeline spRotateTimeline;
spRotateTimeline* spRotateTimeline_create (int framesCount);
@ -183,11 +220,20 @@ typedef spScaleTimeline ScaleTimeline;
/**/
typedef struct {
typedef struct spColorTimeline {
spCurveTimeline super;
int const framesCount;
float* const frames; /* time, r, g, b, a, ... */
int slotIndex;
#ifdef __cplusplus
spColorTimeline() :
super(),
framesCount(0),
frames(0),
slotIndex(0) {
}
#endif
} spColorTimeline;
spColorTimeline* spColorTimeline_create (int framesCount);
@ -202,12 +248,22 @@ typedef spColorTimeline ColorTimeline;
/**/
typedef struct {
typedef struct spAttachmentTimeline {
spTimeline super;
int const framesCount;
float* const frames; /* time, ... */
int slotIndex;
const char** const attachmentNames;
#ifdef __cplusplus
spAttachmentTimeline() :
super(),
framesCount(0),
frames(0),
slotIndex(0),
attachmentNames(0) {
}
#endif
} spAttachmentTimeline;
spAttachmentTimeline* spAttachmentTimeline_create (int framesCount);
@ -223,11 +279,20 @@ typedef spAttachmentTimeline AttachmentTimeline;
/**/
typedef struct {
typedef struct spEventTimeline {
spTimeline super;
int const framesCount;
float* const frames; /* time, ... */
spEvent** const events;
#ifdef __cplusplus
spEventTimeline() :
super(),
framesCount(0),
frames(0),
events(0) {
}
#endif
} spEventTimeline;
spEventTimeline* spEventTimeline_create (int framesCount);
@ -242,12 +307,22 @@ typedef spEventTimeline EventTimeline;
/**/
typedef struct {
typedef struct spDrawOrderTimeline {
spTimeline super;
int const framesCount;
float* const frames; /* time, ... */
const int** const drawOrders;
int const slotsCount;
#ifdef __cplusplus
spDrawOrderTimeline() :
super(),
framesCount(0),
frames(0),
drawOrders(0),
slotsCount(0) {
}
#endif
} spDrawOrderTimeline;
spDrawOrderTimeline* spDrawOrderTimeline_create (int framesCount, int slotsCount);
@ -262,7 +337,7 @@ typedef spDrawOrderTimeline DrawOrderTimeline;
/**/
typedef struct {
typedef struct spFFDTimeline {
spCurveTimeline super;
int const framesCount;
float* const frames; /* time, ... */
@ -270,6 +345,17 @@ typedef struct {
const float** const frameVertices;
int slotIndex;
spAttachment* attachment;
#ifdef __cplusplus
spFFDTimeline() :
super(),
framesCount(0),
frames(0),
frameVerticesCount(0),
frameVertices(0),
slotIndex(0) {
}
#endif
} spFFDTimeline;
spFFDTimeline* spFFDTimeline_create (int framesCount, int frameVerticesCount);
@ -284,11 +370,20 @@ typedef spFFDTimeline FFDTimeline;
/**/
typedef struct {
typedef struct spIkConstraintTimeline {
spCurveTimeline super;
int const framesCount;
float* const frames; /* time, mix, bendDirection, ... */
int ikConstraintIndex;
#ifdef __cplusplus
spIkConstraintTimeline() :
super(),
framesCount(0),
frames(0),
ikConstraintIndex(0) {
}
#endif
} spIkConstraintTimeline;
spIkConstraintTimeline* spIkConstraintTimeline_create (int framesCount);
@ -304,6 +399,36 @@ typedef spIkConstraintTimeline IkConstraintTimeline;
/**/
typedef struct spFlipTimeline {
spTimeline super;
int const x;
int const framesCount;
float* const frames; /* time, flip, ... */
int boneIndex;
#ifdef __cplusplus
spFlipTimeline() :
super(),
x(0),
framesCount(0),
frames(0),
boneIndex(0) {
}
#endif
} spFlipTimeline;
spFlipTimeline* spFlipTimeline_create (int framesCount, int/*bool*/x);
void spFlipTimeline_setFrame (spFlipTimeline* self, int frameIndex, float time, int/*bool*/flip);
#ifdef SPINE_SHORT_NAMES
typedef spFlipTimeline FlipTimeline;
#define FlipTimeline_create(...) spFlipTimeline_create(__VA_ARGS__)
#define FlipTimeline_setFrame(...) spFlipTimeline_setFrame(__VA_ARGS__)
#endif
/**/
#ifdef __cplusplus
}
#endif

View File

@ -60,6 +60,20 @@ struct spTrackEntry {
float mixTime, mixDuration, mix;
void* rendererObject;
#ifdef __cplusplus
spTrackEntry() :
state(0),
next(0),
previous(0),
animation(0),
loop(0),
delay(0), time(0), lastTime(0), endTime(0), timeScale(0),
listener(0),
mixTime(0), mixDuration(0), mix(0),
rendererObject(0) {
}
#endif
};
struct spAnimationState {
@ -71,6 +85,17 @@ struct spAnimationState {
spTrackEntry** tracks;
void* rendererObject;
#ifdef __cplusplus
spAnimationState() :
data(0),
timeScale(0),
listener(0),
tracksCount(0),
tracks(0),
rendererObject(0) {
}
#endif
};
/* @param data May be 0 for no mixing. */

View File

@ -38,10 +38,18 @@
extern "C" {
#endif
typedef struct {
typedef struct spAnimationStateData {
spSkeletonData* const skeletonData;
float defaultMix;
const void* const entries;
#ifdef __cplusplus
spAnimationStateData() :
skeletonData(0),
defaultMix(0),
entries(0) {
}
#endif
} spAnimationStateData;
spAnimationStateData* spAnimationStateData_create (spSkeletonData* skeletonData);

View File

@ -120,7 +120,7 @@ static int readValue (const char* end, Str* str) {
/* Returns the number of tuple values read (1, 2, 4, or 0 for failure). */
static int readTuple (const char* end, Str tuple[]) {
int i;
Str str;
Str str = {NULL, NULL};
readLine(0, end, &str);
if (!beginPast(&str, ':')) return 0;

View File

@ -38,7 +38,7 @@
extern "C" {
#endif
typedef struct {
typedef struct spAtlasAttachmentLoader {
spAttachmentLoader super;
spAtlas* atlas;
} spAtlasAttachmentLoader;

View File

@ -35,19 +35,23 @@
extern "C" {
#endif
struct spSlot;
typedef enum {
SP_ATTACHMENT_REGION, SP_ATTACHMENT_BOUNDING_BOX, SP_ATTACHMENT_MESH, SP_ATTACHMENT_SKINNED_MESH
} spAttachmentType;
typedef struct spAttachment spAttachment;
struct spAttachment {
typedef struct spAttachment {
const char* const name;
const spAttachmentType type;
const void* const vtable;
};
#ifdef __cplusplus
spAttachment() :
name(0),
type(SP_ATTACHMENT_REGION),
vtable(0) {
}
#endif
} spAttachment;
void spAttachment_dispose (spAttachment* self);

View File

@ -38,8 +38,7 @@
extern "C" {
#endif
typedef struct spAttachmentLoader spAttachmentLoader;
struct spAttachmentLoader {
typedef struct spAttachmentLoader {
const char* error1;
const char* error2;
@ -51,7 +50,7 @@ struct spAttachmentLoader {
vtable(0) {
}
#endif
};
} spAttachmentLoader;
void spAttachmentLoader_dispose (spAttachmentLoader* self);

View File

@ -37,6 +37,10 @@ void spBone_setYDown (int value) {
yDown = value;
}
int spBone_isYDown () {
return yDown;
}
spBone* spBone_create (spBoneData* data, spSkeleton* skeleton, spBone* parent) {
spBone* self = NEW(spBone);
CONST_CAST(spBoneData*, self->data) = data;
@ -64,24 +68,29 @@ void spBone_updateWorldTransform (spBone* self) {
}
CONST_CAST(float, self->worldRotation) =
self->data->inheritRotation ? self->parent->worldRotation + self->rotationIK : self->rotationIK;
CONST_CAST(int, self->worldFlipX) = self->parent->worldFlipX ^ self->flipX;
CONST_CAST(int, self->worldFlipY) = self->parent->worldFlipY ^ self->flipY;
} else {
int skeletonFlipX = self->skeleton->flipX, skeletonFlipY = self->skeleton->flipY;
CONST_CAST(float, self->worldX) = self->skeleton->flipX ? -self->x : self->x;
CONST_CAST(float, self->worldY) = self->skeleton->flipY != yDown ? -self->y : self->y;
CONST_CAST(float, self->worldScaleX) = self->scaleX;
CONST_CAST(float, self->worldScaleY) = self->scaleY;
CONST_CAST(float, self->worldRotation) = self->rotationIK;
CONST_CAST(int, self->worldFlipX) = skeletonFlipX ^ self->flipX;
CONST_CAST(int, self->worldFlipY) = skeletonFlipY ^ self->flipY;
}
radians = self->worldRotation * DEG_RAD;
cosine = COS(radians);
sine = SIN(radians);
if (self->skeleton->flipX) {
if (self->worldFlipX) {
CONST_CAST(float, self->m00) = -cosine * self->worldScaleX;
CONST_CAST(float, self->m01) = sine * self->worldScaleY;
} else {
CONST_CAST(float, self->m00) = cosine * self->worldScaleX;
CONST_CAST(float, self->m01) = -sine * self->worldScaleY;
}
if (self->skeleton->flipY != yDown) {
if (self->worldFlipY != yDown) {
CONST_CAST(float, self->m10) = -sine * self->worldScaleX;
CONST_CAST(float, self->m11) = -cosine * self->worldScaleY;
} else {
@ -97,13 +106,15 @@ void spBone_setToSetupPose (spBone* self) {
self->rotationIK = self->rotation;
self->scaleX = self->data->scaleX;
self->scaleY = self->data->scaleY;
self->flipX = self->data->flipX;
self->flipY = self->data->flipY;
}
void spBone_worldToLocal (spBone* self, float worldX, float worldY, float* localX, float* localY) {
float invDet;
float dx = worldX - self->worldX, dy = worldY - self->worldY;
float m00 = self->m00, m11 = self->m11;
if (self->skeleton->flipX != (self->skeleton->flipY != yDown)) {
if (self->worldFlipX != (self->worldFlipY != yDown)) {
m00 *= -1;
m11 *= -1;
}

View File

@ -47,14 +47,35 @@ struct spBone {
float x, y;
float rotation, rotationIK;
float scaleX, scaleY;
int/*bool*/flipX, flipY;
float const m00, m01, worldX; /* a b x */
float const m10, m11, worldY; /* c d y */
float const worldRotation;
float const worldScaleX, worldScaleY;
int/*bool*/const worldFlipX, worldFlipY;
#ifdef __cplusplus
spBone() :
data(0),
skeleton(0),
parent(0),
x(0), y(0),
rotation(0), rotationIK(0),
scaleX(0), scaleY(0),
flipX(0), flipY(0),
m00(0), m01(0), worldX(0),
m10(0), m11(0), worldY(0),
worldRotation(0),
worldScaleX(0), worldScaleY(0),
worldFlipX(0), worldFlipY(0) {
}
#endif
};
void spBone_setYDown (int/*bool*/yDown);
int/*bool*/spBone_isYDown ();
/* @param parent May be 0. */
spBone* spBone_create (spBoneData* data, struct spSkeleton* skeleton, spBone* parent);
@ -70,6 +91,7 @@ void spBone_localToWorld (spBone* self, float localX, float localY, float* world
#ifdef SPINE_SHORT_NAMES
typedef spBone Bone;
#define Bone_setYDown(...) spBone_setYDown(__VA_ARGS__)
#define Bone_isYDown() spBone_isYDown()
#define Bone_create(...) spBone_create(__VA_ARGS__)
#define Bone_dispose(...) spBone_dispose(__VA_ARGS__)
#define Bone_setToSetupPose(...) spBone_setToSetupPose(__VA_ARGS__)

View File

@ -43,7 +43,21 @@ struct spBoneData {
float x, y;
float rotation;
float scaleX, scaleY;
int/*bool*/flipX, flipY;
int/*bool*/inheritScale, inheritRotation;
#ifdef __cplusplus
spBoneData() :
name(0),
parent(0),
length(0),
x(0), y(0),
rotation(0),
scaleX(0), scaleY(0),
flipX(0), flipY(0),
inheritScale(0), inheritRotation(0) {
}
#endif
};
spBoneData* spBoneData_create (const char* name, spBoneData* parent);

View File

@ -39,12 +39,11 @@
extern "C" {
#endif
typedef struct spBoundingBoxAttachment spBoundingBoxAttachment;
struct spBoundingBoxAttachment {
typedef struct spBoundingBoxAttachment {
spAttachment super;
int verticesCount;
float* vertices;
};
} spBoundingBoxAttachment;
spBoundingBoxAttachment* spBoundingBoxAttachment_create (const char* name);
void spBoundingBoxAttachment_computeWorldVertices (spBoundingBoxAttachment* self, spBone* bone, float* vertices);

View File

@ -37,13 +37,21 @@
extern "C" {
#endif
typedef struct spEvent spEvent;
struct spEvent {
typedef struct spEvent {
spEventData* const data;
int intValue;
float floatValue;
const char* stringValue;
};
#ifdef __cplusplus
spEvent() :
data(0),
intValue(0),
floatValue(0),
stringValue(0) {
}
#endif
} spEvent;
spEvent* spEvent_create (spEventData* data);
void spEvent_dispose (spEvent* self);

View File

@ -35,13 +35,21 @@
extern "C" {
#endif
typedef struct spEventData spEventData;
struct spEventData {
typedef struct spEventData {
const char* const name;
int intValue;
float floatValue;
const char* stringValue;
};
#ifdef __cplusplus
spEventData() :
name(0),
intValue(0),
floatValue(0),
stringValue(0) {
}
#endif
} spEventData;
spEventData* spEventData_create (const char* name);
void spEventData_dispose (spEventData* self);

View File

@ -69,7 +69,9 @@ void spIkConstraint_apply (spIkConstraint* self) {
void spIkConstraint_apply1 (spBone* bone, float targetX, float targetY, float alpha) {
float parentRotation = (!bone->data->inheritRotation || !bone->parent) ? 0 : bone->parent->worldRotation;
float rotation = bone->rotation;
float rotationIK = ATAN2(targetY - bone->worldY, targetX - bone->worldX) * RAD_DEG - parentRotation;
float rotationIK = ATAN2(targetY - bone->worldY, targetX - bone->worldX) * RAD_DEG;
if (bone->worldFlipX != (bone->worldFlipY != spBone_isYDown())) rotationIK = -rotationIK;
rotationIK -= parentRotation;
bone->rotationIK = rotation + (rotationIK - rotation) * alpha;
}

View File

@ -40,8 +40,7 @@ extern "C" {
struct spSkeleton;
typedef struct spIkConstraint spIkConstraint;
struct spIkConstraint {
typedef struct spIkConstraint {
spIkConstraintData* const data;
int bonesCount;
@ -50,7 +49,18 @@ struct spIkConstraint {
spBone* target;
int bendDirection;
float mix;
};
#ifdef __cplusplus
spIkConstraint() :
data(0),
bonesCount(0),
bones(0),
target(0),
bendDirection(0),
mix(0) {
}
#endif
} spIkConstraint;
spIkConstraint* spIkConstraint_create (spIkConstraintData* data, const struct spSkeleton* skeleton);
void spIkConstraint_dispose (spIkConstraint* self);

View File

@ -37,8 +37,7 @@
extern "C" {
#endif
typedef struct spIkConstraintData spIkConstraintData;
struct spIkConstraintData {
typedef struct spIkConstraintData {
const char* const name;
int bonesCount;
@ -47,7 +46,18 @@ struct spIkConstraintData {
spBoneData* target;
int bendDirection;
float mix;
};
#ifdef __cplusplus
spIkConstraintData() :
name(0),
bonesCount(0),
bones(0),
target(0),
bendDirection(0),
mix(0) {
}
#endif
} spIkConstraintData;
spIkConstraintData* spIkConstraintData_create (const char* name);
void spIkConstraintData_dispose (spIkConstraintData* self);

View File

@ -39,8 +39,7 @@
extern "C" {
#endif
typedef struct spMeshAttachment spMeshAttachment;
struct spMeshAttachment {
typedef struct spMeshAttachment {
spAttachment super;
const char* path;
@ -67,7 +66,7 @@ struct spMeshAttachment {
int edgesCount;
int* edges;
float width, height;
};
} spMeshAttachment;
spMeshAttachment* spMeshAttachment_create (const char* name);
void spMeshAttachment_updateUVs (spMeshAttachment* self);

View File

@ -43,8 +43,7 @@ typedef enum {
SP_VERTEX_X1 = 0, SP_VERTEX_Y1, SP_VERTEX_X2, SP_VERTEX_Y2, SP_VERTEX_X3, SP_VERTEX_Y3, SP_VERTEX_X4, SP_VERTEX_Y4
} spVertexIndex;
typedef struct spRegionAttachment spRegionAttachment;
struct spRegionAttachment {
typedef struct spRegionAttachment {
spAttachment super;
const char* path;
float x, y, scaleX, scaleY, rotation, width, height;
@ -57,7 +56,7 @@ struct spRegionAttachment {
float offset[8];
float uvs[8];
};
} spRegionAttachment;
spRegionAttachment* spRegionAttachment_create (const char* name);
void spRegionAttachment_setUVs (spRegionAttachment* self, float u, float v, float u2, float v2, int/*bool*/rotate);

View File

@ -40,8 +40,7 @@
extern "C" {
#endif
typedef struct spSkeleton spSkeleton;
struct spSkeleton {
typedef struct spSkeleton {
spSkeletonData* const data;
int bonesCount;
@ -60,7 +59,29 @@ struct spSkeleton {
float time;
int/*bool*/flipX, flipY;
float x, y;
};
#ifdef __cplusplus
spSkeleton() :
data(0),
bonesCount(0),
bones(0),
root(0),
slotsCount(0),
slots(0),
drawOrder(0),
ikConstraintsCount(0),
ikConstraints(0),
skin(0),
r(0), g(0), b(0), a(0),
time(0),
flipX(0),
flipY(0),
x(0), y(0) {
}
#endif
} spSkeleton;
spSkeleton* spSkeleton_create (spSkeletonData* data);
void spSkeleton_dispose (spSkeleton* self);
@ -83,8 +104,9 @@ spSlot* spSkeleton_findSlot (const spSkeleton* self, const char* slotName);
/* Returns -1 if the slot was not found. */
int spSkeleton_findSlotIndex (const spSkeleton* self, const char* slotName);
/* Sets the skin used to look up attachments not found in the SkeletonData defaultSkin. Attachments from the new skin are
* attached if the corresponding attachment from the old skin was attached.
/* Sets the skin used to look up attachments before looking in the SkeletonData defaultSkin. Attachments from the new skin are
* attached if the corresponding attachment from the old skin was attached. If there was no old skin, each slot's setup mode
* attachment is attached from the new skin.
* @param skin May be 0.*/
void spSkeleton_setSkin (spSkeleton* self, spSkin* skin);
/* Returns 0 if the skin was not found. See spSkeleton_setSkin.
@ -95,7 +117,8 @@ int spSkeleton_setSkinByName (spSkeleton* self, const char* skinName);
spAttachment* spSkeleton_getAttachmentForSlotName (const spSkeleton* self, const char* slotName, const char* attachmentName);
/* Returns 0 if the slot or attachment was not found. */
spAttachment* spSkeleton_getAttachmentForSlotIndex (const spSkeleton* self, int slotIndex, const char* attachmentName);
/* Returns 0 if the slot or attachment was not found. */
/* Returns 0 if the slot or attachment was not found.
* @param attachmentName May be 0. */
int spSkeleton_setAttachment (spSkeleton* self, const char* slotName, const char* attachmentName);
/* Returns 0 if the IK constraint was not found. */

View File

@ -98,6 +98,10 @@ void SkeletonAnimation::initialize () {
stateInternal->disposeTrackEntry = disposeTrackEntry;
}
SkeletonAnimation::SkeletonAnimation ()
: SkeletonRenderer() {
}
SkeletonAnimation::SkeletonAnimation (spSkeletonData *skeletonData)
: SkeletonRenderer(skeletonData) {
initialize();

View File

@ -76,7 +76,7 @@ public:
spAnimationState* getState() const;
protected:
CC_CONSTRUCTOR_ACCESS:
SkeletonAnimation ();
SkeletonAnimation (spSkeletonData* skeletonData);
SkeletonAnimation (const std::string&skeletonDataFile, spAtlas* atlas, float scale = 1);
@ -84,6 +84,7 @@ protected:
virtual ~SkeletonAnimation ();
void initialize ();
protected:
spAnimationState* _state;
bool _ownsAnimationStateData;

View File

@ -38,7 +38,7 @@
extern "C" {
#endif
typedef struct {
typedef struct spPolygon {
float* const vertices;
int count;
int capacity;
@ -60,7 +60,7 @@ typedef spPolygon Polygon;
/**/
typedef struct {
typedef struct spSkeletonBounds {
int count;
spBoundingBoxAttachment** boundingBoxes;
spPolygon** polygons;

View File

@ -62,6 +62,9 @@ void spSkeletonData_dispose (spSkeletonData* self) {
spIkConstraintData_dispose(self->ikConstraints[i]);
FREE(self->ikConstraints);
FREE(self->hash);
FREE(self->version);
FREE(self);
}

View File

@ -42,7 +42,7 @@
extern "C" {
#endif
typedef struct {
typedef struct spSkeletonData {
const char* version;
const char* hash;
float width, height;

View File

@ -65,7 +65,7 @@ void _spSkeletonJson_setError (spSkeletonJson* self, Json* root, const char* val
FREE(self->error);
strcpy(message, value1);
length = (int)strlen(value1);
if (value2) strncat(message + length, value2, 256 - length);
if (value2) strncat(message + length, value2, 255 - length);
MALLOC_STR(self->error, message);
if (root) Json_dispose(root);
}
@ -106,16 +106,19 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r
spAnimation* animation;
Json* frame;
float duration;
int timelinesCount = 0;
Json* bones = Json_getItem(root, "bones");
Json* slots = Json_getItem(root, "slots");
Json* ik = Json_getItem(root, "ik");
Json* ffd = Json_getItem(root, "ffd");
Json* drawOrder = Json_getItem(root, "draworder");
Json* drawOrder = Json_getItem(root, "drawOrder");
Json* events = Json_getItem(root, "events");
Json* flipX = Json_getItem(root, "flipx");
Json* flipY = Json_getItem(root, "flipy");
Json *boneMap, *slotMap, *ikMap, *ffdMap;
if (!drawOrder) drawOrder = Json_getItem(root, "draworder");
int timelinesCount = 0;
for (boneMap = bones ? bones->child : 0; boneMap; boneMap = boneMap->next)
timelinesCount += boneMap->size;
for (slotMap = slots ? slots->child : 0; slotMap; slotMap = slotMap->next)
@ -124,8 +127,10 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r
for (ffdMap = ffd ? ffd->child : 0; ffdMap; ffdMap = ffdMap->next)
for (slotMap = ffdMap->child; slotMap; slotMap = slotMap->next)
timelinesCount += slotMap->size;
if (events) ++timelinesCount;
if (drawOrder) ++timelinesCount;
if (events) ++timelinesCount;
if (flipX) ++timelinesCount;
if (flipY) ++timelinesCount;
animation = spAnimation_create(root->name, timelinesCount);
animation->timelinesCount = 0;
@ -214,6 +219,17 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r
animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline);
duration = timeline->frames[timelineArray->size * 3 - 3];
if (duration > animation->duration) animation->duration = duration;
} else if (strcmp(timelineArray->name, "flipX") == 0 || strcmp(timelineArray->name, "flipY") == 0) {
int x = strcmp(timelineArray->name, "flipX") == 0;
const char* field = x ? "x" : "y";
spFlipTimeline *timeline = spFlipTimeline_create(timelineArray->size, x);
timeline->boneIndex = boneIndex;
for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i)
spFlipTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getInt(frame, field, 0));
animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline);
duration = timeline->frames[timelineArray->size * 2 - 2];
if (duration > animation->duration) animation->duration = duration;
} else {
spAnimation_dispose(animation);
_spSkeletonJson_setError(self, 0, "Invalid timeline type for a bone: ", timelineArray->name);
@ -418,8 +434,8 @@ spSkeletonData* spSkeletonJson_readSkeletonData (spSkeletonJson* self, const cha
skeleton = Json_getItem(root, "skeleton");
if (skeleton) {
skeletonData->hash = Json_getString(skeleton, "hash", 0);
skeletonData->version = Json_getString(skeleton, "spine", 0);
MALLOC_STR(skeletonData->hash, Json_getString(skeleton, "hash", 0));
MALLOC_STR(skeletonData->version, Json_getString(skeleton, "spine", 0));
skeletonData->width = Json_getFloat(skeleton, "width", 0);
skeletonData->height = Json_getFloat(skeleton, "height", 0);
}
@ -450,6 +466,8 @@ spSkeletonData* spSkeletonJson_readSkeletonData (spSkeletonJson* self, const cha
boneData->scaleY = Json_getFloat(boneMap, "scaleY", 1);
boneData->inheritScale = Json_getInt(boneMap, "inheritScale", 1);
boneData->inheritRotation = Json_getInt(boneMap, "inheritRotation", 1);
boneData->flipX = Json_getInt(boneMap, "flipX", 0);
boneData->flipY = Json_getInt(boneMap, "flipY", 0);
skeletonData->bones[i] = boneData;
skeletonData->bonesCount++;

View File

@ -41,7 +41,7 @@
extern "C" {
#endif
typedef struct {
typedef struct spSkeletonJson {
float scale;
spAttachmentLoader* attachmentLoader;
const char* const error;

View File

@ -75,7 +75,6 @@ void SkeletonRenderer::initialize () {
setOpacityModifyRGB(true);
setGLProgram(ShaderCache::getInstance()->getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR));
scheduleUpdate();
}
void SkeletonRenderer::setSkeletonData (spSkeletonData *skeletonData, bool ownsSkeletonData) {
@ -84,18 +83,35 @@ void SkeletonRenderer::setSkeletonData (spSkeletonData *skeletonData, bool ownsS
}
SkeletonRenderer::SkeletonRenderer () {
initialize();
}
SkeletonRenderer::SkeletonRenderer (spSkeletonData *skeletonData, bool ownsSkeletonData) {
initialize();
setSkeletonData(skeletonData, ownsSkeletonData);
initWithData(skeletonData, ownsSkeletonData);
}
SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, spAtlas* atlas, float scale) {
initialize();
initWithFile(skeletonDataFile, atlas, scale);
}
SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, const std::string& atlasFile, float scale) {
initWithFile(skeletonDataFile, atlasFile, scale);
}
SkeletonRenderer::~SkeletonRenderer () {
if (_ownsSkeletonData) spSkeletonData_dispose(_skeleton->data);
if (_atlas) spAtlas_dispose(_atlas);
spSkeleton_dispose(_skeleton);
_batch->release();
FREE(_worldVertices);
}
void SkeletonRenderer::initWithData (spSkeletonData* skeletonData, bool ownsSkeletonData) {
setSkeletonData(skeletonData, ownsSkeletonData);
initialize();
}
void SkeletonRenderer::initWithFile (const std::string& skeletonDataFile, spAtlas* atlas, float scale) {
spSkeletonJson* json = spSkeletonJson_create(atlas);
json->scale = scale;
spSkeletonData* skeletonData = spSkeletonJson_readSkeletonDataFile(json, skeletonDataFile.c_str());
@ -103,11 +119,11 @@ SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, spAtlas
spSkeletonJson_dispose(json);
setSkeletonData(skeletonData, true);
initialize();
}
SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, const std::string& atlasFile, float scale) {
initialize();
void SkeletonRenderer::initWithFile (const std::string& skeletonDataFile, const std::string& atlasFile, float scale) {
_atlas = spAtlas_createFromFile(atlasFile.c_str(), 0);
CCASSERT(_atlas, "Error reading atlas file.");
@ -118,15 +134,10 @@ SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, const s
spSkeletonJson_dispose(json);
setSkeletonData(skeletonData, true);
initialize();
}
SkeletonRenderer::~SkeletonRenderer () {
if (_ownsSkeletonData) spSkeletonData_dispose(_skeleton->data);
if (_atlas) spAtlas_dispose(_atlas);
spSkeleton_dispose(_skeleton);
_batch->release();
FREE(_worldVertices);
}
void SkeletonRenderer::update (float deltaTime) {
spSkeleton_update(_skeleton, deltaTime * _timeScale);
@ -335,14 +346,20 @@ spSlot* SkeletonRenderer::findSlot (const std::string& slotName) const {
}
bool SkeletonRenderer::setSkin (const std::string& skinName) {
return spSkeleton_setSkinByName(_skeleton, skinName.c_str()) ? true : false;
return spSkeleton_setSkinByName(_skeleton, skinName.empty() ? 0 : skinName.c_str()) ? true : false;
}
bool SkeletonRenderer::setSkin (const char* skinName) {
return spSkeleton_setSkinByName(_skeleton, skinName) ? true : false;
}
spAttachment* SkeletonRenderer::getAttachment (const std::string& slotName, const std::string& attachmentName) const {
return spSkeleton_getAttachmentForSlotName(_skeleton, slotName.c_str(), attachmentName.c_str());
}
bool SkeletonRenderer::setAttachment (const std::string& slotName, const std::string& attachmentName) {
return spSkeleton_setAttachment(_skeleton, slotName.c_str(), attachmentName.c_str()) ? true : false;
return spSkeleton_setAttachment(_skeleton, slotName.c_str(), attachmentName.empty() ? 0 : attachmentName.c_str()) ? true : false;
}
bool SkeletonRenderer::setAttachment (const std::string& slotName, const char* attachmentName) {
return spSkeleton_setAttachment(_skeleton, slotName.c_str(), attachmentName) ? true : false;
}
spSkeleton* SkeletonRenderer::getSkeleton () {
@ -370,6 +387,16 @@ bool SkeletonRenderer::getDebugBonesEnabled () const {
return _debugBones;
}
void SkeletonRenderer::onEnter () {
Node::onEnter();
scheduleUpdate();
}
void SkeletonRenderer::onExit () {
Node::onExit();
unscheduleUpdate();
}
// --- CCBlendProtocol
const BlendFunc& SkeletonRenderer::getBlendFunc () const {

View File

@ -49,6 +49,8 @@ public:
virtual void draw (cocos2d::Renderer* renderer, const cocos2d::Mat4& transform, uint32_t transformFlags) override;
virtual void drawSkeleton (const cocos2d::Mat4& transform, uint32_t transformFlags);
virtual cocos2d::Rect getBoundingBox () const override;
virtual void onEnter () override;
virtual void onExit () override;
spSkeleton* getSkeleton();
@ -75,13 +77,18 @@ public:
/* Sets the skin used to look up attachments not found in the SkeletonData defaultSkin. Attachments from the new skin are
* attached if the corresponding attachment from the old skin was attached. Returns false if the skin was not found.
* @param skin May be 0.*/
* @param skin May be empty string ("") for no skin.*/
bool setSkin (const std::string& skinName);
/** @param skin May be 0 for no skin.*/
bool setSkin (const char* skinName);
/* Returns 0 if the slot or attachment was not found. */
spAttachment* getAttachment (const std::string& slotName, const std::string& attachmentName) const;
/* Returns false if the slot or attachment was not found. */
/* Returns false if the slot or attachment was not found.
* @param attachmentName May be empty string ("") for no attachment. */
bool setAttachment (const std::string& slotName, const std::string& attachmentName);
/* @param attachmentName May be 0 for no attachment. */
bool setAttachment (const std::string& slotName, const char* attachmentName);
// --- BlendProtocol
virtual void setBlendFunc (const cocos2d::BlendFunc& blendFunc);
@ -89,14 +96,21 @@ public:
virtual void setOpacityModifyRGB (bool value);
virtual bool isOpacityModifyRGB () const;
protected:
CC_CONSTRUCTOR_ACCESS:
SkeletonRenderer ();
SkeletonRenderer (spSkeletonData* skeletonData, bool ownsSkeletonData = false);
SkeletonRenderer (const std::string& skeletonDataFile, spAtlas* atlas, float scale = 1);
SkeletonRenderer (const std::string& skeletonDataFile, const std::string& atlasFile, float scale = 1);
virtual ~SkeletonRenderer ();
void initWithData (spSkeletonData* skeletonData, bool ownsSkeletonData = false);
void initWithFile (const std::string& skeletonDataFile, spAtlas* atlas, float scale = 1);
void initWithFile (const std::string& skeletonDataFile, const std::string& atlasFile, float scale = 1);
void initialize ();
protected:
void setSkeletonData (spSkeletonData* skeletonData, bool ownsSkeletonData);
virtual cocos2d::Texture2D* getTexture (spRegionAttachment* attachment) const;
virtual cocos2d::Texture2D* getTexture (spMeshAttachment* attachment) const;

View File

@ -39,8 +39,14 @@ extern "C" {
struct spSkeleton;
typedef struct {
typedef struct spSkin {
const char* const name;
#ifdef __cplusplus
spSkin() :
name(0) {
}
#endif
} spSkin;
spSkin* spSkin_create (const char* name);

View File

@ -38,8 +38,7 @@
extern "C" {
#endif
typedef struct spSkinnedMeshAttachment spSkinnedMeshAttachment;
struct spSkinnedMeshAttachment {
typedef struct spSkinnedMeshAttachment {
spAttachment super;
const char* path;
@ -70,7 +69,7 @@ struct spSkinnedMeshAttachment {
int edgesCount;
int* edges;
float width, height;
};
} spSkinnedMeshAttachment;
spSkinnedMeshAttachment* spSkinnedMeshAttachment_create (const char* name);
void spSkinnedMeshAttachment_updateUVs (spSkinnedMeshAttachment* self);

View File

@ -48,6 +48,18 @@ typedef struct spSlot {
int attachmentVerticesCapacity;
int attachmentVerticesCount;
float* attachmentVertices;
#ifdef __cplusplus
spSlot() :
data(0),
bone(0),
r(0), b(0), g(0), a(0),
attachment(0),
attachmentVerticesCapacity(0),
attachmentVerticesCount(0),
attachmentVertices(0) {
}
#endif
} spSlot;
spSlot* spSlot_create (spSlotData* data, spBone* bone);

View File

@ -37,12 +37,22 @@
extern "C" {
#endif
typedef struct {
typedef struct spSlotData {
const char* const name;
const spBoneData* const boneData;
const char* attachmentName;
float r, g, b, a;
int/*bool*/additiveBlending;
#ifdef __cplusplus
spSlotData() :
name(0),
boneData(0),
attachmentName(0),
r(0), g(0), b(0), a(0),
additiveBlending(0) {
}
#endif
} spSlotData;
spSlotData* spSlotData_create (const char* name, spBoneData* boneData);

View File

@ -124,12 +124,21 @@ char* _readFile (const char* path, int* length);
/**/
typedef struct {
typedef struct _spAnimationState {
spAnimationState super;
spEvent** events;
spTrackEntry* (*createTrackEntry) (spAnimationState* self);
void (*disposeTrackEntry) (spTrackEntry* entry);
#ifdef __cplusplus
_spAnimationState() :
super(),
events(0),
createTrackEntry(0),
disposeTrackEntry(0) {
}
#endif
} _spAnimationState;
spTrackEntry* _spTrackEntry_create (spAnimationState* self);

Some files were not shown because too many files have changed in this diff Show More