浏览代码

WinPhone support (does not actually work yet)

Wei Mingzhi 10 年之前
父节点
当前提交
3e49f394b4

+ 8 - 0
common.h

@@ -114,6 +114,12 @@ extern "C"
 #define PAL_SAVE_PREFIX       "/mnt/sdcard/sdlpal/"
 #define PAL_HAS_TOUCH         1
 
+#elif defined (__WINPHONE__)
+
+#define PAL_PREFIX            "./"
+#define PAL_SAVE_PREFIX       "./"
+#define PAL_HAS_TOUCH         1
+
 #else
 
 #define PAL_HAS_JOYSTICKS     1
@@ -163,7 +169,9 @@ extern "C"
 typedef const BYTE *LPCBYTE;
 #endif
 
+#ifndef __WINPHONE__
 #define PAL_HAS_NATIVEMIDI  1
+#endif
 
 #else
 

+ 2 - 0
main.c

@@ -72,6 +72,8 @@ PAL_Init(
    //
 #if defined(DINGOO)
    if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_JOYSTICK) == -1)
+#elif defined (__WINPHONE__)
+   if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) == -1)
 #else
    if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_CDROM | SDL_INIT_NOPARACHUTE | SDL_INIT_JOYSTICK) == -1)
 #endif

+ 7 - 7
video.c

@@ -98,7 +98,7 @@ VIDEO_Init(
    //
    // Before we can render anything, we need a window and a renderer.
    //
-#if defined (__IOS__) || defined (__ANDROID__)
+#if defined (__IOS__) || defined (__ANDROID__) || defined (__WINPHONE__)
    gpWindow = SDL_CreateWindow("Pal",
       SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, wScreenWidth, wScreenHeight,
       SDL_WINDOW_SHOWN);
@@ -360,18 +360,18 @@ VIDEO_UpdateScreen(
 
 --*/
 {
+   SDL_Rect        srcrect, dstrect;
+   short           offset = 240 - 200;
+   short           screenRealHeight = gpScreenReal->h;
+   short           screenRealY = 0;
+
 #if SDL_VERSION_ATLEAST(2,0,0)
    if (g_bRenderPaused)
    {
-	  return;
+	   return;
    }
 #endif
 
-   SDL_Rect        srcrect, dstrect;
-   short           offset = 240 - 200;
-   short           screenRealHeight = gpScreenReal->h;
-   short           screenRealY = 0;
-
    //
    // Lock surface if needed
    //

二进制
winphone/Assets/AlignmentGrid.png


二进制
winphone/Assets/ApplicationIcon.png


二进制
winphone/Assets/Tiles/FlipCycleTileLarge.png


二进制
winphone/Assets/Tiles/FlipCycleTileMedium.png


二进制
winphone/Assets/Tiles/FlipCycleTileSmall.png


二进制
winphone/Assets/Tiles/IconicTileMediumLarge.png


二进制
winphone/Assets/Tiles/IconicTileSmall.png


+ 1 - 0
winphone/SDL2/README.txt

@@ -0,0 +1 @@
+Download SDL2 sources from http://libsdl.org/ and extract here.

+ 42 - 0
winphone/SDLPal.sln

@@ -0,0 +1,42 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.21005.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDLPal", "SDLPal.vcxproj", "{F59B48BC-5646-4F8B-90B2-4B09A9D94C5C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2-WinPhone80", "SDL2\VisualC-WinRT\WinPhone80_VS2012\SDL-WinPhone80.vcxproj", "{33048AF1-031A-4CE6-B61E-FAD2DB832E9E}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|ARM = Debug|ARM
+		Debug|Win32 = Debug|Win32
+		Release|ARM = Release|ARM
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{F59B48BC-5646-4F8B-90B2-4B09A9D94C5C}.Debug|ARM.ActiveCfg = Debug|ARM
+		{F59B48BC-5646-4F8B-90B2-4B09A9D94C5C}.Debug|ARM.Build.0 = Debug|ARM
+		{F59B48BC-5646-4F8B-90B2-4B09A9D94C5C}.Debug|ARM.Deploy.0 = Debug|ARM
+		{F59B48BC-5646-4F8B-90B2-4B09A9D94C5C}.Debug|Win32.ActiveCfg = Debug|Win32
+		{F59B48BC-5646-4F8B-90B2-4B09A9D94C5C}.Debug|Win32.Build.0 = Debug|Win32
+		{F59B48BC-5646-4F8B-90B2-4B09A9D94C5C}.Debug|Win32.Deploy.0 = Debug|Win32
+		{F59B48BC-5646-4F8B-90B2-4B09A9D94C5C}.Release|ARM.ActiveCfg = Release|ARM
+		{F59B48BC-5646-4F8B-90B2-4B09A9D94C5C}.Release|ARM.Build.0 = Release|ARM
+		{F59B48BC-5646-4F8B-90B2-4B09A9D94C5C}.Release|ARM.Deploy.0 = Release|ARM
+		{F59B48BC-5646-4F8B-90B2-4B09A9D94C5C}.Release|Win32.ActiveCfg = Release|Win32
+		{F59B48BC-5646-4F8B-90B2-4B09A9D94C5C}.Release|Win32.Build.0 = Release|Win32
+		{F59B48BC-5646-4F8B-90B2-4B09A9D94C5C}.Release|Win32.Deploy.0 = Release|Win32
+		{33048AF1-031A-4CE6-B61E-FAD2DB832E9E}.Debug|ARM.ActiveCfg = Debug|ARM
+		{33048AF1-031A-4CE6-B61E-FAD2DB832E9E}.Debug|ARM.Build.0 = Debug|ARM
+		{33048AF1-031A-4CE6-B61E-FAD2DB832E9E}.Debug|Win32.ActiveCfg = Debug|Win32
+		{33048AF1-031A-4CE6-B61E-FAD2DB832E9E}.Debug|Win32.Build.0 = Debug|Win32
+		{33048AF1-031A-4CE6-B61E-FAD2DB832E9E}.Release|ARM.ActiveCfg = Release|ARM
+		{33048AF1-031A-4CE6-B61E-FAD2DB832E9E}.Release|ARM.Build.0 = Release|ARM
+		{33048AF1-031A-4CE6-B61E-FAD2DB832E9E}.Release|Win32.ActiveCfg = Release|Win32
+		{33048AF1-031A-4CE6-B61E-FAD2DB832E9E}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

+ 260 - 0
winphone/SDLPal.vcxproj

@@ -0,0 +1,260 @@
+<?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|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>{f59b48bc-5646-4f8b-90b2-4b09a9d94c5c}</ProjectGuid>
+    <RootNamespace>SDLPal</RootNamespace>
+    <DefaultLanguage>en-US</DefaultLanguage>
+    <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
+    <XapOutputs>true</XapOutputs>
+    <XapFilename>SDLPal_$(Configuration)_$(Platform).xap</XapFilename>
+    <WinMDAssembly>true</WinMDAssembly>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v110_wp80</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v110_wp80</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v110_wp80</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
+    <ConfigurationType>Application</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" />
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PreprocessorDefinitions>PSAPI_VERSION=2;%(PreprocessorDefinitions);__WINPHONE__=1</PreprocessorDefinitions>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+      <AdditionalIncludeDirectories>$(ProjectDir)\SDL2\include;$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <CompileAsWinRT>false</CompileAsWinRT>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>d3d11.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
+      <IgnoreSpecificDefaultLibraries>ole32.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <PreprocessorDefinitions>PSAPI_VERSION=2;%(PreprocessorDefinitions);__WINPHONE__=1</PreprocessorDefinitions>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+      <AdditionalIncludeDirectories>$(ProjectDir)\SDL2\include;$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <CompileAsWinRT>false</CompileAsWinRT>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>d3d11.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
+      <IgnoreSpecificDefaultLibraries>ole32.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+    <ClCompile>
+      <PreprocessorDefinitions>PSAPI_VERSION=2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PrecompiledHeader>Use</PrecompiledHeader>
+      <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+      <AdditionalIncludeDirectories>$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <CompileAsWinRT>true</CompileAsWinRT>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>d3d11.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
+      <IgnoreSpecificDefaultLibraries>ole32.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+    <ClCompile>
+      <PreprocessorDefinitions>PSAPI_VERSION=2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PrecompiledHeader>Use</PrecompiledHeader>
+      <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+      <AdditionalIncludeDirectories>$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <CompileAsWinRT>true</CompileAsWinRT>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>d3d11.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
+      <IgnoreSpecificDefaultLibraries>ole32.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <Reference Include="platform.winmd">
+      <IsWinMDFile>true</IsWinMDFile>
+      <Private>false</Private>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Image Include="Assets\ApplicationIcon.png" />
+    <Image Include="Assets\AlignmentGrid.png" />
+    <Image Include="Assets\Tiles\FlipCycleTileLarge.png" />
+    <Image Include="Assets\Tiles\FlipCycleTileMedium.png" />
+    <Image Include="Assets\Tiles\FlipCycleTileSmall.png" />
+    <Image Include="Assets\Tiles\IconicTileMediumLarge.png" />
+    <Image Include="Assets\Tiles\IconicTileSmall.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <Xml Include="WMAppManifest.xml">
+      <SubType>Designer</SubType>
+    </Xml>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\adplug\binfile.h" />
+    <ClInclude Include="..\adplug\binio.h" />
+    <ClInclude Include="..\adplug\demuopl.h" />
+    <ClInclude Include="..\adplug\dosbox_opl.h" />
+    <ClInclude Include="..\adplug\emuopl.h" />
+    <ClInclude Include="..\adplug\fmopl.h" />
+    <ClInclude Include="..\adplug\fprovide.h" />
+    <ClInclude Include="..\adplug\opl.h" />
+    <ClInclude Include="..\adplug\player.h" />
+    <ClInclude Include="..\adplug\rix.h" />
+    <ClInclude Include="..\adplug\surroundopl.h" />
+    <ClInclude Include="..\ascii.h" />
+    <ClInclude Include="..\battle.h" />
+    <ClInclude Include="..\common.h" />
+    <ClInclude Include="..\ending.h" />
+    <ClInclude Include="..\fight.h" />
+    <ClInclude Include="..\font.h" />
+    <ClInclude Include="..\game.h" />
+    <ClInclude Include="..\getopt.h" />
+    <ClInclude Include="..\global.h" />
+    <ClInclude Include="..\input.h" />
+    <ClInclude Include="..\itemmenu.h" />
+    <ClInclude Include="..\libmad\bit.h" />
+    <ClInclude Include="..\libmad\decoder.h" />
+    <ClInclude Include="..\libmad\fixed.h" />
+    <ClInclude Include="..\libmad\frame.h" />
+    <ClInclude Include="..\libmad\huffman.h" />
+    <ClInclude Include="..\libmad\layer12.h" />
+    <ClInclude Include="..\libmad\layer3.h" />
+    <ClInclude Include="..\libmad\libmad_config.h" />
+    <ClInclude Include="..\libmad\libmad_global.h" />
+    <ClInclude Include="..\libmad\mad.h" />
+    <ClInclude Include="..\libmad\music_mad.h" />
+    <ClInclude Include="..\libmad\stream.h" />
+    <ClInclude Include="..\libmad\synth.h" />
+    <ClInclude Include="..\libmad\timer.h" />
+    <ClInclude Include="..\magicmenu.h" />
+    <ClInclude Include="..\main.h" />
+    <ClInclude Include="..\map.h" />
+    <ClInclude Include="..\palcommon.h" />
+    <ClInclude Include="..\palette.h" />
+    <ClInclude Include="..\play.h" />
+    <ClInclude Include="..\res.h" />
+    <ClInclude Include="..\rixplay.h" />
+    <ClInclude Include="..\rngplay.h" />
+    <ClInclude Include="..\scene.h" />
+    <ClInclude Include="..\script.h" />
+    <ClInclude Include="..\sound.h" />
+    <ClInclude Include="..\text.h" />
+    <ClInclude Include="..\ui.h" />
+    <ClInclude Include="..\uibattle.h" />
+    <ClInclude Include="..\uigame.h" />
+    <ClInclude Include="..\util.h" />
+    <ClInclude Include="..\video.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\adplug\binfile.cpp" />
+    <ClCompile Include="..\adplug\binio.cpp" />
+    <ClCompile Include="..\adplug\dosbox_opl.cpp" />
+    <ClCompile Include="..\adplug\emuopl.cpp" />
+    <ClCompile Include="..\adplug\fmopl.c" />
+    <ClCompile Include="..\adplug\fprovide.cpp" />
+    <ClCompile Include="..\adplug\player.cpp" />
+    <ClCompile Include="..\adplug\rix.cpp" />
+    <ClCompile Include="..\adplug\surroundopl.cpp" />
+    <ClCompile Include="..\battle.c" />
+    <ClCompile Include="..\ending.c" />
+    <ClCompile Include="..\fight.c" />
+    <ClCompile Include="..\font.c" />
+    <ClCompile Include="..\game.c" />
+    <ClCompile Include="..\getopt.c" />
+    <ClCompile Include="..\global.c" />
+    <ClCompile Include="..\input.c" />
+    <ClCompile Include="..\itemmenu.c" />
+    <ClCompile Include="..\libmad\bit.c" />
+    <ClCompile Include="..\libmad\decoder.c" />
+    <ClCompile Include="..\libmad\fixed.c" />
+    <ClCompile Include="..\libmad\frame.c" />
+    <ClCompile Include="..\libmad\huffman.c" />
+    <ClCompile Include="..\libmad\layer12.c" />
+    <ClCompile Include="..\libmad\layer3.c" />
+    <ClCompile Include="..\libmad\music_mad.c" />
+    <ClCompile Include="..\libmad\stream.c" />
+    <ClCompile Include="..\libmad\synth.c" />
+    <ClCompile Include="..\libmad\timer.c" />
+    <ClCompile Include="..\magicmenu.c" />
+    <ClCompile Include="..\main.c" />
+    <ClCompile Include="..\map.c" />
+    <ClCompile Include="..\palcommon.c" />
+    <ClCompile Include="..\palette.c" />
+    <ClCompile Include="..\play.c" />
+    <ClCompile Include="..\res.c" />
+    <ClCompile Include="..\rixplay.cpp" />
+    <ClCompile Include="..\rngplay.c" />
+    <ClCompile Include="..\scene.c" />
+    <ClCompile Include="..\script.c" />
+    <ClCompile Include="..\sound.c" />
+    <ClCompile Include="..\text.c" />
+    <ClCompile Include="..\ui.c" />
+    <ClCompile Include="..\uibattle.c" />
+    <ClCompile Include="..\uigame.c" />
+    <ClCompile Include="..\util.c" />
+    <ClCompile Include="..\video.c" />
+    <ClCompile Include="..\yj1.c" />
+    <ClCompile Include="SDL2\src\main\winrt\SDL_winrt_main_NonXAML.cpp">
+      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
+      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\libmad\D.dat" />
+    <None Include="..\libmad\imdct_s.dat" />
+    <None Include="..\libmad\qc_table.dat" />
+    <None Include="..\libmad\rq_table.dat" />
+    <None Include="..\libmad\sf_table.dat" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="SDL2\VisualC-WinRT\WinPhone80_VS2012\SDL-WinPhone80.vcxproj">
+      <Project>{33048af1-031a-4ce6-b61e-fad2db832e9e}</Project>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsPhone\v$(TargetPlatformVersion)\Microsoft.Cpp.WindowsPhone.$(TargetPlatformVersion).targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>

+ 255 - 0
winphone/SDLPal.vcxproj.filters

@@ -0,0 +1,255 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Assets">
+      <UniqueIdentifier>17b52f90-9b33-4188-8a0e-808582bbabbc</UniqueIdentifier>
+      <Extensions>ico;bmp;dlg;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;resw;resjson</Extensions>
+    </Filter>
+    <Filter Include="adplug">
+      <UniqueIdentifier>{e0154447-2329-47d7-8713-a66a8cc6b0c8}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="libmad">
+      <UniqueIdentifier>{d7305349-86de-434f-93f2-ee998fc710e6}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <Image Include="Assets\ApplicationIcon.png">
+      <Filter>Assets</Filter>
+    </Image>
+    <Image Include="Assets\AlignmentGrid.png">
+      <Filter>Assets</Filter>
+    </Image>
+    <Image Include="Assets\Tiles\FlipCycleTileLarge.png">
+      <Filter>Assets</Filter>
+    </Image>
+    <Image Include="Assets\Tiles\FlipCycleTileMedium.png">
+      <Filter>Assets</Filter>
+    </Image>
+    <Image Include="Assets\Tiles\FlipCycleTileSmall.png">
+      <Filter>Assets</Filter>
+    </Image>
+    <Image Include="Assets\Tiles\IconicTileMediumLarge.png">
+      <Filter>Assets</Filter>
+    </Image>
+    <Image Include="Assets\Tiles\IconicTileSmall.png">
+      <Filter>Assets</Filter>
+    </Image>
+  </ItemGroup>
+  <ItemGroup>
+    <Xml Include="WMAppManifest.xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\ascii.h" />
+    <ClInclude Include="..\battle.h" />
+    <ClInclude Include="..\common.h" />
+    <ClInclude Include="..\ending.h" />
+    <ClInclude Include="..\fight.h" />
+    <ClInclude Include="..\font.h" />
+    <ClInclude Include="..\game.h" />
+    <ClInclude Include="..\getopt.h" />
+    <ClInclude Include="..\global.h" />
+    <ClInclude Include="..\input.h" />
+    <ClInclude Include="..\itemmenu.h" />
+    <ClInclude Include="..\magicmenu.h" />
+    <ClInclude Include="..\main.h" />
+    <ClInclude Include="..\map.h" />
+    <ClInclude Include="..\palcommon.h" />
+    <ClInclude Include="..\palette.h" />
+    <ClInclude Include="..\play.h" />
+    <ClInclude Include="..\res.h" />
+    <ClInclude Include="..\rixplay.h" />
+    <ClInclude Include="..\rngplay.h" />
+    <ClInclude Include="..\scene.h" />
+    <ClInclude Include="..\script.h" />
+    <ClInclude Include="..\sound.h" />
+    <ClInclude Include="..\text.h" />
+    <ClInclude Include="..\ui.h" />
+    <ClInclude Include="..\uibattle.h" />
+    <ClInclude Include="..\uigame.h" />
+    <ClInclude Include="..\util.h" />
+    <ClInclude Include="..\video.h" />
+    <ClInclude Include="..\adplug\binfile.h">
+      <Filter>adplug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\adplug\binio.h">
+      <Filter>adplug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\adplug\demuopl.h">
+      <Filter>adplug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\adplug\dosbox_opl.h">
+      <Filter>adplug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\adplug\emuopl.h">
+      <Filter>adplug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\adplug\fmopl.h">
+      <Filter>adplug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\adplug\fprovide.h">
+      <Filter>adplug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\adplug\opl.h">
+      <Filter>adplug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\adplug\player.h">
+      <Filter>adplug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\adplug\rix.h">
+      <Filter>adplug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\adplug\surroundopl.h">
+      <Filter>adplug</Filter>
+    </ClInclude>
+    <ClInclude Include="..\libmad\bit.h">
+      <Filter>libmad</Filter>
+    </ClInclude>
+    <ClInclude Include="..\libmad\decoder.h">
+      <Filter>libmad</Filter>
+    </ClInclude>
+    <ClInclude Include="..\libmad\fixed.h">
+      <Filter>libmad</Filter>
+    </ClInclude>
+    <ClInclude Include="..\libmad\frame.h">
+      <Filter>libmad</Filter>
+    </ClInclude>
+    <ClInclude Include="..\libmad\huffman.h">
+      <Filter>libmad</Filter>
+    </ClInclude>
+    <ClInclude Include="..\libmad\layer3.h">
+      <Filter>libmad</Filter>
+    </ClInclude>
+    <ClInclude Include="..\libmad\layer12.h">
+      <Filter>libmad</Filter>
+    </ClInclude>
+    <ClInclude Include="..\libmad\libmad_config.h">
+      <Filter>libmad</Filter>
+    </ClInclude>
+    <ClInclude Include="..\libmad\libmad_global.h">
+      <Filter>libmad</Filter>
+    </ClInclude>
+    <ClInclude Include="..\libmad\mad.h">
+      <Filter>libmad</Filter>
+    </ClInclude>
+    <ClInclude Include="..\libmad\music_mad.h">
+      <Filter>libmad</Filter>
+    </ClInclude>
+    <ClInclude Include="..\libmad\stream.h">
+      <Filter>libmad</Filter>
+    </ClInclude>
+    <ClInclude Include="..\libmad\synth.h">
+      <Filter>libmad</Filter>
+    </ClInclude>
+    <ClInclude Include="..\libmad\timer.h">
+      <Filter>libmad</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\battle.c" />
+    <ClCompile Include="..\ending.c" />
+    <ClCompile Include="..\fight.c" />
+    <ClCompile Include="..\font.c" />
+    <ClCompile Include="..\game.c" />
+    <ClCompile Include="..\getopt.c" />
+    <ClCompile Include="..\global.c" />
+    <ClCompile Include="..\input.c" />
+    <ClCompile Include="..\itemmenu.c" />
+    <ClCompile Include="..\magicmenu.c" />
+    <ClCompile Include="..\main.c" />
+    <ClCompile Include="..\map.c" />
+    <ClCompile Include="..\palcommon.c" />
+    <ClCompile Include="..\palette.c" />
+    <ClCompile Include="..\play.c" />
+    <ClCompile Include="..\res.c" />
+    <ClCompile Include="..\rixplay.cpp" />
+    <ClCompile Include="..\rngplay.c" />
+    <ClCompile Include="..\scene.c" />
+    <ClCompile Include="..\script.c" />
+    <ClCompile Include="..\sound.c" />
+    <ClCompile Include="..\text.c" />
+    <ClCompile Include="..\ui.c" />
+    <ClCompile Include="..\uibattle.c" />
+    <ClCompile Include="..\uigame.c" />
+    <ClCompile Include="..\util.c" />
+    <ClCompile Include="..\video.c" />
+    <ClCompile Include="..\yj1.c" />
+    <ClCompile Include="..\adplug\binfile.cpp">
+      <Filter>adplug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\adplug\binio.cpp">
+      <Filter>adplug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\adplug\dosbox_opl.cpp">
+      <Filter>adplug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\adplug\emuopl.cpp">
+      <Filter>adplug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\adplug\fmopl.c">
+      <Filter>adplug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\adplug\fprovide.cpp">
+      <Filter>adplug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\adplug\player.cpp">
+      <Filter>adplug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\adplug\rix.cpp">
+      <Filter>adplug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\adplug\surroundopl.cpp">
+      <Filter>adplug</Filter>
+    </ClCompile>
+    <ClCompile Include="..\libmad\bit.c">
+      <Filter>libmad</Filter>
+    </ClCompile>
+    <ClCompile Include="..\libmad\decoder.c">
+      <Filter>libmad</Filter>
+    </ClCompile>
+    <ClCompile Include="..\libmad\fixed.c">
+      <Filter>libmad</Filter>
+    </ClCompile>
+    <ClCompile Include="..\libmad\frame.c">
+      <Filter>libmad</Filter>
+    </ClCompile>
+    <ClCompile Include="..\libmad\huffman.c">
+      <Filter>libmad</Filter>
+    </ClCompile>
+    <ClCompile Include="..\libmad\layer3.c">
+      <Filter>libmad</Filter>
+    </ClCompile>
+    <ClCompile Include="..\libmad\layer12.c">
+      <Filter>libmad</Filter>
+    </ClCompile>
+    <ClCompile Include="..\libmad\music_mad.c">
+      <Filter>libmad</Filter>
+    </ClCompile>
+    <ClCompile Include="..\libmad\stream.c">
+      <Filter>libmad</Filter>
+    </ClCompile>
+    <ClCompile Include="..\libmad\synth.c">
+      <Filter>libmad</Filter>
+    </ClCompile>
+    <ClCompile Include="..\libmad\timer.c">
+      <Filter>libmad</Filter>
+    </ClCompile>
+    <ClCompile Include="SDL2\src\main\winrt\SDL_winrt_main_NonXAML.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\libmad\D.dat">
+      <Filter>libmad</Filter>
+    </None>
+    <None Include="..\libmad\imdct_s.dat">
+      <Filter>libmad</Filter>
+    </None>
+    <None Include="..\libmad\qc_table.dat">
+      <Filter>libmad</Filter>
+    </None>
+    <None Include="..\libmad\rq_table.dat">
+      <Filter>libmad</Filter>
+    </None>
+    <None Include="..\libmad\sf_table.dat">
+      <Filter>libmad</Filter>
+    </None>
+  </ItemGroup>
+</Project>

+ 40 - 0
winphone/WMAppManifest.xml

@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2012/deployment" AppPlatformVersion="8.0">
+  <DefaultLanguage xmlns="" code="en-US" />
+  <App xmlns="" ProductID="{f59b48bc-5646-4f8b-90b2-4b09a9d94c5c}" Title="SDLPal" RuntimeType="Modern Native" Version="1.0.0.0" Genre="apps.normal" Author="SDLPal author" Description="SDL-based reimplementation of classic Chinese RPG &quot;Xian Jian Qi Xia Zhuan&quot;." Publisher="SDLPal" PublisherID="{f27682c8-453b-451e-8c75-76c006cdede4}">
+    <IconPath IsRelative="true" IsResource="false">Assets\ApplicationIcon.png</IconPath>
+    <Capabilities>
+      <Capability Name="ID_CAP_NETWORKING" />
+      <Capability Name="ID_CAP_MEDIALIB_AUDIO" />
+      <Capability Name="ID_CAP_MEDIALIB_PLAYBACK" />
+    </Capabilities>
+    <Tasks>
+      <DefaultTask Name="_default" ImagePath="SDLPal.exe" ImageParams="" />
+    </Tasks>
+    <Tokens>
+      <PrimaryToken TokenID="SDLPalToken" TaskName="_default">
+        <TemplateFlip>
+          <SmallImageURI IsRelative="true" IsResource="false">Assets\Tiles\FlipCycleTileSmall.png</SmallImageURI>
+          <Count>0</Count>
+          <BackgroundImageURI IsRelative="true" IsResource="false">Assets\Tiles\FlipCycleTileMedium.png</BackgroundImageURI>
+          <Title>SDLPal</Title>
+          <BackContent>
+          </BackContent>
+          <BackBackgroundImageURI>
+          </BackBackgroundImageURI>
+          <BackTitle>
+          </BackTitle>
+          <DeviceLockImageURI>
+          </DeviceLockImageURI>
+          <HasLarge>
+          </HasLarge>
+        </TemplateFlip>
+      </PrimaryToken>
+    </Tokens>
+    <ScreenResolutions>
+      <ScreenResolution Name="ID_RESOLUTION_WVGA" />
+      <ScreenResolution Name="ID_RESOLUTION_WXGA" />
+      <ScreenResolution Name="ID_RESOLUTION_HD720P" />
+    </ScreenResolutions>
+  </App>
+</Deployment>