mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 06:53:43 +00:00
Compare commits
43 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
9669f6039d | ||
|
1fb135a6d2 | ||
|
b23bb93506 | ||
|
8518d01c70 | ||
|
1b215e891f | ||
|
987a1dea75 | ||
|
f07137b52d | ||
|
480a4b6098 | ||
|
5ab7a675a3 | ||
|
1d3c84a473 | ||
|
4a78f10975 | ||
|
69f279cc64 | ||
|
1efb34f710 | ||
|
84d5c46506 | ||
|
c95be907de | ||
|
3fd7fabb98 | ||
|
53ecdabb43 | ||
|
7bf6147fa1 | ||
|
a77e1d868f | ||
|
c14d904ca7 | ||
|
ec275fcefd | ||
|
550465088e | ||
|
68444a7240 | ||
|
7db0f8d7eb | ||
|
1fc846f7d8 | ||
|
d978267c3e | ||
|
e05f37a28d | ||
|
7069f4bf82 | ||
|
b197a9fb4b | ||
|
62427de092 | ||
|
037994d0f7 | ||
|
7cdfc40ad9 | ||
|
c53275d3fb | ||
|
8d58d22731 | ||
|
58ad634085 | ||
|
00ea1b2982 | ||
|
87bab26d47 | ||
|
3dbb231c5a | ||
|
a2e8d414e8 | ||
|
137f00b657 | ||
|
7fec622e51 | ||
|
05604e5604 | ||
|
ed9e0fec97 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -34,3 +34,4 @@ ReleasePackageInstaller/bin/*
|
||||
ReleasePackageInstaller/AerofoilPackageDefs.wxi
|
||||
ReleasePackageInstaller/AerofoilPackageVersion.wxi
|
||||
packages/*
|
||||
!SDL2-2.0.12/lib/x64/*
|
||||
|
120
Aerofoil.sln
120
Aerofoil.sln
@@ -13,8 +13,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GpApp", "GpApp\GpApp.vcxpro
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hqx2gp", "hqx2gp\hqx2gp.vcxproj", "{5FDE4822-C771-46A5-B6B2-FD12BACE86BF}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PictChecker", "PictChecker\PictChecker.vcxproj", "{99549E56-2B3A-4B0C-9A1F-FBA6395BC96C}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GpAudioDriver_XAudio2", "GpAudioDriver_XAudio2\GpAudioDriver_XAudio2.vcxproj", "{E3BDC783-8646-433E-ADF0-8B6390D36669}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FTagData", "FTagData\FTagData.vcxproj", "{A8FCDC5E-729C-4A80-BF9F-B669C52B2AE3}"
|
||||
@@ -54,202 +52,120 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WindowsUnicodeToolShim", "W
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EmitWiXVersion", "EmitWiXVersion\EmitWiXVersion.vcxproj", "{7EFF1E21-C375-45EA-A069-4E2232C8A72B}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GpShell", "GpShell\GpShell.vcxproj", "{10CF9B5F-61D0-4B5B-89F4-810B58FC053D}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GpFontHandler_FreeType2", "GpFontHandler_FreeType2\GpFontHandler_FreeType2.vcxproj", "{4B564030-8985-4975-91E1-E1B2C16AE2A1}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AerofoilSDL", "AerofoilSDL\AerofoilSDL.vcxproj", "{33542FF0-0473-4802-BC79-3B8261790F65}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{45B1B18C-C846-4044-9206-74F58DFC5E88}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{45B1B18C-C846-4044-9206-74F58DFC5E88}.Debug|x64.Build.0 = Debug|x64
|
||||
{45B1B18C-C846-4044-9206-74F58DFC5E88}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{45B1B18C-C846-4044-9206-74F58DFC5E88}.Debug|x86.Build.0 = Debug|Win32
|
||||
{45B1B18C-C846-4044-9206-74F58DFC5E88}.Release|x64.ActiveCfg = Release|x64
|
||||
{45B1B18C-C846-4044-9206-74F58DFC5E88}.Release|x64.Build.0 = Release|x64
|
||||
{45B1B18C-C846-4044-9206-74F58DFC5E88}.Release|x86.ActiveCfg = Release|Win32
|
||||
{45B1B18C-C846-4044-9206-74F58DFC5E88}.Release|x86.Build.0 = Release|Win32
|
||||
{6EC62B0F-9353-40A4-A510-3788F1368B33}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{6EC62B0F-9353-40A4-A510-3788F1368B33}.Debug|x64.Build.0 = Debug|x64
|
||||
{6EC62B0F-9353-40A4-A510-3788F1368B33}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{6EC62B0F-9353-40A4-A510-3788F1368B33}.Debug|x86.Build.0 = Debug|Win32
|
||||
{6EC62B0F-9353-40A4-A510-3788F1368B33}.Release|x64.ActiveCfg = Release|x64
|
||||
{6EC62B0F-9353-40A4-A510-3788F1368B33}.Release|x64.Build.0 = Release|x64
|
||||
{6EC62B0F-9353-40A4-A510-3788F1368B33}.Release|x86.ActiveCfg = Release|Win32
|
||||
{6EC62B0F-9353-40A4-A510-3788F1368B33}.Release|x86.Build.0 = Release|Win32
|
||||
{2FF15659-5C72-48B8-B55B-3C658E4125B5}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{2FF15659-5C72-48B8-B55B-3C658E4125B5}.Debug|x64.Build.0 = Debug|x64
|
||||
{2FF15659-5C72-48B8-B55B-3C658E4125B5}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{2FF15659-5C72-48B8-B55B-3C658E4125B5}.Debug|x86.Build.0 = Debug|Win32
|
||||
{2FF15659-5C72-48B8-B55B-3C658E4125B5}.Release|x64.ActiveCfg = Release|x64
|
||||
{2FF15659-5C72-48B8-B55B-3C658E4125B5}.Release|x64.Build.0 = Release|x64
|
||||
{2FF15659-5C72-48B8-B55B-3C658E4125B5}.Release|x86.ActiveCfg = Release|Win32
|
||||
{2FF15659-5C72-48B8-B55B-3C658E4125B5}.Release|x86.Build.0 = Release|Win32
|
||||
{6233C3F2-5781-488E-B190-4FA8836F5A77}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{6233C3F2-5781-488E-B190-4FA8836F5A77}.Debug|x64.Build.0 = Debug|x64
|
||||
{6233C3F2-5781-488E-B190-4FA8836F5A77}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{6233C3F2-5781-488E-B190-4FA8836F5A77}.Debug|x86.Build.0 = Debug|Win32
|
||||
{6233C3F2-5781-488E-B190-4FA8836F5A77}.Release|x64.ActiveCfg = Release|x64
|
||||
{6233C3F2-5781-488E-B190-4FA8836F5A77}.Release|x64.Build.0 = Release|x64
|
||||
{6233C3F2-5781-488E-B190-4FA8836F5A77}.Release|x86.ActiveCfg = Release|Win32
|
||||
{6233C3F2-5781-488E-B190-4FA8836F5A77}.Release|x86.Build.0 = Release|Win32
|
||||
{5FDE4822-C771-46A5-B6B2-FD12BACE86BF}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{5FDE4822-C771-46A5-B6B2-FD12BACE86BF}.Debug|x64.Build.0 = Debug|x64
|
||||
{5FDE4822-C771-46A5-B6B2-FD12BACE86BF}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{5FDE4822-C771-46A5-B6B2-FD12BACE86BF}.Debug|x86.Build.0 = Debug|Win32
|
||||
{5FDE4822-C771-46A5-B6B2-FD12BACE86BF}.Release|x64.ActiveCfg = Release|x64
|
||||
{5FDE4822-C771-46A5-B6B2-FD12BACE86BF}.Release|x64.Build.0 = Release|x64
|
||||
{5FDE4822-C771-46A5-B6B2-FD12BACE86BF}.Release|x86.ActiveCfg = Release|Win32
|
||||
{5FDE4822-C771-46A5-B6B2-FD12BACE86BF}.Release|x86.Build.0 = Release|Win32
|
||||
{99549E56-2B3A-4B0C-9A1F-FBA6395BC96C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{99549E56-2B3A-4B0C-9A1F-FBA6395BC96C}.Debug|x64.Build.0 = Debug|x64
|
||||
{99549E56-2B3A-4B0C-9A1F-FBA6395BC96C}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{99549E56-2B3A-4B0C-9A1F-FBA6395BC96C}.Debug|x86.Build.0 = Debug|Win32
|
||||
{99549E56-2B3A-4B0C-9A1F-FBA6395BC96C}.Release|x64.ActiveCfg = Release|x64
|
||||
{99549E56-2B3A-4B0C-9A1F-FBA6395BC96C}.Release|x64.Build.0 = Release|x64
|
||||
{99549E56-2B3A-4B0C-9A1F-FBA6395BC96C}.Release|x86.ActiveCfg = Release|Win32
|
||||
{99549E56-2B3A-4B0C-9A1F-FBA6395BC96C}.Release|x86.Build.0 = Release|Win32
|
||||
{E3BDC783-8646-433E-ADF0-8B6390D36669}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{E3BDC783-8646-433E-ADF0-8B6390D36669}.Debug|x64.Build.0 = Debug|x64
|
||||
{E3BDC783-8646-433E-ADF0-8B6390D36669}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{E3BDC783-8646-433E-ADF0-8B6390D36669}.Debug|x86.Build.0 = Debug|Win32
|
||||
{E3BDC783-8646-433E-ADF0-8B6390D36669}.Release|x64.ActiveCfg = Release|x64
|
||||
{E3BDC783-8646-433E-ADF0-8B6390D36669}.Release|x64.Build.0 = Release|x64
|
||||
{E3BDC783-8646-433E-ADF0-8B6390D36669}.Release|x86.ActiveCfg = Release|Win32
|
||||
{E3BDC783-8646-433E-ADF0-8B6390D36669}.Release|x86.Build.0 = Release|Win32
|
||||
{A8FCDC5E-729C-4A80-BF9F-B669C52B2AE3}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A8FCDC5E-729C-4A80-BF9F-B669C52B2AE3}.Debug|x64.Build.0 = Debug|x64
|
||||
{A8FCDC5E-729C-4A80-BF9F-B669C52B2AE3}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{A8FCDC5E-729C-4A80-BF9F-B669C52B2AE3}.Debug|x86.Build.0 = Debug|Win32
|
||||
{A8FCDC5E-729C-4A80-BF9F-B669C52B2AE3}.Release|x64.ActiveCfg = Release|x64
|
||||
{A8FCDC5E-729C-4A80-BF9F-B669C52B2AE3}.Release|x64.Build.0 = Release|x64
|
||||
{A8FCDC5E-729C-4A80-BF9F-B669C52B2AE3}.Release|x86.ActiveCfg = Release|Win32
|
||||
{A8FCDC5E-729C-4A80-BF9F-B669C52B2AE3}.Release|x86.Build.0 = Release|Win32
|
||||
{487216D8-16BA-4B4C-B5BF-43FEEDFEE03A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{487216D8-16BA-4B4C-B5BF-43FEEDFEE03A}.Debug|x64.Build.0 = Debug|x64
|
||||
{487216D8-16BA-4B4C-B5BF-43FEEDFEE03A}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{487216D8-16BA-4B4C-B5BF-43FEEDFEE03A}.Debug|x86.Build.0 = Debug|Win32
|
||||
{487216D8-16BA-4B4C-B5BF-43FEEDFEE03A}.Release|x64.ActiveCfg = Release|x64
|
||||
{487216D8-16BA-4B4C-B5BF-43FEEDFEE03A}.Release|x64.Build.0 = Release|x64
|
||||
{487216D8-16BA-4B4C-B5BF-43FEEDFEE03A}.Release|x86.ActiveCfg = Release|Win32
|
||||
{487216D8-16BA-4B4C-B5BF-43FEEDFEE03A}.Release|x86.Build.0 = Release|Win32
|
||||
{ED2F91E1-673A-4590-82B2-EB157927D3E3}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{ED2F91E1-673A-4590-82B2-EB157927D3E3}.Debug|x64.Build.0 = Debug|x64
|
||||
{ED2F91E1-673A-4590-82B2-EB157927D3E3}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{ED2F91E1-673A-4590-82B2-EB157927D3E3}.Debug|x86.Build.0 = Debug|Win32
|
||||
{ED2F91E1-673A-4590-82B2-EB157927D3E3}.Release|x64.ActiveCfg = Release|x64
|
||||
{ED2F91E1-673A-4590-82B2-EB157927D3E3}.Release|x64.Build.0 = Release|x64
|
||||
{ED2F91E1-673A-4590-82B2-EB157927D3E3}.Release|x86.ActiveCfg = Release|Win32
|
||||
{ED2F91E1-673A-4590-82B2-EB157927D3E3}.Release|x86.Build.0 = Release|Win32
|
||||
{B852D549-4020-4477-8BFB-E199FF78B047}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B852D549-4020-4477-8BFB-E199FF78B047}.Debug|x64.Build.0 = Debug|x64
|
||||
{B852D549-4020-4477-8BFB-E199FF78B047}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{B852D549-4020-4477-8BFB-E199FF78B047}.Debug|x86.Build.0 = Debug|Win32
|
||||
{B852D549-4020-4477-8BFB-E199FF78B047}.Release|x64.ActiveCfg = Release|x64
|
||||
{B852D549-4020-4477-8BFB-E199FF78B047}.Release|x64.Build.0 = Release|x64
|
||||
{B852D549-4020-4477-8BFB-E199FF78B047}.Release|x86.ActiveCfg = Release|Win32
|
||||
{B852D549-4020-4477-8BFB-E199FF78B047}.Release|x86.Build.0 = Release|Win32
|
||||
{FFC961AC-55B4-4A38-A83E-06AE98F59ACC}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{FFC961AC-55B4-4A38-A83E-06AE98F59ACC}.Debug|x64.Build.0 = Debug|x64
|
||||
{FFC961AC-55B4-4A38-A83E-06AE98F59ACC}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{FFC961AC-55B4-4A38-A83E-06AE98F59ACC}.Debug|x86.Build.0 = Debug|Win32
|
||||
{FFC961AC-55B4-4A38-A83E-06AE98F59ACC}.Release|x64.ActiveCfg = Release|x64
|
||||
{FFC961AC-55B4-4A38-A83E-06AE98F59ACC}.Release|x64.Build.0 = Release|x64
|
||||
{FFC961AC-55B4-4A38-A83E-06AE98F59ACC}.Release|x86.ActiveCfg = Release|Win32
|
||||
{FFC961AC-55B4-4A38-A83E-06AE98F59ACC}.Release|x86.Build.0 = Release|Win32
|
||||
{17B96F07-EF92-47CD-95A5-8E6EE38AB564}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{17B96F07-EF92-47CD-95A5-8E6EE38AB564}.Debug|x64.Build.0 = Debug|x64
|
||||
{17B96F07-EF92-47CD-95A5-8E6EE38AB564}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{17B96F07-EF92-47CD-95A5-8E6EE38AB564}.Debug|x86.Build.0 = Debug|Win32
|
||||
{17B96F07-EF92-47CD-95A5-8E6EE38AB564}.Release|x64.ActiveCfg = Release|x64
|
||||
{17B96F07-EF92-47CD-95A5-8E6EE38AB564}.Release|x64.Build.0 = Release|x64
|
||||
{17B96F07-EF92-47CD-95A5-8E6EE38AB564}.Release|x86.ActiveCfg = Release|Win32
|
||||
{17B96F07-EF92-47CD-95A5-8E6EE38AB564}.Release|x86.Build.0 = Release|Win32
|
||||
{0E383EF0-CEF7-4733-87C6-5AC9844AA1EF}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{0E383EF0-CEF7-4733-87C6-5AC9844AA1EF}.Debug|x64.Build.0 = Debug|x64
|
||||
{0E383EF0-CEF7-4733-87C6-5AC9844AA1EF}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{0E383EF0-CEF7-4733-87C6-5AC9844AA1EF}.Debug|x86.Build.0 = Debug|Win32
|
||||
{0E383EF0-CEF7-4733-87C6-5AC9844AA1EF}.Release|x64.ActiveCfg = Release|x64
|
||||
{0E383EF0-CEF7-4733-87C6-5AC9844AA1EF}.Release|x64.Build.0 = Release|x64
|
||||
{0E383EF0-CEF7-4733-87C6-5AC9844AA1EF}.Release|x86.ActiveCfg = Release|Win32
|
||||
{0E383EF0-CEF7-4733-87C6-5AC9844AA1EF}.Release|x86.Build.0 = Release|Win32
|
||||
{07351A8E-1F79-42C9-BBAB-31F071EAA99E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{07351A8E-1F79-42C9-BBAB-31F071EAA99E}.Debug|x64.Build.0 = Debug|x64
|
||||
{07351A8E-1F79-42C9-BBAB-31F071EAA99E}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{07351A8E-1F79-42C9-BBAB-31F071EAA99E}.Debug|x86.Build.0 = Debug|Win32
|
||||
{07351A8E-1F79-42C9-BBAB-31F071EAA99E}.Release|x64.ActiveCfg = Release|x64
|
||||
{07351A8E-1F79-42C9-BBAB-31F071EAA99E}.Release|x64.Build.0 = Release|x64
|
||||
{07351A8E-1F79-42C9-BBAB-31F071EAA99E}.Release|x86.ActiveCfg = Release|Win32
|
||||
{07351A8E-1F79-42C9-BBAB-31F071EAA99E}.Release|x86.Build.0 = Release|Win32
|
||||
{27B7CA46-ED23-45C2-BF5F-0C126D81AEBF}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{27B7CA46-ED23-45C2-BF5F-0C126D81AEBF}.Debug|x64.Build.0 = Debug|x64
|
||||
{27B7CA46-ED23-45C2-BF5F-0C126D81AEBF}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{27B7CA46-ED23-45C2-BF5F-0C126D81AEBF}.Debug|x86.Build.0 = Debug|Win32
|
||||
{27B7CA46-ED23-45C2-BF5F-0C126D81AEBF}.Release|x64.ActiveCfg = Release|x64
|
||||
{27B7CA46-ED23-45C2-BF5F-0C126D81AEBF}.Release|x64.Build.0 = Release|x64
|
||||
{27B7CA46-ED23-45C2-BF5F-0C126D81AEBF}.Release|x86.ActiveCfg = Release|Win32
|
||||
{27B7CA46-ED23-45C2-BF5F-0C126D81AEBF}.Release|x86.Build.0 = Release|Win32
|
||||
{6AE5C85E-6631-4A12-97A0-A05F812FE9CA}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{6AE5C85E-6631-4A12-97A0-A05F812FE9CA}.Debug|x64.Build.0 = Debug|x64
|
||||
{6AE5C85E-6631-4A12-97A0-A05F812FE9CA}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{6AE5C85E-6631-4A12-97A0-A05F812FE9CA}.Debug|x86.Build.0 = Debug|Win32
|
||||
{6AE5C85E-6631-4A12-97A0-A05F812FE9CA}.Release|x64.ActiveCfg = Release|x64
|
||||
{6AE5C85E-6631-4A12-97A0-A05F812FE9CA}.Release|x64.Build.0 = Release|x64
|
||||
{6AE5C85E-6631-4A12-97A0-A05F812FE9CA}.Release|x86.ActiveCfg = Release|Win32
|
||||
{6AE5C85E-6631-4A12-97A0-A05F812FE9CA}.Release|x86.Build.0 = Release|Win32
|
||||
{D7BFE702-0667-4155-9B0B-2A54DF9AE60B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{D7BFE702-0667-4155-9B0B-2A54DF9AE60B}.Debug|x64.Build.0 = Debug|x64
|
||||
{D7BFE702-0667-4155-9B0B-2A54DF9AE60B}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{D7BFE702-0667-4155-9B0B-2A54DF9AE60B}.Debug|x86.Build.0 = Debug|Win32
|
||||
{D7BFE702-0667-4155-9B0B-2A54DF9AE60B}.Release|x64.ActiveCfg = Release|x64
|
||||
{D7BFE702-0667-4155-9B0B-2A54DF9AE60B}.Release|x64.Build.0 = Release|x64
|
||||
{D7BFE702-0667-4155-9B0B-2A54DF9AE60B}.Release|x86.ActiveCfg = Release|Win32
|
||||
{D7BFE702-0667-4155-9B0B-2A54DF9AE60B}.Release|x86.Build.0 = Release|Win32
|
||||
{9023DF2F-A33D-485A-B13D-0973348B2F9B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{9023DF2F-A33D-485A-B13D-0973348B2F9B}.Debug|x64.Build.0 = Debug|x64
|
||||
{9023DF2F-A33D-485A-B13D-0973348B2F9B}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{9023DF2F-A33D-485A-B13D-0973348B2F9B}.Debug|x86.Build.0 = Debug|Win32
|
||||
{9023DF2F-A33D-485A-B13D-0973348B2F9B}.Release|x64.ActiveCfg = Release|x64
|
||||
{9023DF2F-A33D-485A-B13D-0973348B2F9B}.Release|x64.Build.0 = Release|x64
|
||||
{9023DF2F-A33D-485A-B13D-0973348B2F9B}.Release|x86.ActiveCfg = Release|Win32
|
||||
{9023DF2F-A33D-485A-B13D-0973348B2F9B}.Release|x86.Build.0 = Release|Win32
|
||||
{89F8D13E-F216-4B67-8DE9-7F842D349E94}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{89F8D13E-F216-4B67-8DE9-7F842D349E94}.Debug|x64.Build.0 = Debug|x64
|
||||
{89F8D13E-F216-4B67-8DE9-7F842D349E94}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{89F8D13E-F216-4B67-8DE9-7F842D349E94}.Debug|x86.Build.0 = Debug|Win32
|
||||
{89F8D13E-F216-4B67-8DE9-7F842D349E94}.Release|x64.ActiveCfg = Release|x64
|
||||
{89F8D13E-F216-4B67-8DE9-7F842D349E94}.Release|x64.Build.0 = Release|x64
|
||||
{89F8D13E-F216-4B67-8DE9-7F842D349E94}.Release|x86.ActiveCfg = Release|Win32
|
||||
{89F8D13E-F216-4B67-8DE9-7F842D349E94}.Release|x86.Build.0 = Release|Win32
|
||||
{A778D062-DE76-49F6-8D05-EB26852DD605}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A778D062-DE76-49F6-8D05-EB26852DD605}.Debug|x64.Build.0 = Debug|x64
|
||||
{A778D062-DE76-49F6-8D05-EB26852DD605}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{A778D062-DE76-49F6-8D05-EB26852DD605}.Debug|x86.Build.0 = Debug|Win32
|
||||
{A778D062-DE76-49F6-8D05-EB26852DD605}.Release|x64.ActiveCfg = Release|x64
|
||||
{A778D062-DE76-49F6-8D05-EB26852DD605}.Release|x64.Build.0 = Release|x64
|
||||
{A778D062-DE76-49F6-8D05-EB26852DD605}.Release|x86.ActiveCfg = Release|Win32
|
||||
{A778D062-DE76-49F6-8D05-EB26852DD605}.Release|x86.Build.0 = Release|Win32
|
||||
{D26BD501-28A7-4849-8130-FB5EA0A2B82F}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{D26BD501-28A7-4849-8130-FB5EA0A2B82F}.Debug|x86.ActiveCfg = Debug|x64
|
||||
{D26BD501-28A7-4849-8130-FB5EA0A2B82F}.Release|x64.ActiveCfg = Release|x64
|
||||
{D26BD501-28A7-4849-8130-FB5EA0A2B82F}.Release|x86.ActiveCfg = Release|x64
|
||||
{15009625-1120-405E-8BBA-69A16CD6713D}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{15009625-1120-405E-8BBA-69A16CD6713D}.Debug|x64.Build.0 = Debug|x64
|
||||
{15009625-1120-405E-8BBA-69A16CD6713D}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{15009625-1120-405E-8BBA-69A16CD6713D}.Debug|x86.Build.0 = Debug|Win32
|
||||
{15009625-1120-405E-8BBA-69A16CD6713D}.Release|x64.ActiveCfg = Release|x64
|
||||
{15009625-1120-405E-8BBA-69A16CD6713D}.Release|x64.Build.0 = Release|x64
|
||||
{15009625-1120-405E-8BBA-69A16CD6713D}.Release|x86.ActiveCfg = Release|Win32
|
||||
{15009625-1120-405E-8BBA-69A16CD6713D}.Release|x86.Build.0 = Release|Win32
|
||||
{7EFF1E21-C375-45EA-A069-4E2232C8A72B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7EFF1E21-C375-45EA-A069-4E2232C8A72B}.Debug|x64.Build.0 = Debug|x64
|
||||
{7EFF1E21-C375-45EA-A069-4E2232C8A72B}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{7EFF1E21-C375-45EA-A069-4E2232C8A72B}.Debug|x86.Build.0 = Debug|Win32
|
||||
{7EFF1E21-C375-45EA-A069-4E2232C8A72B}.Release|x64.ActiveCfg = Release|x64
|
||||
{7EFF1E21-C375-45EA-A069-4E2232C8A72B}.Release|x64.Build.0 = Release|x64
|
||||
{7EFF1E21-C375-45EA-A069-4E2232C8A72B}.Release|x86.ActiveCfg = Release|Win32
|
||||
{7EFF1E21-C375-45EA-A069-4E2232C8A72B}.Release|x86.Build.0 = Release|Win32
|
||||
{10CF9B5F-61D0-4B5B-89F4-810B58FC053D}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{10CF9B5F-61D0-4B5B-89F4-810B58FC053D}.Debug|x64.Build.0 = Debug|x64
|
||||
{10CF9B5F-61D0-4B5B-89F4-810B58FC053D}.Release|x64.ActiveCfg = Release|x64
|
||||
{10CF9B5F-61D0-4B5B-89F4-810B58FC053D}.Release|x64.Build.0 = Release|x64
|
||||
{4B564030-8985-4975-91E1-E1B2C16AE2A1}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{4B564030-8985-4975-91E1-E1B2C16AE2A1}.Debug|x64.Build.0 = Debug|x64
|
||||
{4B564030-8985-4975-91E1-E1B2C16AE2A1}.Release|x64.ActiveCfg = Release|x64
|
||||
{4B564030-8985-4975-91E1-E1B2C16AE2A1}.Release|x64.Build.0 = Release|x64
|
||||
{33542FF0-0473-4802-BC79-3B8261790F65}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{33542FF0-0473-4802-BC79-3B8261790F65}.Debug|x64.Build.0 = Debug|x64
|
||||
{33542FF0-0473-4802-BC79-3B8261790F65}.Release|x64.ActiveCfg = Release|x64
|
||||
{33542FF0-0473-4802-BC79-3B8261790F65}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@@ -1,14 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.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>
|
||||
@@ -25,19 +17,6 @@
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
@@ -56,33 +35,14 @@
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</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="..\PortabilityLayer.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\GpCommon.props" />
|
||||
<Import Project="..\GpMainApp.props" />
|
||||
<Import Project="..\FreeTypePublic.props" />
|
||||
<Import Project="..\FreeTypeImport.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="..\PortabilityLayer.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\GpCommon.props" />
|
||||
<Import Project="..\GpMainApp.props" />
|
||||
<Import Project="..\FreeTypePublic.props" />
|
||||
<Import Project="..\FreeTypeImport.props" />
|
||||
<Import Project="..\Release.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="..\PortabilityLayer.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\GpCommon.props" />
|
||||
<Import Project="..\GpMainApp.props" />
|
||||
<Import Project="..\FreeTypePublic.props" />
|
||||
<Import Project="..\FreeTypeImport.props" />
|
||||
<Import Project="..\GpShell.props" />
|
||||
<Import Project="..\Debug.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" />
|
||||
@@ -90,9 +50,8 @@
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\GpCommon.props" />
|
||||
<Import Project="..\GpMainApp.props" />
|
||||
<Import Project="..\FreeTypePublic.props" />
|
||||
<Import Project="..\FreeTypeImport.props" />
|
||||
<Import Project="..\Release.props" />
|
||||
<Import Project="..\GpShell.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
@@ -107,28 +66,6 @@
|
||||
<AdditionalDependencies>shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
@@ -145,31 +82,22 @@
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="GpAppEnvironment.cpp" />
|
||||
<ClCompile Include="GpAudioDriverFactory.cpp" />
|
||||
<ClCompile Include="GpColorCursor_Win32.cpp" />
|
||||
<ClCompile Include="GpDisplayDriverFactory.cpp" />
|
||||
<ClCompile Include="GpFiber_Win32.cpp" />
|
||||
<ClCompile Include="GpFileStream_Win32.cpp" />
|
||||
<ClCompile Include="GpFileSystem_Win32.cpp" />
|
||||
<ClCompile Include="GpFontHandlerFactory.cpp" />
|
||||
<ClCompile Include="GpFontHandler_FreeType2.cpp" />
|
||||
<ClCompile Include="GpGlobalConfig.cpp" />
|
||||
<ClCompile Include="GpInputDriverFactory.cpp" />
|
||||
<ClCompile Include="GpLogDriver_Win32.cpp" />
|
||||
<ClCompile Include="GpMain.cpp" />
|
||||
<ClCompile Include="GpMain_Win32.cpp" />
|
||||
<ClCompile Include="GpMemoryBuffer.cpp" />
|
||||
<ClCompile Include="GpMutex_Win32.cpp" />
|
||||
<ClCompile Include="GpSystemServices_Win32.cpp" />
|
||||
<ClCompile Include="GpFiberStarter_Win32.cpp" />
|
||||
<ClCompile Include="GpThreadEvent_Win32.cpp" />
|
||||
<ClCompile Include="GpVOSEventQueue.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\GpCommon\EGpInputDriverType.h" />
|
||||
<ClInclude Include="..\GpCommon\EGpStandardCursor.h" />
|
||||
<ClInclude Include="..\GpCommon\GpApplicationName.h" />
|
||||
<ClInclude Include="..\GpCommon\GpBuildVersion.h" />
|
||||
<ClInclude Include="..\GpCommon\GpDisplayDriverTickStatus.h" />
|
||||
<ClInclude Include="..\GpCommon\GpFileCreationDisposition.h" />
|
||||
<ClInclude Include="..\GpCommon\GpInputDriverProperties.h" />
|
||||
@@ -177,30 +105,18 @@
|
||||
<ClInclude Include="..\GpCommon\IGpAudioChannelCallbacks.h" />
|
||||
<ClInclude Include="..\GpCommon\IGpDisplayDriverSurface.h" />
|
||||
<ClInclude Include="..\GpCommon\IGpLogDriver.h" />
|
||||
<ClInclude Include="GpAppEnvironment.h" />
|
||||
<ClInclude Include="GpAudioDriverFactory.h" />
|
||||
<ClInclude Include="GpDisplayDriverFactory.h" />
|
||||
<ClInclude Include="..\GpCommon\IGpPrefsHandler.h" />
|
||||
<ClInclude Include="GpFiber_Win32.h" />
|
||||
<ClInclude Include="GpFileStream_Win32.h" />
|
||||
<ClInclude Include="GpFileSystem_Win32.h" />
|
||||
<ClInclude Include="GpFontHandler_FreeType2.h" />
|
||||
<ClInclude Include="GpFontHandlerFactory.h" />
|
||||
<ClInclude Include="GpGlobalConfig.h" />
|
||||
<ClInclude Include="GpInputDriverFactory.h" />
|
||||
<ClInclude Include="GpLogDriver_Win32.h" />
|
||||
<ClInclude Include="GpMain.h" />
|
||||
<ClInclude Include="GpMemoryBuffer.h" />
|
||||
<ClInclude Include="GpMutex_Win32.h" />
|
||||
<ClInclude Include="GpSystemServices_Win32.h" />
|
||||
<ClInclude Include="GpFiberStarter.h" />
|
||||
<ClInclude Include="GpThreadEvent_Win32.h" />
|
||||
<ClInclude Include="GpVOSEventQueue.h" />
|
||||
<ClInclude Include="resource.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\FreeType\FreeType.vcxproj">
|
||||
<Project>{487216d8-16ba-4b4c-b5bf-43feedfee03a}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\GpApp\GpApp.vcxproj">
|
||||
<Project>{6233c3f2-5781-488e-b190-4fa8836f5a77}</Project>
|
||||
</ProjectReference>
|
||||
@@ -210,9 +126,15 @@
|
||||
<ProjectReference Include="..\GpDisplayDriver_D3D11\GpDisplayDriver_D3D11.vcxproj">
|
||||
<Project>{ffc961ac-55b4-4a38-a83e-06ae98f59acc}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\GpFontHandler_FreeType2\GpFontHandler_FreeType2.vcxproj">
|
||||
<Project>{4b564030-8985-4975-91e1-e1b2c16ae2a1}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\GpInputDriver_XInput\GpInputDriver_XInput.vcxproj">
|
||||
<Project>{17b96f07-ef92-47cd-95a5-8e6ee38ab564}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\GpShell\GpShell.vcxproj">
|
||||
<Project>{10cf9b5f-61d0-4b5b-89f4-810b58fc053d}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Aerofoil.rc" />
|
||||
|
@@ -1,21 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="GpVOSEventQueue.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GpAppEnvironment.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GpAudioDriverFactory.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GpColorCursor_Win32.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GpDisplayDriverFactory.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GpFiber_Win32.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -28,27 +16,9 @@
|
||||
<ClCompile Include="GpFileSystem_Win32.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GpFontHandler_FreeType2.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GpFontHandlerFactory.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GpGlobalConfig.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GpInputDriverFactory.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GpMain.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GpMain_Win32.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GpMemoryBuffer.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GpMutex_Win32.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -69,27 +39,15 @@
|
||||
<ClInclude Include="..\GpCommon\EGpStandardCursor.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GpAppEnvironment.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\GpCommon\GpApplicationName.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GpAudioDriverFactory.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GpDisplayDriverFactory.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\GpCommon\GpDisplayDriverTickStatus.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GpFiber_Win32.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GpFiberStarter.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\GpCommon\GpFileCreationDisposition.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -102,24 +60,9 @@
|
||||
<ClInclude Include="GpFontHandler_FreeType2.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GpFontHandlerFactory.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GpGlobalConfig.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GpInputDriverFactory.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\GpCommon\GpInputDriverProperties.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GpMain.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GpMemoryBuffer.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GpMutex_Win32.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -129,9 +72,6 @@
|
||||
<ClInclude Include="GpThreadEvent_Win32.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GpVOSEventQueue.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\GpCommon\IGpAudioChannelCallbacks.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -150,6 +90,12 @@
|
||||
<ClInclude Include="GpLogDriver_Win32.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\GpCommon\IGpPrefsHandler.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\GpCommon\GpBuildVersion.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="ConvertedResources\Large128.ico">
|
||||
|
@@ -51,8 +51,8 @@ void GpCursor_Win32::DecRef()
|
||||
{
|
||||
m_refCount--;
|
||||
if (m_refCount == 0)
|
||||
{
|
||||
{
|
||||
this->~GpCursor_Win32();
|
||||
free(this);
|
||||
}
|
||||
free(this);
|
||||
}
|
||||
}
|
||||
|
@@ -1,56 +1,56 @@
|
||||
#include "GpFiberStarter.h"
|
||||
#include "GpFiber_Win32.h"
|
||||
#include "GpWindows.h"
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
namespace GpFiberStarter_Win32
|
||||
{
|
||||
struct FiberStartState
|
||||
{
|
||||
GpFiberStarter::ThreadFunc_t m_threadFunc;
|
||||
IGpFiber *m_creatingFiber;
|
||||
void *m_context;
|
||||
};
|
||||
|
||||
static VOID WINAPI FiberStartRoutine(LPVOID lpThreadParameter)
|
||||
{
|
||||
const FiberStartState *tss = static_cast<const FiberStartState*>(lpThreadParameter);
|
||||
|
||||
GpFiberStarter::ThreadFunc_t threadFunc = tss->m_threadFunc;
|
||||
IGpFiber *creatingFiber = tss->m_creatingFiber;
|
||||
void *context = tss->m_context;
|
||||
creatingFiber->YieldTo();
|
||||
|
||||
threadFunc(context);
|
||||
|
||||
assert(!"Fiber function exited");
|
||||
}
|
||||
}
|
||||
|
||||
IGpFiber *GpFiberStarter::StartFiber(ThreadFunc_t threadFunc, void *context, IGpFiber *creatingFiber)
|
||||
{
|
||||
ULONG_PTR lowLimit;
|
||||
ULONG_PTR highLimit;
|
||||
#include "GpFiberStarter.h"
|
||||
#include "GpFiber_Win32.h"
|
||||
#include "GpWindows.h"
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
namespace GpFiberStarter_Win32
|
||||
{
|
||||
struct FiberStartState
|
||||
{
|
||||
GpFiberStarter::ThreadFunc_t m_threadFunc;
|
||||
IGpFiber *m_creatingFiber;
|
||||
void *m_context;
|
||||
};
|
||||
|
||||
static VOID WINAPI FiberStartRoutine(LPVOID lpThreadParameter)
|
||||
{
|
||||
const FiberStartState *tss = static_cast<const FiberStartState*>(lpThreadParameter);
|
||||
|
||||
GpFiberStarter::ThreadFunc_t threadFunc = tss->m_threadFunc;
|
||||
IGpFiber *creatingFiber = tss->m_creatingFiber;
|
||||
void *context = tss->m_context;
|
||||
creatingFiber->YieldTo();
|
||||
|
||||
threadFunc(context);
|
||||
|
||||
assert(!"Fiber function exited");
|
||||
}
|
||||
}
|
||||
|
||||
IGpFiber *GpFiberStarter::StartFiber(ThreadFunc_t threadFunc, void *context, IGpFiber *creatingFiber)
|
||||
{
|
||||
ULONG_PTR lowLimit;
|
||||
ULONG_PTR highLimit;
|
||||
|
||||
#if 0
|
||||
GetCurrentThreadStackLimits(&lowLimit, &highLimit);
|
||||
|
||||
#if 0
|
||||
GetCurrentThreadStackLimits(&lowLimit, &highLimit);
|
||||
|
||||
ULONG_PTR stackSize = highLimit - lowLimit;
|
||||
#else
|
||||
ULONG_PTR stackSize = 1024 * 1024;
|
||||
#endif
|
||||
|
||||
GpFiberStarter_Win32::FiberStartState startState;
|
||||
startState.m_context = context;
|
||||
startState.m_creatingFiber = creatingFiber;
|
||||
startState.m_threadFunc = threadFunc;
|
||||
|
||||
void *fiber = CreateFiber(static_cast<SIZE_T>(stackSize), GpFiberStarter_Win32::FiberStartRoutine, &startState);
|
||||
if (!fiber)
|
||||
return nullptr;
|
||||
|
||||
SwitchToFiber(fiber);
|
||||
|
||||
return GpFiber_Win32::Create(fiber);
|
||||
}
|
||||
#endif
|
||||
|
||||
GpFiberStarter_Win32::FiberStartState startState;
|
||||
startState.m_context = context;
|
||||
startState.m_creatingFiber = creatingFiber;
|
||||
startState.m_threadFunc = threadFunc;
|
||||
|
||||
void *fiber = CreateFiber(static_cast<SIZE_T>(stackSize), GpFiberStarter_Win32::FiberStartRoutine, &startState);
|
||||
if (!fiber)
|
||||
return nullptr;
|
||||
|
||||
SwitchToFiber(fiber);
|
||||
|
||||
return GpFiber_Win32::Create(fiber);
|
||||
}
|
||||
|
@@ -1,149 +1,149 @@
|
||||
#include "GpFileStream_Win32.h"
|
||||
|
||||
GpFileStream_Win32::GpFileStream_Win32(HANDLE handle, bool readable, bool writeable, bool seekable)
|
||||
: m_handle(handle)
|
||||
, m_readable(readable)
|
||||
, m_writeable(writeable)
|
||||
, m_seekable(seekable)
|
||||
{
|
||||
}
|
||||
|
||||
size_t GpFileStream_Win32::Read(void *bytesOut, size_t size)
|
||||
{
|
||||
if (!m_readable)
|
||||
return 0;
|
||||
|
||||
size_t totalRead = 0;
|
||||
while (size)
|
||||
{
|
||||
const DWORD chunkSizeToRead = (size > MAXDWORD) ? MAXDWORD : size;
|
||||
DWORD numRead = 0;
|
||||
|
||||
BOOL readSucceeded = ReadFile(m_handle, bytesOut, chunkSizeToRead, &numRead, nullptr);
|
||||
if (!readSucceeded)
|
||||
return totalRead;
|
||||
|
||||
totalRead += static_cast<size_t>(numRead);
|
||||
size -= static_cast<size_t>(numRead);
|
||||
bytesOut = static_cast<void*>(static_cast<uint8_t*>(bytesOut) + numRead);
|
||||
|
||||
if (numRead != chunkSizeToRead)
|
||||
return totalRead;
|
||||
}
|
||||
|
||||
return totalRead;
|
||||
}
|
||||
|
||||
size_t GpFileStream_Win32::Write(const void *bytes, size_t size)
|
||||
{
|
||||
if (!m_writeable)
|
||||
return 0;
|
||||
|
||||
size_t totalWritten = 0;
|
||||
while (size)
|
||||
{
|
||||
const DWORD chunkSizeToWrite = (size > MAXDWORD) ? MAXDWORD : size;
|
||||
DWORD numWritten = 0;
|
||||
|
||||
BOOL writeSucceeded = WriteFile(m_handle, bytes, chunkSizeToWrite, &numWritten, nullptr);
|
||||
#include "GpFileStream_Win32.h"
|
||||
|
||||
GpFileStream_Win32::GpFileStream_Win32(HANDLE handle, bool readable, bool writeable, bool seekable)
|
||||
: m_handle(handle)
|
||||
, m_readable(readable)
|
||||
, m_writeable(writeable)
|
||||
, m_seekable(seekable)
|
||||
{
|
||||
}
|
||||
|
||||
size_t GpFileStream_Win32::Read(void *bytesOut, size_t size)
|
||||
{
|
||||
if (!m_readable)
|
||||
return 0;
|
||||
|
||||
size_t totalRead = 0;
|
||||
while (size)
|
||||
{
|
||||
const DWORD chunkSizeToRead = (size > MAXDWORD) ? MAXDWORD : size;
|
||||
DWORD numRead = 0;
|
||||
|
||||
BOOL readSucceeded = ReadFile(m_handle, bytesOut, chunkSizeToRead, &numRead, nullptr);
|
||||
if (!readSucceeded)
|
||||
return totalRead;
|
||||
|
||||
totalRead += static_cast<size_t>(numRead);
|
||||
size -= static_cast<size_t>(numRead);
|
||||
bytesOut = static_cast<void*>(static_cast<uint8_t*>(bytesOut) + numRead);
|
||||
|
||||
if (numRead != chunkSizeToRead)
|
||||
return totalRead;
|
||||
}
|
||||
|
||||
return totalRead;
|
||||
}
|
||||
|
||||
size_t GpFileStream_Win32::Write(const void *bytes, size_t size)
|
||||
{
|
||||
if (!m_writeable)
|
||||
return 0;
|
||||
|
||||
size_t totalWritten = 0;
|
||||
while (size)
|
||||
{
|
||||
const DWORD chunkSizeToWrite = (size > MAXDWORD) ? MAXDWORD : size;
|
||||
DWORD numWritten = 0;
|
||||
|
||||
BOOL writeSucceeded = WriteFile(m_handle, bytes, chunkSizeToWrite, &numWritten, nullptr);
|
||||
if (!writeSucceeded)
|
||||
{
|
||||
DWORD lastError = GetLastError();
|
||||
DWORD lastError = GetLastError();
|
||||
return totalWritten;
|
||||
}
|
||||
|
||||
totalWritten += static_cast<size_t>(numWritten);
|
||||
size -= static_cast<size_t>(numWritten);
|
||||
bytes = static_cast<const void*>(static_cast<const uint8_t*>(bytes) + numWritten);
|
||||
|
||||
if (numWritten != chunkSizeToWrite)
|
||||
return totalWritten;
|
||||
}
|
||||
|
||||
return totalWritten;
|
||||
}
|
||||
|
||||
bool GpFileStream_Win32::IsSeekable() const
|
||||
{
|
||||
return m_seekable;
|
||||
}
|
||||
|
||||
bool GpFileStream_Win32::IsReadOnly() const
|
||||
{
|
||||
return !m_writeable;
|
||||
}
|
||||
|
||||
bool GpFileStream_Win32::IsWriteOnly() const
|
||||
{
|
||||
return !m_readable;
|
||||
}
|
||||
|
||||
bool GpFileStream_Win32::SeekStart(PortabilityLayer::UFilePos_t loc)
|
||||
{
|
||||
LARGE_INTEGER li;
|
||||
li.QuadPart = static_cast<LONGLONG>(loc);
|
||||
return SetFilePointerEx(m_handle, li, nullptr, FILE_BEGIN) != 0;
|
||||
}
|
||||
|
||||
bool GpFileStream_Win32::SeekCurrent(PortabilityLayer::FilePos_t loc)
|
||||
{
|
||||
LARGE_INTEGER li;
|
||||
li.QuadPart = static_cast<LONGLONG>(loc);
|
||||
return SetFilePointerEx(m_handle, li, nullptr, FILE_CURRENT) != 0;
|
||||
}
|
||||
|
||||
bool GpFileStream_Win32::SeekEnd(PortabilityLayer::UFilePos_t loc)
|
||||
{
|
||||
LARGE_INTEGER li;
|
||||
li.QuadPart = -static_cast<LONGLONG>(loc);
|
||||
return SetFilePointerEx(m_handle, li, nullptr, FILE_END) != 0;
|
||||
}
|
||||
|
||||
bool GpFileStream_Win32::Truncate(PortabilityLayer::UFilePos_t loc)
|
||||
{
|
||||
if (!m_writeable)
|
||||
return false;
|
||||
|
||||
PortabilityLayer::UFilePos_t oldPos = Tell();
|
||||
if (!SeekStart(loc))
|
||||
return false;
|
||||
|
||||
if (!SetEndOfFile(m_handle))
|
||||
return false;
|
||||
|
||||
if (!SeekStart(oldPos))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
PortabilityLayer::UFilePos_t GpFileStream_Win32::Size() const
|
||||
{
|
||||
LARGE_INTEGER fsize;
|
||||
if (!GetFileSizeEx(m_handle, &fsize))
|
||||
return 0;
|
||||
|
||||
return static_cast<PortabilityLayer::UFilePos_t>(fsize.QuadPart);
|
||||
}
|
||||
|
||||
PortabilityLayer::UFilePos_t GpFileStream_Win32::Tell() const
|
||||
{
|
||||
LARGE_INTEGER zero;
|
||||
zero.QuadPart = 0;
|
||||
|
||||
LARGE_INTEGER fpos;
|
||||
if (!SetFilePointerEx(m_handle, zero, &fpos, FILE_CURRENT))
|
||||
return 0;
|
||||
|
||||
return static_cast<PortabilityLayer::UFilePos_t>(fpos.QuadPart);
|
||||
}
|
||||
|
||||
void GpFileStream_Win32::Close()
|
||||
{
|
||||
CloseHandle(m_handle);
|
||||
}
|
||||
}
|
||||
|
||||
totalWritten += static_cast<size_t>(numWritten);
|
||||
size -= static_cast<size_t>(numWritten);
|
||||
bytes = static_cast<const void*>(static_cast<const uint8_t*>(bytes) + numWritten);
|
||||
|
||||
if (numWritten != chunkSizeToWrite)
|
||||
return totalWritten;
|
||||
}
|
||||
|
||||
return totalWritten;
|
||||
}
|
||||
|
||||
bool GpFileStream_Win32::IsSeekable() const
|
||||
{
|
||||
return m_seekable;
|
||||
}
|
||||
|
||||
bool GpFileStream_Win32::IsReadOnly() const
|
||||
{
|
||||
return !m_writeable;
|
||||
}
|
||||
|
||||
bool GpFileStream_Win32::IsWriteOnly() const
|
||||
{
|
||||
return !m_readable;
|
||||
}
|
||||
|
||||
bool GpFileStream_Win32::SeekStart(GpUFilePos_t loc)
|
||||
{
|
||||
LARGE_INTEGER li;
|
||||
li.QuadPart = static_cast<LONGLONG>(loc);
|
||||
return SetFilePointerEx(m_handle, li, nullptr, FILE_BEGIN) != 0;
|
||||
}
|
||||
|
||||
bool GpFileStream_Win32::SeekCurrent(GpFilePos_t loc)
|
||||
{
|
||||
LARGE_INTEGER li;
|
||||
li.QuadPart = static_cast<LONGLONG>(loc);
|
||||
return SetFilePointerEx(m_handle, li, nullptr, FILE_CURRENT) != 0;
|
||||
}
|
||||
|
||||
bool GpFileStream_Win32::SeekEnd(GpUFilePos_t loc)
|
||||
{
|
||||
LARGE_INTEGER li;
|
||||
li.QuadPart = -static_cast<LONGLONG>(loc);
|
||||
return SetFilePointerEx(m_handle, li, nullptr, FILE_END) != 0;
|
||||
}
|
||||
|
||||
bool GpFileStream_Win32::Truncate(GpUFilePos_t loc)
|
||||
{
|
||||
if (!m_writeable)
|
||||
return false;
|
||||
|
||||
GpUFilePos_t oldPos = Tell();
|
||||
if (!SeekStart(loc))
|
||||
return false;
|
||||
|
||||
if (!SetEndOfFile(m_handle))
|
||||
return false;
|
||||
|
||||
if (!SeekStart(oldPos))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
GpUFilePos_t GpFileStream_Win32::Size() const
|
||||
{
|
||||
LARGE_INTEGER fsize;
|
||||
if (!GetFileSizeEx(m_handle, &fsize))
|
||||
return 0;
|
||||
|
||||
return static_cast<GpUFilePos_t>(fsize.QuadPart);
|
||||
}
|
||||
|
||||
GpUFilePos_t GpFileStream_Win32::Tell() const
|
||||
{
|
||||
LARGE_INTEGER zero;
|
||||
zero.QuadPart = 0;
|
||||
|
||||
LARGE_INTEGER fpos;
|
||||
if (!SetFilePointerEx(m_handle, zero, &fpos, FILE_CURRENT))
|
||||
return 0;
|
||||
|
||||
return static_cast<GpUFilePos_t>(fpos.QuadPart);
|
||||
}
|
||||
|
||||
void GpFileStream_Win32::Close()
|
||||
{
|
||||
CloseHandle(m_handle);
|
||||
}
|
||||
|
||||
void GpFileStream_Win32::Flush()
|
||||
{
|
||||
FlushFileBuffers(m_handle);
|
||||
FlushFileBuffers(m_handle);
|
||||
}
|
||||
|
@@ -1,31 +1,31 @@
|
||||
#pragma once
|
||||
|
||||
#include "GpCoreDefs.h"
|
||||
#include "GpWindows.h"
|
||||
#include "IOStream.h"
|
||||
|
||||
class GpFileStream_Win32 final : public PortabilityLayer::IOStream
|
||||
{
|
||||
public:
|
||||
explicit GpFileStream_Win32(HANDLE handle, bool readable, bool writeable, bool seekable);
|
||||
|
||||
size_t Read(void *bytesOut, size_t size) override;
|
||||
size_t Write(const void *bytes, size_t size) override;
|
||||
bool IsSeekable() const override;
|
||||
bool IsReadOnly() const override;
|
||||
bool IsWriteOnly() const override;
|
||||
bool SeekStart(PortabilityLayer::UFilePos_t loc) override;
|
||||
bool SeekCurrent(PortabilityLayer::FilePos_t loc) override;
|
||||
bool SeekEnd(PortabilityLayer::UFilePos_t loc) override;
|
||||
bool Truncate(PortabilityLayer::UFilePos_t loc) override;
|
||||
PortabilityLayer::UFilePos_t Size() const override;
|
||||
PortabilityLayer::UFilePos_t Tell() const override;
|
||||
#pragma once
|
||||
|
||||
#include "GpCoreDefs.h"
|
||||
#include "GpWindows.h"
|
||||
#include "GpIOStream.h"
|
||||
|
||||
class GpFileStream_Win32 final : public GpIOStream
|
||||
{
|
||||
public:
|
||||
explicit GpFileStream_Win32(HANDLE handle, bool readable, bool writeable, bool seekable);
|
||||
|
||||
size_t Read(void *bytesOut, size_t size) override;
|
||||
size_t Write(const void *bytes, size_t size) override;
|
||||
bool IsSeekable() const override;
|
||||
bool IsReadOnly() const override;
|
||||
bool IsWriteOnly() const override;
|
||||
bool SeekStart(GpUFilePos_t loc) override;
|
||||
bool SeekCurrent(GpFilePos_t loc) override;
|
||||
bool SeekEnd(GpUFilePos_t loc) override;
|
||||
bool Truncate(GpUFilePos_t loc) override;
|
||||
GpUFilePos_t Size() const override;
|
||||
GpUFilePos_t Tell() const override;
|
||||
void Close() override;
|
||||
void Flush() override;
|
||||
|
||||
private:
|
||||
HANDLE m_handle;
|
||||
bool m_readable;
|
||||
bool m_writeable;
|
||||
bool m_seekable;
|
||||
};
|
||||
void Flush() override;
|
||||
|
||||
private:
|
||||
HANDLE m_handle;
|
||||
bool m_readable;
|
||||
bool m_writeable;
|
||||
bool m_seekable;
|
||||
};
|
||||
|
@@ -210,7 +210,7 @@ bool GpFileSystem_Win32::FileLocked(PortabilityLayer::VirtualDirectory_t virtual
|
||||
return (attribs & FILE_ATTRIBUTE_READONLY) != 0;
|
||||
}
|
||||
|
||||
PortabilityLayer::IOStream *GpFileSystem_Win32::OpenFile(PortabilityLayer::VirtualDirectory_t virtualDirectory, const char *path, bool writeAccess, GpFileCreationDisposition_t createDisposition)
|
||||
GpIOStream *GpFileSystem_Win32::OpenFile(PortabilityLayer::VirtualDirectory_t virtualDirectory, const char *path, bool writeAccess, GpFileCreationDisposition_t createDisposition)
|
||||
{
|
||||
wchar_t winPath[MAX_PATH + 1];
|
||||
|
||||
@@ -286,172 +286,24 @@ PortabilityLayer::HostDirectoryCursor *GpFileSystem_Win32::ScanDirectory(Portabi
|
||||
return GpDirectoryCursor_Win32::Create(ff, findData);
|
||||
}
|
||||
|
||||
bool GpFileSystem_Win32::PromptSaveFile(PortabilityLayer::VirtualDirectory_t virtualDirectory, char *path, size_t &outPathLength, size_t pathCapacity, const char *initialFileName)
|
||||
bool GpFileSystem_Win32::ValidateFilePathUnicodeChar(uint32_t c) const
|
||||
{
|
||||
wchar_t baseFN[MAX_PATH + 5];
|
||||
wchar_t baseDir[MAX_PATH + 5];
|
||||
if (c >= '0' && c <= '9')
|
||||
return true;
|
||||
|
||||
const size_t existingPathLen = strlen(initialFileName);
|
||||
if (existingPathLen >= MAX_PATH)
|
||||
return false;
|
||||
if (c == '_' || c == '\'')
|
||||
return true;
|
||||
|
||||
for (size_t i = 0; i < existingPathLen; i++)
|
||||
baseFN[i] = static_cast<wchar_t>(initialFileName[i]);
|
||||
baseFN[existingPathLen] = 0;
|
||||
if (c == ' ')
|
||||
return true;
|
||||
|
||||
if (!ResolvePath(virtualDirectory, "", baseDir))
|
||||
return false;
|
||||
if (c >= 'a' && c <= 'z')
|
||||
return true;
|
||||
|
||||
OPENFILENAMEW ofn;
|
||||
memset(&ofn, 0, sizeof(ofn));
|
||||
if (c >= 'A' && c <= 'Z')
|
||||
return true;
|
||||
|
||||
ofn.lStructSize = sizeof(ofn);
|
||||
ofn.lpstrFilter = GP_APPLICATION_NAME_W L" File (*.gpf)\0*.gpf\0";
|
||||
ofn.lpstrFile = baseFN;
|
||||
ofn.lpstrDefExt = L"gpf";
|
||||
ofn.nMaxFile = MAX_PATH;
|
||||
ofn.lpstrInitialDir = baseDir;
|
||||
ofn.Flags = OFN_EXPLORER | OFN_NOCHANGEDIR | OFN_OVERWRITEPROMPT;
|
||||
ofn.hwndOwner = g_gpWindowsGlobals.m_hwnd;
|
||||
|
||||
if (!GetSaveFileNameW(&ofn))
|
||||
return false;
|
||||
|
||||
if (ofn.Flags & OFN_EXTENSIONDIFFERENT)
|
||||
{
|
||||
MessageBeep(MB_ICONERROR);
|
||||
MessageBoxW(nullptr, L"Save file failed: Saved files must have the '.gpf' extension", L"Invalid file path", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
const wchar_t *fn = ofn.lpstrFile + ofn.nFileOffset;
|
||||
size_t fnLengthWithoutExt = wcslen(fn);
|
||||
if (ofn.nFileExtension - 1 > ofn.nFileOffset) // Off by 1 because extension doesn't include .
|
||||
fnLengthWithoutExt = ofn.nFileExtension - ofn.nFileOffset - 1;
|
||||
|
||||
if (fnLengthWithoutExt >= pathCapacity)
|
||||
{
|
||||
wchar_t msg[256];
|
||||
wsprintfW(msg, L"Save file failed: File name is too long. Limit is %i characters.", static_cast<int>(pathCapacity));
|
||||
MessageBeep(MB_ICONERROR);
|
||||
MessageBoxW(nullptr, msg, L"Invalid file path", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (ofn.nFileOffset != wcslen(baseDir) || memcmp(ofn.lpstrFile, baseDir, ofn.nFileOffset * sizeof(wchar_t)))
|
||||
{
|
||||
wchar_t msg[256 + MAX_PATH];
|
||||
wsprintfW(msg, L"Save file failed: File can't be saved here, it must be saved in %s", baseDir);
|
||||
MessageBeep(MB_ICONERROR);
|
||||
MessageBoxW(nullptr, msg, L"Invalid file path", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
const wchar_t *unsupportedCharMsg = L"File name contains unsupported characters.";
|
||||
|
||||
for (size_t i = 0; i < fnLengthWithoutExt; i++)
|
||||
{
|
||||
if (fn[i] < static_cast<wchar_t>(0) || fn[i] >= static_cast<wchar_t>(128))
|
||||
{
|
||||
MessageBeep(MB_ICONERROR);
|
||||
MessageBoxW(nullptr, unsupportedCharMsg, L"Invalid file path", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
path[i] = static_cast<char>(fn[i]);
|
||||
}
|
||||
|
||||
if (!ValidateFilePath(path, fnLengthWithoutExt))
|
||||
{
|
||||
MessageBeep(MB_ICONERROR);
|
||||
MessageBoxW(nullptr, unsupportedCharMsg, L"Invalid file path", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
outPathLength = fnLengthWithoutExt;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GpFileSystem_Win32::PromptOpenFile(PortabilityLayer::VirtualDirectory_t virtualDirectory, char *path, size_t &outPathLength, size_t pathCapacity)
|
||||
{
|
||||
wchar_t baseFN[MAX_PATH + 5];
|
||||
wchar_t baseDir[MAX_PATH + 5];
|
||||
|
||||
baseFN[0] = 0;
|
||||
|
||||
if (!ResolvePath(virtualDirectory, "", baseDir))
|
||||
return false;
|
||||
|
||||
OPENFILENAMEW ofn;
|
||||
memset(&ofn, 0, sizeof(ofn));
|
||||
|
||||
ofn.lStructSize = sizeof(ofn);
|
||||
ofn.lpstrFilter = GP_APPLICATION_NAME_W L" File (*.gpf)\0*.gpf\0";
|
||||
ofn.lpstrFile = baseFN;
|
||||
ofn.lpstrDefExt = L"gpf";
|
||||
ofn.nMaxFile = MAX_PATH;
|
||||
ofn.lpstrInitialDir = baseDir;
|
||||
ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST;
|
||||
ofn.hwndOwner = g_gpWindowsGlobals.m_hwnd;
|
||||
|
||||
if (!GetOpenFileNameW(&ofn))
|
||||
return false;
|
||||
|
||||
if (ofn.Flags & OFN_EXTENSIONDIFFERENT)
|
||||
{
|
||||
MessageBeep(MB_ICONERROR);
|
||||
MessageBoxW(nullptr, L"Open file failed: Files must have the '.gpf' extension", L"Invalid file path", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
const wchar_t *fn = ofn.lpstrFile + ofn.nFileOffset;
|
||||
size_t fnLengthWithoutExt = wcslen(fn);
|
||||
if (ofn.nFileExtension - 1 > ofn.nFileOffset) // Off by 1 because extension doesn't include .
|
||||
fnLengthWithoutExt = ofn.nFileExtension - ofn.nFileOffset - 1;
|
||||
|
||||
if (fnLengthWithoutExt >= pathCapacity)
|
||||
{
|
||||
wchar_t msg[256];
|
||||
wsprintfW(msg, L"Open file failed: File name is too long. Limit is %i characters.", static_cast<int>(pathCapacity));
|
||||
MessageBeep(MB_ICONERROR);
|
||||
MessageBoxW(nullptr, msg, L"Invalid file path", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (ofn.nFileOffset != wcslen(baseDir) || memcmp(ofn.lpstrFile, baseDir, ofn.nFileOffset * sizeof(wchar_t)))
|
||||
{
|
||||
wchar_t msg[256 + MAX_PATH];
|
||||
wsprintfW(msg, L"Open file failed: File can't be opened from here, it must be in %s", baseDir);
|
||||
MessageBeep(MB_ICONERROR);
|
||||
MessageBoxW(nullptr, msg, L"Invalid file path", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
const wchar_t *unsupportedCharMsg = L"File name contains unsupported characters.";
|
||||
|
||||
for (size_t i = 0; i < fnLengthWithoutExt; i++)
|
||||
{
|
||||
if (fn[i] < static_cast<wchar_t>(0) || fn[i] >= static_cast<wchar_t>(128))
|
||||
{
|
||||
MessageBeep(MB_ICONERROR);
|
||||
MessageBoxW(nullptr, unsupportedCharMsg, L"Invalid file path", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
path[i] = static_cast<char>(fn[i]);
|
||||
}
|
||||
|
||||
if (!ValidateFilePath(path, fnLengthWithoutExt))
|
||||
{
|
||||
MessageBeep(MB_ICONERROR);
|
||||
MessageBoxW(nullptr, unsupportedCharMsg, L"Invalid file path", MB_OK);
|
||||
return false;
|
||||
}
|
||||
|
||||
outPathLength = fnLengthWithoutExt;
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool GpFileSystem_Win32::ValidateFilePath(const char *str, size_t length) const
|
||||
@@ -477,6 +329,71 @@ bool GpFileSystem_Win32::ValidateFilePath(const char *str, size_t length) const
|
||||
return false;
|
||||
}
|
||||
|
||||
const char *bannedNames[] =
|
||||
{
|
||||
"CON",
|
||||
"PRN",
|
||||
"AUX",
|
||||
"NUL",
|
||||
"COM1",
|
||||
"COM2",
|
||||
"COM3",
|
||||
"COM4",
|
||||
"COM5",
|
||||
"COM6",
|
||||
"COM7",
|
||||
"COM8",
|
||||
"COM9",
|
||||
"LPT1",
|
||||
"LPT2",
|
||||
"LPT3",
|
||||
"LPT4",
|
||||
"LPT5",
|
||||
"LPT6",
|
||||
"LPT7",
|
||||
"LPT8",
|
||||
"LPT9"
|
||||
};
|
||||
|
||||
size_t nameLengthWithoutExt = length;
|
||||
for (size_t i = 0; i < length; i++)
|
||||
{
|
||||
if (str[i] == '.')
|
||||
{
|
||||
nameLengthWithoutExt = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const size_t numBannedNames = sizeof(bannedNames) / sizeof(bannedNames[0]);
|
||||
|
||||
for (size_t i = 0; i < numBannedNames; i++)
|
||||
{
|
||||
const char *bannedName = bannedNames[i];
|
||||
const size_t banLength = strlen(bannedName);
|
||||
|
||||
if (banLength == nameLengthWithoutExt)
|
||||
{
|
||||
bool isBanned = true;
|
||||
|
||||
for (size_t j = 0; j < banLength; j++)
|
||||
{
|
||||
char checkCH = str[j];
|
||||
if (checkCH >= 'a' && checkCH <= 'z')
|
||||
checkCH += ('A' - 'a');
|
||||
|
||||
if (bannedName[j] != checkCH)
|
||||
{
|
||||
isBanned = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isBanned)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -14,14 +14,12 @@ public:
|
||||
|
||||
bool FileExists(PortabilityLayer::VirtualDirectory_t virtualDirectory, const char *path) override;
|
||||
bool FileLocked(PortabilityLayer::VirtualDirectory_t virtualDirectory, const char *path, bool *exists) override;
|
||||
PortabilityLayer::IOStream *OpenFile(PortabilityLayer::VirtualDirectory_t virtualDirectory, const char *path, bool writeAccess, GpFileCreationDisposition_t createDisposition) override;
|
||||
GpIOStream *OpenFile(PortabilityLayer::VirtualDirectory_t virtualDirectory, const char *path, bool writeAccess, GpFileCreationDisposition_t createDisposition) override;
|
||||
bool DeleteFile(PortabilityLayer::VirtualDirectory_t virtualDirectory, const char *path, bool &existed) override;
|
||||
PortabilityLayer::HostDirectoryCursor *ScanDirectory(PortabilityLayer::VirtualDirectory_t virtualDirectory) override;
|
||||
|
||||
bool PromptSaveFile(PortabilityLayer::VirtualDirectory_t dirID, char *path, size_t &outPathLength, size_t pathCapacity, const char *initialFileName) override;
|
||||
bool PromptOpenFile(PortabilityLayer::VirtualDirectory_t dirID, char *path, size_t &outPathLength, size_t pathCapacity) override;
|
||||
|
||||
bool ValidateFilePath(const char *path, size_t sz) const override;
|
||||
bool ValidateFilePathUnicodeChar(uint32_t ch) const override;
|
||||
|
||||
const wchar_t *GetBasePath() const;
|
||||
|
||||
|
@@ -1,9 +0,0 @@
|
||||
#include "GpFontHandlerFactory.h"
|
||||
#include "GpFontHandler_FreeType2.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
PortabilityLayer::HostFontHandler *GpFontHandlerFactory::Create()
|
||||
{
|
||||
return GpFontHandler_FreeType2::Create();
|
||||
}
|
@@ -1,12 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
namespace PortabilityLayer
|
||||
{
|
||||
class HostFontHandler;
|
||||
}
|
||||
|
||||
class GpFontHandlerFactory final
|
||||
{
|
||||
public:
|
||||
static PortabilityLayer::HostFontHandler *Create();
|
||||
};
|
@@ -2,7 +2,7 @@
|
||||
#include "GpFileSystem_Win32.h"
|
||||
|
||||
#include "GpApplicationName.h"
|
||||
#include "IOStream.h"
|
||||
#include "GpIOStream.h"
|
||||
|
||||
GpLogDriver_Win32::GpLogDriver_Win32()
|
||||
: m_stream(nullptr)
|
||||
@@ -100,7 +100,7 @@ void GpLogDriver_Win32::InitInternal()
|
||||
if (m_stream)
|
||||
{
|
||||
this->Printf(IGpLogDriver::Category_Information, GP_APPLICATION_NAME " build " __TIMESTAMP__);
|
||||
#ifdef NDEBUG
|
||||
#if !GP_DEBUG_CONFIG
|
||||
this->Printf(IGpLogDriver::Category_Information, "Configuration: Release");
|
||||
#else
|
||||
this->Printf(IGpLogDriver::Category_Information, "Configuration: Debug");
|
||||
|
@@ -1,11 +1,8 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
|
||||
#include "IGpLogDriver.h"
|
||||
|
||||
namespace PortabilityLayer
|
||||
{
|
||||
class IOStream;
|
||||
}
|
||||
class GpIOStream;
|
||||
|
||||
class GpLogDriver_Win32 : public IGpLogDriver
|
||||
{
|
||||
@@ -22,7 +19,7 @@ public:
|
||||
private:
|
||||
void InitInternal();
|
||||
|
||||
PortabilityLayer::IOStream *m_stream;
|
||||
GpIOStream *m_stream;
|
||||
bool m_isInitialized;
|
||||
|
||||
static GpLogDriver_Win32 ms_instance;
|
||||
|
@@ -6,6 +6,7 @@
|
||||
#include "GpFiber_Win32.h"
|
||||
#include "GpFileSystem_Win32.h"
|
||||
#include "GpLogDriver_Win32.h"
|
||||
#include "GpFontHandlerFactory.h"
|
||||
#include "GpInputDriverFactory.h"
|
||||
#include "GpAppInterface.h"
|
||||
#include "GpSystemServices_Win32.h"
|
||||
@@ -27,6 +28,7 @@ GpWindowsGlobals g_gpWindowsGlobals;
|
||||
extern "C" __declspec(dllimport) IGpAudioDriver *GpDriver_CreateAudioDriver_XAudio2(const GpAudioDriverProperties &properties);
|
||||
extern "C" __declspec(dllimport) IGpDisplayDriver *GpDriver_CreateDisplayDriver_D3D11(const GpDisplayDriverProperties &properties);
|
||||
extern "C" __declspec(dllimport) IGpInputDriver *GpDriver_CreateInputDriver_XInput(const GpInputDriverProperties &properties);
|
||||
extern "C" __declspec(dllimport) IGpFontHandler *GpDriver_CreateFontHandler_FreeType2(const GpFontHandlerProperties &properties);
|
||||
|
||||
static void PostMouseEvent(IGpVOSEventQueue *eventQueue, GpMouseEventType_t eventType, GpMouseButton_t button, int32_t x, int32_t y, float pixelScaleX, float pixelScaleY)
|
||||
{
|
||||
@@ -432,6 +434,8 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
||||
|
||||
g_gpGlobalConfig.m_audioDriverType = EGpAudioDriverType_XAudio2;
|
||||
|
||||
g_gpGlobalConfig.m_fontHandlerType = EGpFontHandlerType_FreeType2;
|
||||
|
||||
EGpInputDriverType inputDrivers[] =
|
||||
{
|
||||
EGpInputDriverType_XInput
|
||||
@@ -446,6 +450,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
||||
GpDisplayDriverFactory::RegisterDisplayDriverFactory(EGpDisplayDriverType_D3D11, GpDriver_CreateDisplayDriver_D3D11);
|
||||
GpAudioDriverFactory::RegisterAudioDriverFactory(EGpAudioDriverType_XAudio2, GpDriver_CreateAudioDriver_XAudio2);
|
||||
GpInputDriverFactory::RegisterInputDriverFactory(EGpInputDriverType_XInput, GpDriver_CreateInputDriver_XInput);
|
||||
GpFontHandlerFactory::RegisterFontHandlerFactory(EGpFontHandlerType_FreeType2, GpDriver_CreateFontHandler_FreeType2);
|
||||
|
||||
if (logger)
|
||||
logger->Printf(IGpLogDriver::Category_Information, "Windows environment configured, starting up");
|
||||
|
16
AerofoilSDL/AerofoilSDL.props
Normal file
16
AerofoilSDL/AerofoilSDL.props
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<IncludePath>$(SolutionDir)SDL2-2.0.12\include;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(SolutionDir)SDL2-2.0.12\lib\x64;$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<Link>
|
||||
<AdditionalDependencies>SDL2.lib;SDL2main.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
81
AerofoilSDL/AerofoilSDL.vcxproj
Normal file
81
AerofoilSDL/AerofoilSDL.vcxproj
Normal file
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{33542FF0-0473-4802-BC79-3B8261790F65}</ProjectGuid>
|
||||
<RootNamespace>AerofoilSDL</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</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="AerofoilSDL.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\GpShell.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="AerofoilSDL.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\GpShell.props" />
|
||||
<Import Project="..\Release.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="GpMain_SDL_Win32.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
22
AerofoilSDL/AerofoilSDL.vcxproj.filters
Normal file
22
AerofoilSDL/AerofoilSDL.vcxproj.filters
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="GpMain_SDL_Win32.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
6
AerofoilSDL/GpMain_SDL_Win32.cpp
Normal file
6
AerofoilSDL/GpMain_SDL_Win32.cpp
Normal file
@@ -0,0 +1,6 @@
|
||||
#include "SDL_main.h"
|
||||
|
||||
SDLMAIN_DECLSPEC int SDL_main(int argc, char *argv[])
|
||||
{
|
||||
return 0;
|
||||
}
|
@@ -65,26 +65,42 @@
|
||||
"id" : 0,
|
||||
"enabled" : false
|
||||
},
|
||||
{
|
||||
"name" : "Beautiful opening color fade",
|
||||
"itemType" : "CheckBox",
|
||||
"pos" : [ 8, 142 ],
|
||||
"size" : [ 256, 18 ],
|
||||
"id" : 0,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "32-bit color (Requires restart)",
|
||||
"itemType" : "CheckBox",
|
||||
"pos" : [ 8, 162 ],
|
||||
"pos" : [ 8, 85 ],
|
||||
"size" : [ 256, 18 ],
|
||||
"id" : 0,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "Adjust resolution to fit window",
|
||||
"name" : "Scale to fit window",
|
||||
"itemType" : "CheckBox",
|
||||
"pos" : [ 8, 182 ],
|
||||
"pos" : [ 8, 105 ],
|
||||
"size" : [ 256, 18 ],
|
||||
"id" : 0,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "Simulate Apple RGB monitor",
|
||||
"itemType" : "CheckBox",
|
||||
"pos" : [ 8, 125 ],
|
||||
"size" : [ 256, 18 ],
|
||||
"id" : 0,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "Beautiful opening color fade",
|
||||
"itemType" : "CheckBox",
|
||||
"pos" : [ 8, 152 ],
|
||||
"size" : [ 256, 18 ],
|
||||
"id" : 0,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "Full screen mode",
|
||||
"itemType" : "CheckBox",
|
||||
"pos" : [ 8, 172 ],
|
||||
"size" : [ 256, 18 ],
|
||||
"id" : 0,
|
||||
"enabled" : true
|
||||
@@ -92,7 +108,7 @@
|
||||
{
|
||||
"name" : "",
|
||||
"itemType" : "UserItem",
|
||||
"pos" : [ 8, 137 ],
|
||||
"pos" : [ 8, 147 ],
|
||||
"size" : [ 317, 1 ],
|
||||
"id" : 0,
|
||||
"enabled" : false
|
||||
|
45
ApplicationResourcePatches/DITL/2001.json
Normal file
45
ApplicationResourcePatches/DITL/2001.json
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"items" :
|
||||
[
|
||||
{
|
||||
"name" : "Okay",
|
||||
"itemType" : "Button",
|
||||
"pos" : [ 376, 240 ],
|
||||
"size" : [ 58, 20 ],
|
||||
"id" : 1,
|
||||
"enabled" : false
|
||||
},
|
||||
{
|
||||
"name" : "Cancel",
|
||||
"itemType" : "Button",
|
||||
"pos" : [ 302, 240 ],
|
||||
"size" : [ 58, 20 ],
|
||||
"id" : 2,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "",
|
||||
"itemType" : "CustomControl",
|
||||
"pos" : [ 17, 33 ],
|
||||
"size" : [ 401, 190 ],
|
||||
"id" : 2,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "",
|
||||
"itemType" : "CustomControl",
|
||||
"pos" : [ 418, 32 ],
|
||||
"size" : [ 16, 192 ],
|
||||
"id" : 3,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "^0",
|
||||
"itemType" : "Label",
|
||||
"pos" : [ 16, 16 ],
|
||||
"size" : [ 418, 16 ],
|
||||
"id" : 10,
|
||||
"enabled" : true
|
||||
}
|
||||
]
|
||||
}
|
53
ApplicationResourcePatches/DITL/2002.json
Normal file
53
ApplicationResourcePatches/DITL/2002.json
Normal file
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"items" :
|
||||
[
|
||||
{
|
||||
"name" : "Okay",
|
||||
"itemType" : "Button",
|
||||
"pos" : [ 376, 240 ],
|
||||
"size" : [ 58, 20 ],
|
||||
"id" : 1,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "Cancel",
|
||||
"itemType" : "Button",
|
||||
"pos" : [ 302, 240 ],
|
||||
"size" : [ 58, 20 ],
|
||||
"id" : 2,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "",
|
||||
"itemType" : "CustomControl",
|
||||
"pos" : [ 17, 33 ],
|
||||
"size" : [ 401, 186 ],
|
||||
"id" : 2,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "",
|
||||
"itemType" : "CustomControl",
|
||||
"pos" : [ 418, 32 ],
|
||||
"size" : [ 16, 188 ],
|
||||
"id" : 3,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "",
|
||||
"itemType" : "EditBox",
|
||||
"pos" : [ 16, 240 ],
|
||||
"size" : [ 270, 16 ],
|
||||
"id" : 4,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "^0",
|
||||
"itemType" : "Label",
|
||||
"pos" : [ 16, 16 ],
|
||||
"size" : [ 418, 16 ],
|
||||
"id" : 10,
|
||||
"enabled" : true
|
||||
}
|
||||
]
|
||||
}
|
29
ApplicationResourcePatches/DITL/2003.json
Normal file
29
ApplicationResourcePatches/DITL/2003.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"items" :
|
||||
[
|
||||
{
|
||||
"name" : "No",
|
||||
"itemType" : "Button",
|
||||
"pos" : [ 253, 99 ],
|
||||
"size" : [ 58, 20 ],
|
||||
"id" : 1,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "Yes",
|
||||
"itemType" : "Button",
|
||||
"pos" : [ 184, 99 ],
|
||||
"size" : [ 58, 20 ],
|
||||
"id" : 2,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "^0 already exists.\rDo you want to replace it?",
|
||||
"itemType" : "Label",
|
||||
"pos" : [ 16, 16 ],
|
||||
"size" : [ 295, 74 ],
|
||||
"id" : 0,
|
||||
"enabled" : false
|
||||
}
|
||||
]
|
||||
}
|
21
ApplicationResourcePatches/DITL/2004.json
Normal file
21
ApplicationResourcePatches/DITL/2004.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"items" :
|
||||
[
|
||||
{
|
||||
"name" : "Okay",
|
||||
"itemType" : "Button",
|
||||
"pos" : [ 253, 99 ],
|
||||
"size" : [ 58, 20 ],
|
||||
"id" : 0,
|
||||
"enabled" : true
|
||||
},
|
||||
{
|
||||
"name" : "The file name that you've specified is invalid.",
|
||||
"itemType" : "Label",
|
||||
"pos" : [ 16, 16 ],
|
||||
"size" : [ 295, 74 ],
|
||||
"id" : 0,
|
||||
"enabled" : false
|
||||
}
|
||||
]
|
||||
}
|
@@ -2,7 +2,11 @@
|
||||
"add" :
|
||||
{
|
||||
"DITL/1017.json" : "ApplicationResourcePatches/DITL/1017.json",
|
||||
"DITL/2000.json" : "ApplicationResourcePatches/DITL/2000.json"
|
||||
"DITL/2000.json" : "ApplicationResourcePatches/DITL/2000.json",
|
||||
"DITL/2001.json" : "ApplicationResourcePatches/DITL/2001.json",
|
||||
"DITL/2002.json" : "ApplicationResourcePatches/DITL/2002.json",
|
||||
"DITL/2003.json" : "ApplicationResourcePatches/DITL/2003.json",
|
||||
"DITL/2004.json" : "ApplicationResourcePatches/DITL/2004.json"
|
||||
},
|
||||
"delete" :
|
||||
[
|
||||
|
@@ -41,6 +41,6 @@ struct __GpStaticAssertHelper<true>
|
||||
|
||||
static const size_t GP_SYSTEM_MEMORY_ALIGNMENT = 16;
|
||||
|
||||
#if !defined(NDEBUG)
|
||||
#define GP_DEBUG_CONFIG 1
|
||||
#if !defined(GP_DEBUG_CONFIG)
|
||||
#error "GP_DEBUG_CONFIG was not set"
|
||||
#endif
|
||||
|
@@ -19,6 +19,11 @@ const D3D_SHADER_MACRO drawQuadDefs[] =
|
||||
{ nullptr }
|
||||
};
|
||||
|
||||
const D3D_SHADER_MACRO drawQuadICCProfileDefs[] =
|
||||
{
|
||||
{ "USE_ICC_PROFILE", nullptr }
|
||||
};
|
||||
|
||||
const CompileJob kCompileJobs[] =
|
||||
{
|
||||
{
|
||||
@@ -37,6 +42,14 @@ const CompileJob kCompileJobs[] =
|
||||
"PSMain",
|
||||
"ps_4_0"
|
||||
},
|
||||
{
|
||||
L"ShaderSrc\\DrawQuadRGBP.hlsl",
|
||||
L"GpDisplayDriver_D3D11\\CompiledShaders\\DrawQuadRGBP_ICC_D3D11.cpp",
|
||||
"g_drawQuadRGBICCP_D3D11",
|
||||
drawQuadICCProfileDefs,
|
||||
"PSMain",
|
||||
"ps_4_0"
|
||||
},
|
||||
{
|
||||
L"ShaderSrc\\DrawQuadPaletteP.hlsl",
|
||||
L"GpDisplayDriver_D3D11\\CompiledShaders\\DrawQuadPaletteP_D3D11.cpp",
|
||||
@@ -45,6 +58,14 @@ const CompileJob kCompileJobs[] =
|
||||
"PSMain",
|
||||
"ps_4_0"
|
||||
},
|
||||
{
|
||||
L"ShaderSrc\\DrawQuadPaletteP.hlsl",
|
||||
L"GpDisplayDriver_D3D11\\CompiledShaders\\DrawQuadPaletteP_ICC_D3D11.cpp",
|
||||
"g_drawQuadPaletteICCP_D3D11",
|
||||
drawQuadICCProfileDefs,
|
||||
"PSMain",
|
||||
"ps_4_0"
|
||||
},
|
||||
{
|
||||
L"ShaderSrc\\DrawQuad15BitP.hlsl",
|
||||
L"GpDisplayDriver_D3D11\\CompiledShaders\\DrawQuad15BitP_D3D11.cpp",
|
||||
@@ -53,6 +74,14 @@ const CompileJob kCompileJobs[] =
|
||||
"PSMain",
|
||||
"ps_4_0"
|
||||
},
|
||||
{
|
||||
L"ShaderSrc\\DrawQuad15BitP.hlsl",
|
||||
L"GpDisplayDriver_D3D11\\CompiledShaders\\DrawQuad15BitP_ICC_D3D11.cpp",
|
||||
"g_drawQuad15BitICCP_D3D11",
|
||||
drawQuadICCProfileDefs,
|
||||
"PSMain",
|
||||
"ps_4_0"
|
||||
},
|
||||
{
|
||||
L"ShaderSrc\\ScaleQuadP.hlsl",
|
||||
L"GpDisplayDriver_D3D11\\CompiledShaders\\ScaleQuadP_D3D11.cpp",
|
||||
|
@@ -1,14 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.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>
|
||||
@@ -25,19 +17,6 @@
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
@@ -56,12 +35,6 @@
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</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" />
|
||||
</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|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
@@ -78,28 +51,6 @@
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@@ -1,14 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.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>
|
||||
@@ -25,19 +17,6 @@
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
@@ -56,26 +35,13 @@
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</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="..\GpCommon.props" />
|
||||
<Import Project="..\PortabilityLayer.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\stb.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="..\GpCommon.props" />
|
||||
<Import Project="..\PortabilityLayer.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\stb.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="..\GpCommon.props" />
|
||||
<Import Project="..\PortabilityLayer.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\stb.props" />
|
||||
<Import Project="..\Debug.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" />
|
||||
@@ -83,6 +49,7 @@
|
||||
<Import Project="..\PortabilityLayer.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\stb.props" />
|
||||
<Import Project="..\Release.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
@@ -94,28 +61,6 @@
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
12
Debug.props
Normal file
12
Debug.props
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>GP_DEBUG_CONFIG=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
@@ -26,7 +26,44 @@ LEGAL NOTICES
|
||||
-------------------------------------------------------------------------------
|
||||
Aerofoil is (c)2019-2020 Eric Lasota
|
||||
Based on Glider PRO (c)1994-2000 Casady & Greene, Inc., written by John Calhoun
|
||||
Distributed under the terms of the GNU General Public License version 2 (see license_gplv2.txt)
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
|
||||
A copy of the license is included in the accompanying license_gplv2.txt file.
|
||||
|
||||
|
||||
ADDITIONAL CREDITS
|
||||
-------------------------------------------------------------------------------
|
||||
* Demo House and CD Demo House are by John Calhoun and Kim Money.
|
||||
* Davis Station, Metropolis and Titanic are by Jonathan Chin (alias Paul Finn)
|
||||
and John Calhoun.
|
||||
* Grand Prix, Leviathan, ImagineHouse PRO II and In The Mirror are by Jonathan
|
||||
Chin (alias Paul Finn).
|
||||
* Land of Illusion, Nemo's Market, Rainbow's End and SpacePods are by Ward
|
||||
Hartenstein.
|
||||
* Slumberland is by John Calhoun (first house and top of fourth house)
|
||||
Jonathan Chin (second house), Steve Sullivan (third house) and Ward
|
||||
Hartenstein (bottom of fourth house).
|
||||
* Teddy World is by Shawn Brenneman.
|
||||
* The Asylum Pro is by Steve Sullivan.
|
||||
* PICT resource 3975 (Ozma) is derived from an illustration by John R. Neill
|
||||
from [Ozma of Oz](https://www.gutenberg.org/files/33361/33361-h/33361-h.htm).
|
||||
* PICT resource 153 (About box) features a portion of
|
||||
[this Little Nemo comic](http://www.comicstriplibrary.org/display/116) by Winsor
|
||||
McCay.
|
||||
|
||||
|
||||
Aerofoil uses the following third-party software:
|
||||
|
@@ -1,14 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.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>
|
||||
@@ -25,19 +17,6 @@
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
@@ -56,16 +35,6 @@
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</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="..\GpCommon.props" />
|
||||
<Import Project="..\WindowsUnicodeToolShim.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="..\GpCommon.props" />
|
||||
<Import Project="..\WindowsUnicodeToolShim.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="..\GpCommon.props" />
|
||||
@@ -86,28 +55,6 @@
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@@ -1,14 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.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>
|
||||
@@ -25,19 +17,6 @@
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
@@ -56,29 +35,19 @@
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</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="..\PortabilityLayer.props" />
|
||||
<Import Project="..\GpCommon.props" />
|
||||
<Import Project="..\Common.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="..\PortabilityLayer.props" />
|
||||
<Import Project="..\GpCommon.props" />
|
||||
<Import Project="..\Common.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="..\PortabilityLayer.props" />
|
||||
<Import Project="..\GpCommon.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\Debug.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="..\PortabilityLayer.props" />
|
||||
<Import Project="..\GpCommon.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\Release.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
@@ -90,28 +59,6 @@
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@@ -1,14 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.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>
|
||||
@@ -54,19 +46,6 @@
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
@@ -85,16 +64,6 @@
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</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="..\FreeTypePublic.props" />
|
||||
<Import Project="FreeTypePrivate.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="..\FreeTypePublic.props" />
|
||||
<Import Project="FreeTypePrivate.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="..\FreeTypePublic.props" />
|
||||
@@ -115,28 +84,6 @@
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@@ -27,7 +27,7 @@
|
||||
#include "GpBuildVersion.h"
|
||||
#include "HostSystemServices.h"
|
||||
#include "RenderedFont.h"
|
||||
#include "RenderedFontMetrics.h"
|
||||
#include "GpRenderedFontMetrics.h"
|
||||
#include "ResolveCachingColor.h"
|
||||
#include "ResourceManager.h"
|
||||
#include "ScanlineMask.h"
|
||||
@@ -38,8 +38,8 @@
|
||||
static void HiLiteOkayButton (DrawSurface *surface);
|
||||
static void UnHiLiteOkayButton (DrawSurface *surface);
|
||||
static void UpdateMainPict (Dialog *);
|
||||
static int16_t AboutFilter(Dialog *, const TimeTaggedVOSEvent *evt);
|
||||
static int16_t AboutFrameworkFilter(Dialog *, const TimeTaggedVOSEvent *evt);
|
||||
static int16_t AboutFilter(void *context, Dialog *, const TimeTaggedVOSEvent *evt);
|
||||
static int16_t AboutFrameworkFilter(void *context, Dialog *, const TimeTaggedVOSEvent *evt);
|
||||
|
||||
|
||||
static Point okayButtLowerV, okayButtUpperV;
|
||||
@@ -91,7 +91,7 @@ void DoAbout (void)
|
||||
|
||||
do // Loop until user wants to exit
|
||||
{
|
||||
hit = aboutDialog->ExecuteModal(AboutFilter);
|
||||
hit = aboutDialog->ExecuteModal(nullptr, AboutFilter);
|
||||
}
|
||||
while (hit != kOkayButton);
|
||||
|
||||
@@ -117,7 +117,7 @@ void DoAboutFramework (void)
|
||||
PortabilityLayer::DialogManager *dialogManager = PortabilityLayer::DialogManager::GetInstance();
|
||||
Dialog *dialog = dialogManager->LoadDialogFromTemplate(kAboutFrameworkDialogTemplateID, windowRect, true, false, 0, 0, PL_GetPutInFrontWindowPtr(), PSTR(""), nullptr);
|
||||
|
||||
#ifdef NDEBUG
|
||||
#if !GP_DEBUG_CONFIG
|
||||
#define ABOUT_DIALOG_CONFIGURATION_TAG "Release"
|
||||
#else
|
||||
#define ABOUT_DIALOG_CONFIGURATION_TAG "Debug"
|
||||
@@ -152,7 +152,7 @@ void DoAboutFramework (void)
|
||||
|
||||
do
|
||||
{
|
||||
hit = dialog->ExecuteModal(AboutFrameworkFilter);
|
||||
hit = dialog->ExecuteModal(nullptr, AboutFrameworkFilter);
|
||||
} while (hit != kOkayButton);
|
||||
|
||||
dialog->Destroy();
|
||||
@@ -248,7 +248,7 @@ static bool PointIsInDiagonalOkayButton(const Point &pt)
|
||||
//-------------------------------------------------------------- AboutFilter
|
||||
// Dialog filter for the About dialog.
|
||||
|
||||
static int16_t AboutFilter(Dialog *dialog, const TimeTaggedVOSEvent *evt)
|
||||
static int16_t AboutFilter(void *context, Dialog *dialog, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
bool handledIt = false;
|
||||
int16_t hit = -1;
|
||||
@@ -330,7 +330,7 @@ static int16_t AboutFilter(Dialog *dialog, const TimeTaggedVOSEvent *evt)
|
||||
//-------------------------------------------------------------- AboutFrameworkFilter
|
||||
// Dialog filter for the About Framework dialog.
|
||||
|
||||
static int16_t AboutFrameworkFilter(Dialog *dialog, const TimeTaggedVOSEvent *evt)
|
||||
static int16_t AboutFrameworkFilter(void *context, Dialog *dialog, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
bool handledIt = false;
|
||||
int16_t hit = -1;
|
||||
|
@@ -15,7 +15,7 @@
|
||||
#include "MainWindow.h"
|
||||
#include "RectUtils.h"
|
||||
#include "RenderedFont.h"
|
||||
#include "RenderedFontMetrics.h"
|
||||
#include "GpRenderedFontMetrics.h"
|
||||
#include "ResolveCachingColor.h"
|
||||
#include "Room.h"
|
||||
#include "Utilities.h"
|
||||
@@ -166,7 +166,7 @@ void BringUpBanner (void)
|
||||
DrawBanner(&topLeft);
|
||||
DrawBannerMessage(topLeft);
|
||||
|
||||
DumpScreenOn(&justRoomsRect);
|
||||
DumpScreenOn(&justRoomsRect, false);
|
||||
|
||||
// if (quickerTransitions)
|
||||
// DissBitsChunky(&justRoomsRect); // was workSrcRect
|
||||
|
@@ -19,7 +19,7 @@
|
||||
#include "ResourceManager.h"
|
||||
#include "ResolveCachingColor.h"
|
||||
#include "RenderedFont.h"
|
||||
#include "RenderedFontMetrics.h"
|
||||
#include "GpRenderedFontMetrics.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
|
@@ -31,7 +31,7 @@
|
||||
#define kDisplay12Inch 2
|
||||
#define kDisplay13Inch 3
|
||||
|
||||
extern Boolean isAutoScale;
|
||||
extern Boolean isAutoScale, isUseICCProfile;
|
||||
|
||||
|
||||
typedef struct
|
||||
@@ -412,6 +412,8 @@ void HandleDepthSwitching (void)
|
||||
}
|
||||
|
||||
thisMac.isDepth = isDepthPref;
|
||||
|
||||
PortabilityLayer::HostDisplayDriver::GetInstance()->SetUseICCProfile(isUseICCProfile != 0);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- CheckMemorySize
|
||||
|
@@ -96,7 +96,6 @@ typedef struct
|
||||
long wasGPFlipMap;
|
||||
long wasGPFaceLeftMap, wasGPFaceRightMap;
|
||||
short wasVolume;
|
||||
short prefVersion;
|
||||
short wasMaxFiles;
|
||||
short wasEditH, wasEditV;
|
||||
short wasMapH, wasMapV;
|
||||
@@ -119,6 +118,7 @@ typedef struct
|
||||
Boolean wasDoAutoDemo, wasAutoScale;
|
||||
Boolean wasDoBackground, wasHouseChecks;
|
||||
Boolean wasPrettyMap, wasBitchDialogs;
|
||||
Boolean wasUseICCProfile;
|
||||
} prefsInfo;
|
||||
|
||||
//-------------------------------------------------------------- Prototypes
|
||||
@@ -175,8 +175,10 @@ Boolean CheckFileError (short, const PLPasStr &); // --- File Error.c
|
||||
|
||||
THandle<void> LoadHouseResource(const PortabilityLayer::ResTypeID &resTypeID, int16_t resID); // --- HouseIO.c
|
||||
|
||||
Boolean SavePrefs (prefsInfo *, short); // --- Prefs.c
|
||||
Boolean LoadPrefs (prefsInfo *, short);
|
||||
Boolean SavePrefs (prefsInfo *, THandle<void> *modulePrefs, short); // --- Prefs.c
|
||||
Boolean LoadPrefs (prefsInfo *, THandle<void> *modulePrefs, short);
|
||||
Boolean SaveModulePrefs (THandle<void> currentModulePrefs, THandle<void> *outModulePrefs);
|
||||
Boolean ApplyModulePrefs (THandle<void> *modulePrefs);
|
||||
|
||||
void PasStringCopy (StringPtr, StringPtr); // --- StringUtils.c
|
||||
short WhichStringFirst (StringPtr, StringPtr);
|
||||
@@ -230,6 +232,8 @@ void CloseThisWindow (WindowPtr *);
|
||||
#endif
|
||||
|
||||
|
||||
extern Boolean hasScrap, scrapIsARoom;
|
||||
|
||||
#include "GliderDefines.h"
|
||||
#include "GliderStructs.h"
|
||||
#include "GliderVars.h"
|
||||
|
@@ -435,8 +435,8 @@ void QuickBandsRefresh (Boolean);
|
||||
void QuickFoilRefresh (Boolean);
|
||||
void HandleScore (void);
|
||||
|
||||
//void PutRoomScrap (void); // --- Scrap.c
|
||||
//void PutObjectScrap (void);
|
||||
void PutRoomScrap (void); // --- Scrap.c
|
||||
void PutObjectScrap (void);
|
||||
void GetRoomScrap (void);
|
||||
void GetObjectScrap (void);
|
||||
//void SeeIfValidScrapAvailable (Boolean);
|
||||
@@ -498,7 +498,7 @@ void FollowTheLeader (void);
|
||||
|
||||
void PourScreenOn (Rect *); // --- Transitions.c
|
||||
void WipeScreenOn (SInt16, Rect *);
|
||||
void DumpScreenOn (Rect *);
|
||||
void DumpScreenOn (Rect *, Boolean);
|
||||
//void DissBits (Rect *);
|
||||
//void DissBitsChunky (Rect *);
|
||||
//void FillColorNoise (Rect *);
|
||||
|
@@ -1,14 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.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>
|
||||
@@ -25,19 +17,6 @@
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
@@ -56,27 +35,13 @@
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</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="..\PortabilityLayer.props" />
|
||||
<Import Project="GpApp.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\GpCommon.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="..\PortabilityLayer.props" />
|
||||
<Import Project="GpApp.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\GpCommon.props" />
|
||||
<Import Project="..\Release.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="..\PortabilityLayer.props" />
|
||||
<Import Project="GpApp.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\GpCommon.props" />
|
||||
<Import Project="..\Debug.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" />
|
||||
@@ -96,28 +61,6 @@
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
@@ -185,6 +128,7 @@
|
||||
<ClCompile Include="RubberBands.cpp" />
|
||||
<ClCompile Include="SavedGames.cpp" />
|
||||
<ClCompile Include="Scoreboard.cpp" />
|
||||
<ClCompile Include="Scrap.cpp" />
|
||||
<ClCompile Include="SelectHouse.cpp" />
|
||||
<ClCompile Include="Settings.cpp" />
|
||||
<ClCompile Include="Sound.cpp" />
|
||||
|
@@ -213,6 +213,9 @@
|
||||
<ClCompile Include="SoundSync_Win32.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Scrap.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="SoundSync.h">
|
||||
|
@@ -7,6 +7,7 @@
|
||||
#include "HostDisplayDriver.h"
|
||||
#include "HostLogDriver.h"
|
||||
#include "HostSystemServices.h"
|
||||
#include "HostInputDriver.h"
|
||||
#include "HostVOSEventQueue.h"
|
||||
#include "MenuManager.h"
|
||||
#include "WindowManager.h"
|
||||
@@ -21,10 +22,11 @@ public:
|
||||
void PL_Render(IGpDisplayDriver *displayDriver) override;
|
||||
void PL_HostFileSystem_SetInstance(PortabilityLayer::HostFileSystem *instance) override;
|
||||
void PL_HostDisplayDriver_SetInstance(IGpDisplayDriver *instance) override;
|
||||
void PL_HostInputDriver_SetInstances(IGpInputDriver *const* instances, size_t numInstances) override;
|
||||
void PL_HostSystemServices_SetInstance(PortabilityLayer::HostSystemServices *instance) override;
|
||||
void PL_HostAudioDriver_SetInstance(IGpAudioDriver *instance) override;
|
||||
void PL_HostLogDriver_SetInstance(IGpLogDriver *instance) override;
|
||||
void PL_HostFontHandler_SetInstance(PortabilityLayer::HostFontHandler *instance) override;
|
||||
void PL_HostFontHandler_SetInstance(IGpFontHandler *instance) override;
|
||||
void PL_HostVOSEventQueue_SetInstance(PortabilityLayer::HostVOSEventQueue *instance) override;
|
||||
void PL_InstallHostSuspendHook(PortabilityLayer::HostSuspendHook_t hook, void *context) override;
|
||||
bool PL_AdjustRequestedResolution(uint32_t &physicalWidth, uint32_t &physicalHeight, uint32_t &virtualWidth, uint32_t &virtualheight, float &pixelScaleX, float &pixelScaleY) override;
|
||||
@@ -72,7 +74,12 @@ void GpAppInterfaceImpl::PL_HostAudioDriver_SetInstance(IGpAudioDriver *instance
|
||||
PortabilityLayer::HostAudioDriver::SetInstance(instance);
|
||||
}
|
||||
|
||||
void GpAppInterfaceImpl::PL_HostFontHandler_SetInstance(PortabilityLayer::HostFontHandler *instance)
|
||||
void GpAppInterfaceImpl::PL_HostInputDriver_SetInstances(IGpInputDriver *const* instances, size_t numInstances)
|
||||
{
|
||||
PortabilityLayer::HostInputDriver::SetInstances(instances, numInstances);
|
||||
}
|
||||
|
||||
void GpAppInterfaceImpl::PL_HostFontHandler_SetInstance(IGpFontHandler *instance)
|
||||
{
|
||||
PortabilityLayer::HostFontHandler::SetInstance(instance);
|
||||
}
|
||||
|
@@ -19,7 +19,7 @@
|
||||
#include "FontManager.h"
|
||||
#include "HostSystemServices.h"
|
||||
#include "House.h"
|
||||
#include "IOStream.h"
|
||||
#include "GpIOStream.h"
|
||||
#include "MainWindow.h"
|
||||
#include "PLStandardColors.h"
|
||||
#include "PLTimeTaggedVOSEvent.h"
|
||||
@@ -29,11 +29,6 @@
|
||||
#include "Utilities.h"
|
||||
#include "WindowManager.h"
|
||||
|
||||
namespace PortabilityLayer
|
||||
{
|
||||
class IOStream;
|
||||
}
|
||||
|
||||
#define kHighScoresPictID 1994
|
||||
#define kHighScoresMaskID 1998
|
||||
#define kHighNameDialogID 1020
|
||||
@@ -46,12 +41,12 @@ namespace PortabilityLayer
|
||||
|
||||
void DrawHighScores (DrawSurface *);
|
||||
void UpdateNameDialog (Dialog *);
|
||||
int16_t NameFilter (Dialog *dial, const TimeTaggedVOSEvent *evt);
|
||||
int16_t NameFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt);
|
||||
void GetHighScoreName (short);
|
||||
void UpdateBannerDialog (Dialog *);
|
||||
int16_t BannerFilter(Dialog *dialog, const TimeTaggedVOSEvent *evt);
|
||||
int16_t BannerFilter(void *context, Dialog *dialog, const TimeTaggedVOSEvent *evt);
|
||||
void GetHighScoreBanner (void);
|
||||
Boolean OpenHighScoresFile (const VFileSpec &spec, PortabilityLayer::IOStream *&outStream);
|
||||
Boolean OpenHighScoresFile (const VFileSpec &spec, GpIOStream *&outStream);
|
||||
|
||||
|
||||
Str31 highBanner;
|
||||
@@ -82,13 +77,13 @@ void DoHighScores (void)
|
||||
// else
|
||||
// DissBits(&workSrcRect);
|
||||
|
||||
DumpScreenOn(&workSrcRect);
|
||||
DumpScreenOn(&workSrcRect, false);
|
||||
|
||||
SpinCursor(3);
|
||||
|
||||
DrawHighScores(workSrcMap);
|
||||
|
||||
DumpScreenOn(&workSrcRect);
|
||||
DumpScreenOn(&workSrcRect, false);
|
||||
|
||||
SpinCursor(3);
|
||||
// if (quickerTransitions)
|
||||
@@ -432,10 +427,36 @@ void UpdateNameDialog (Dialog *theDialog)
|
||||
SetDialogNumToStr(theDialog, kNameNCharsItem, (long)nChars);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- EventIsTyping
|
||||
// Checks if a keyboard event should make a typing sound
|
||||
|
||||
static bool EventIsTyping(const GpKeyboardInputEvent &kbEvent)
|
||||
{
|
||||
if (kbEvent.m_eventType == GpKeyboardInputEventTypes::kDownChar || kbEvent.m_eventType == GpKeyboardInputEventTypes::kAutoChar)
|
||||
{
|
||||
// Duplicate backspace event
|
||||
if (kbEvent.m_keyIDSubset == GpKeyIDSubsets::kASCII && kbEvent.m_key.m_asciiChar == '\b')
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (kbEvent.m_eventType == GpKeyboardInputEventTypes::kDown || kbEvent.m_eventType == GpKeyboardInputEventTypes::kAuto)
|
||||
{
|
||||
if (kbEvent.m_keyIDSubset == GpKeyIDSubsets::kSpecial)
|
||||
{
|
||||
if (kbEvent.m_key.m_specialKey == GpKeySpecials::kBackspace || kbEvent.m_key.m_specialKey == GpKeySpecials::kDelete)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- NameFilter
|
||||
// Dialog filter for the "Enter High Score Name" dialog.
|
||||
|
||||
int16_t NameFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t NameFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
short nChars;
|
||||
|
||||
@@ -453,7 +474,7 @@ int16_t NameFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
const GpKeyboardInputEvent &kbEvent = evt->m_vosEvent.m_event.m_keyboardInputEvent;
|
||||
|
||||
if (kbEvent.m_eventType == GpKeyboardInputEventTypes::kDownChar || kbEvent.m_eventType == GpKeyboardInputEventTypes::kAutoChar)
|
||||
if (EventIsTyping(kbEvent))
|
||||
{
|
||||
PlayPrioritySound(kTypingSound, kTypingPriority);
|
||||
keyStroke = true;
|
||||
@@ -516,7 +537,7 @@ void GetHighScoreName (short place)
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
item = theDial->ExecuteModal(NameFilter);
|
||||
item = theDial->ExecuteModal(nullptr, NameFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
@@ -550,7 +571,7 @@ void UpdateBannerDialog (Dialog *theDialog)
|
||||
//-------------------------------------------------------------- BannerFilter
|
||||
// Dialog filter for the "Enter Message" dialog.
|
||||
|
||||
int16_t BannerFilter(Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t BannerFilter(void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
short nChars;
|
||||
|
||||
@@ -568,7 +589,7 @@ int16_t BannerFilter(Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
const GpKeyboardInputEvent &kbEvent = evt->m_vosEvent.m_event.m_keyboardInputEvent;
|
||||
|
||||
if (kbEvent.m_eventType == GpKeyboardInputEventTypes::kDownChar || kbEvent.m_eventType == GpKeyboardInputEventTypes::kAutoChar)
|
||||
if (EventIsTyping(kbEvent))
|
||||
{
|
||||
PlayPrioritySound(kTypingSound, kTypingPriority);
|
||||
keyStroke = true;
|
||||
@@ -626,7 +647,7 @@ void GetHighScoreBanner (void)
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
item = theDial->ExecuteModal(BannerFilter);
|
||||
item = theDial->ExecuteModal(nullptr, BannerFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
@@ -646,7 +667,7 @@ void GetHighScoreBanner (void)
|
||||
|
||||
//-------------------------------------------------------------- OpenHighScoresFile
|
||||
|
||||
Boolean OpenHighScoresFile (const VFileSpec &scoreSpec, PortabilityLayer::IOStream *&scoresStream)
|
||||
Boolean OpenHighScoresFile (const VFileSpec &scoreSpec, GpIOStream *&scoresStream)
|
||||
{
|
||||
PLError_t theErr;
|
||||
|
||||
@@ -678,7 +699,7 @@ Boolean WriteScoresToDisk (void)
|
||||
PLError_t theErr;
|
||||
short volRefNum;
|
||||
char wasState;
|
||||
PortabilityLayer::IOStream *scoresStream = nil;
|
||||
GpIOStream *scoresStream = nil;
|
||||
|
||||
scoreSpec = MakeVFileSpec(PortabilityLayer::VirtualDirectories::kHighScores, thisHouseName);
|
||||
if (!OpenHighScoresFile(scoreSpec, scoresStream))
|
||||
@@ -723,11 +744,11 @@ Boolean WriteScoresToDisk (void)
|
||||
Boolean ReadScoresFromDisk (void)
|
||||
{
|
||||
scoresType *theScores;
|
||||
PortabilityLayer::UFilePos_t byteCount;
|
||||
GpUFilePos_t byteCount;
|
||||
PLError_t theErr;
|
||||
short volRefNum;
|
||||
char wasState;
|
||||
PortabilityLayer::IOStream *scoresStream = nil;
|
||||
GpIOStream *scoresStream = nil;
|
||||
|
||||
VFileSpec scoreSpec = MakeVFileSpec(PortabilityLayer::VirtualDirectories::kHighScores, thisHouseName);
|
||||
if (!OpenHighScoresFile(scoreSpec, scoresStream))
|
||||
|
@@ -26,7 +26,7 @@
|
||||
|
||||
|
||||
void UpdateGoToDialog (Dialog *);
|
||||
int16_t GoToFilter (Dialog *dial, const TimeTaggedVOSEvent *evt);
|
||||
int16_t GoToFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt);
|
||||
|
||||
extern PortabilityLayer::ResourceArchive *houseResFork;
|
||||
|
||||
@@ -67,7 +67,7 @@ Boolean CreateNewHouse (void)
|
||||
char savePath[sizeof(theSpec.m_name) + 1];
|
||||
size_t savePathLength = 0;
|
||||
|
||||
if (!fm->PromptSaveFile(theSpec.m_dir, savePath, savePathLength, sizeof(theSpec.m_name), PSTR("My House")))
|
||||
if (!fm->PromptSaveFile(theSpec.m_dir, savePath, savePathLength, sizeof(theSpec.m_name), PSTR("My House"), PSTR("Create House")))
|
||||
return false;
|
||||
|
||||
assert(savePathLength < sizeof(theSpec.m_name) - 1);
|
||||
@@ -599,7 +599,7 @@ void UpdateGoToDialog (Dialog *theDialog)
|
||||
//-------------------------------------------------------------- GoToFilter
|
||||
// Dialog filter for the "Go To Room..." dialog.
|
||||
|
||||
int16_t GoToFilter(Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t GoToFilter(void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -656,7 +656,7 @@ int16_t GoToFilter(Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
item = theDialog->ExecuteModal(GoToFilter);
|
||||
item = theDialog->ExecuteModal(nullptr, GoToFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
|
@@ -18,7 +18,7 @@
|
||||
#include "HostFileSystem.h"
|
||||
#include "HostSystemServices.h"
|
||||
#include "House.h"
|
||||
#include "IOStream.h"
|
||||
#include "GpIOStream.h"
|
||||
#include "ObjectEdit.h"
|
||||
#include "ResourceManager.h"
|
||||
|
||||
@@ -38,7 +38,7 @@ AnimationPlayer theMovie;
|
||||
Rect movieRect;
|
||||
PortabilityLayer::ResourceArchive *houseResFork;
|
||||
short wasHouseVersion;
|
||||
PortabilityLayer::IOStream *houseStream;
|
||||
GpIOStream *houseStream;
|
||||
Boolean houseOpen, fileDirty, gameDirty;
|
||||
Boolean changeLockStateOfHouse, saveHouseLocked, houseIsReadOnly;
|
||||
Boolean hasMovie, tvInRoom;
|
||||
@@ -668,7 +668,6 @@ Boolean ReadHouse (void)
|
||||
numberRooms = 0;
|
||||
noRoomAtAll = true;
|
||||
YellowAlert(kYellowNoRooms, 0);
|
||||
return(false);
|
||||
}
|
||||
|
||||
wasHouseVersion = (*thisHouse)->version;
|
||||
|
@@ -34,7 +34,7 @@
|
||||
|
||||
long CountTotalHousePoints (void);
|
||||
void UpdateHouseInfoDialog (Dialog *);
|
||||
int16_t HouseFilter(Dialog *dial, const TimeTaggedVOSEvent *evt);
|
||||
int16_t HouseFilter(void *context, Dialog *dial, const TimeTaggedVOSEvent *evt);
|
||||
Boolean WarnLockingHouse (void);
|
||||
void HowToZeroScores (void);
|
||||
|
||||
@@ -123,7 +123,7 @@ void UpdateHouseInfoDialog (Dialog *theDialog)
|
||||
|
||||
//-------------------------------------------------------------- HouseFilter
|
||||
|
||||
int16_t HouseFilter(Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t HouseFilter(void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
Point mouseIs;
|
||||
short nChars;
|
||||
@@ -248,7 +248,7 @@ void DoHouseInfo (void)
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
item = houseInfoDialog->ExecuteModal(HouseFilter);
|
||||
item = houseInfoDialog->ExecuteModal(nullptr, HouseFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
|
@@ -157,7 +157,7 @@ void VariableInit (void)
|
||||
paused = false;
|
||||
hasMirror = false;
|
||||
demoGoing = false;
|
||||
// scrapIsARoom = true;
|
||||
scrapIsARoom = true;
|
||||
splashDrawn = false;
|
||||
|
||||
#ifndef COMPILEDEMO
|
||||
|
@@ -383,7 +383,7 @@ void HandleLinkClick (Point wherePt)
|
||||
part = FindControl(wherePt, linkWindow, &theControl);
|
||||
if ((theControl != nil) && (part != 0))
|
||||
{
|
||||
part = theControl->Capture(wherePt, nullptr);
|
||||
part = theControl->Capture(nullptr, wherePt, nullptr);
|
||||
if (part != 0)
|
||||
{
|
||||
if (theControl == linkControl)
|
||||
|
@@ -10,12 +10,14 @@
|
||||
#include "PLKeyEncoding.h"
|
||||
#include "Externs.h"
|
||||
#include "Environ.h"
|
||||
#include "IOStream.h"
|
||||
#include "HostDisplayDriver.h"
|
||||
#include "IGpDisplayDriver.h"
|
||||
#include "GpIOStream.h"
|
||||
#include "House.h"
|
||||
#include "WindowManager.h"
|
||||
|
||||
|
||||
#define kPrefsVersion 0x0036
|
||||
#define kPrefsVersion 0x0038
|
||||
|
||||
|
||||
void ReadInPrefs (void);
|
||||
@@ -25,7 +27,7 @@ int main(int argc, const char **argv);
|
||||
|
||||
short isVolume, wasVolume;
|
||||
short isDepthPref, dataResFile, numSMWarnings;
|
||||
Boolean quitting, doZooms, quickerTransitions, isAutoScale;
|
||||
Boolean quitting, doZooms, quickerTransitions, isAutoScale, isUseICCProfile;
|
||||
|
||||
|
||||
extern Str31 highBanner;
|
||||
@@ -33,7 +35,7 @@ extern Str15 leftName, rightName, batteryName, bandName;
|
||||
extern Str15 highName;
|
||||
//extern long encryptedNumber;
|
||||
extern short maxFiles, numNeighbors, willMaxFiles;
|
||||
extern PortabilityLayer::IOStream *houseStream;
|
||||
extern GpIOStream *houseStream;
|
||||
extern short isEditH, isEditV, isMapH, isMapV;
|
||||
extern short isToolsH, isToolsV, isCoordH, isCoordV;
|
||||
extern short isLinkH, isLinkV, toolMode, mapLeftRoom, mapTopRoom;
|
||||
@@ -45,6 +47,8 @@ extern Boolean isMapOpen, isToolsOpen, isCoordOpen;
|
||||
extern Boolean doPrettyMap, doBitchDialogs;
|
||||
//extern Boolean didValidation;
|
||||
|
||||
THandle<void> globalModulePrefs;
|
||||
|
||||
//============================================================== Functions
|
||||
//-------------------------------------------------------------- ReadInPrefs
|
||||
|
||||
@@ -55,8 +59,10 @@ extern Boolean doPrettyMap, doBitchDialogs;
|
||||
void ReadInPrefs (void)
|
||||
{
|
||||
prefsInfo thePrefs;
|
||||
|
||||
THandle<void> modulePrefs;
|
||||
|
||||
if (LoadPrefs(&thePrefs, kPrefsVersion))
|
||||
if (LoadPrefs(&thePrefs, &modulePrefs, kPrefsVersion))
|
||||
{
|
||||
#ifdef COMPILEDEMO
|
||||
PasStringCopy("\pDemo House", thisHouseName);
|
||||
@@ -123,9 +129,17 @@ void ReadInPrefs (void)
|
||||
doAutoDemo = thePrefs.wasDoAutoDemo;
|
||||
isEscPauseKey = thePrefs.wasEscPauseKey;
|
||||
isAutoScale = thePrefs.wasAutoScale;
|
||||
isUseICCProfile = thePrefs.wasUseICCProfile;
|
||||
doBackground = thePrefs.wasDoBackground;
|
||||
doPrettyMap = thePrefs.wasPrettyMap;
|
||||
doBitchDialogs = thePrefs.wasBitchDialogs;
|
||||
|
||||
if (modulePrefs)
|
||||
ApplyModulePrefs(&modulePrefs);
|
||||
|
||||
globalModulePrefs.Dispose();
|
||||
globalModulePrefs = modulePrefs;
|
||||
modulePrefs = nullptr;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -198,9 +212,16 @@ void ReadInPrefs (void)
|
||||
doAutoDemo = true;
|
||||
isEscPauseKey = false;
|
||||
isAutoScale = true;
|
||||
isUseICCProfile = true;
|
||||
doBackground = false;
|
||||
doPrettyMap = false;
|
||||
doBitchDialogs = true;
|
||||
|
||||
IGpDisplayDriver *displayDriver = PortabilityLayer::HostDisplayDriver::GetInstance();
|
||||
if (!displayDriver->IsFullScreen())
|
||||
displayDriver->RequestToggleFullScreen(0);
|
||||
|
||||
modulePrefs.Dispose();
|
||||
}
|
||||
|
||||
if ((numNeighbors > 1) && (thisMac.constrainedScreen.right <= 512))
|
||||
@@ -290,12 +311,17 @@ void WriteOutPrefs (void)
|
||||
thePrefs.wasDoAutoDemo = doAutoDemo;
|
||||
thePrefs.wasEscPauseKey = isEscPauseKey;
|
||||
thePrefs.wasAutoScale = isAutoScale;
|
||||
thePrefs.wasUseICCProfile = isUseICCProfile;
|
||||
thePrefs.wasDoBackground = doBackground;
|
||||
thePrefs.wasPrettyMap = doPrettyMap;
|
||||
thePrefs.wasBitchDialogs = doBitchDialogs;
|
||||
|
||||
if (!SavePrefs(&thePrefs, kPrefsVersion))
|
||||
|
||||
THandle<void> modulePrefs;
|
||||
|
||||
if (!SaveModulePrefs(globalModulePrefs, &modulePrefs) || !SavePrefs(&thePrefs, &modulePrefs, kPrefsVersion))
|
||||
SysBeep(1);
|
||||
|
||||
modulePrefs.Dispose();
|
||||
|
||||
UnivSetSoundVolume(wasVolume, thisMac.hasSM3);
|
||||
}
|
||||
@@ -325,6 +351,9 @@ int gpAppMain()
|
||||
SetUpAppleEvents();
|
||||
LoadCursors();
|
||||
ReadInPrefs();
|
||||
|
||||
SpinCursor(2); // Tick once to let the display driver flush any resolution changes from prefs
|
||||
FlushResolutionChange();
|
||||
|
||||
#if defined COMPILEDEMO
|
||||
copyGood = true;
|
||||
@@ -339,7 +368,7 @@ int gpAppMain()
|
||||
else if (didValidation)
|
||||
WriteOutPrefs(); SpinCursor(3);
|
||||
#endif
|
||||
|
||||
|
||||
// if ((thisMac.numScreens > 1) && (isUseSecondScreen))
|
||||
// ReflectSecondMonitorEnvirons(false, true, true);
|
||||
HandleDepthSwitching();
|
||||
|
@@ -83,19 +83,6 @@ void DrawOnSplash(DrawSurface *surface)
|
||||
else
|
||||
ColorText(surface, textPoint, houseLoadedStr, 28L, appFont);
|
||||
}
|
||||
|
||||
#if defined(powerc) || defined(__powerc)
|
||||
TextSize(12);
|
||||
TextFace(0);
|
||||
TextFont(systemFont);
|
||||
ForeColor(blackColor);
|
||||
MoveTo(splashOriginH + 5, splashOriginV + 457);
|
||||
DrawString("\pPowerPC Native!");
|
||||
ForeColor(whiteColor);
|
||||
MoveTo(splashOriginH + 4, splashOriginV + 456);
|
||||
DrawString("\pPowerPC Native!");
|
||||
ForeColor(blackColor);
|
||||
#endif
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- RedrawSplashScreen
|
||||
@@ -206,7 +193,7 @@ void OpenMainWindow (void)
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef NDEBUG
|
||||
#if !GP_DEBUG_CONFIG
|
||||
PortabilityLayer::WindowManager::GetInstance()->SetBackgroundColor(0, 0, 0);
|
||||
#else
|
||||
PortabilityLayer::WindowManager::GetInstance()->SetBackgroundColor(51, 0, 0);
|
||||
|
@@ -489,7 +489,7 @@ void ToggleMapWindow (void)
|
||||
//-------------------------------------------------------------- LiveHScrollAction
|
||||
#ifndef COMPILEDEMO
|
||||
|
||||
void LiveHScrollAction (PortabilityLayer::Widget *theControl, int thePart)
|
||||
void LiveHScrollAction (void *captureContext, PortabilityLayer::Widget *theControl, int thePart)
|
||||
{
|
||||
short wasValue, newValue;
|
||||
|
||||
@@ -546,7 +546,7 @@ void LiveHScrollAction (PortabilityLayer::Widget *theControl, int thePart)
|
||||
//-------------------------------------------------------------- LiveVScrollAction
|
||||
#ifndef COMPILEDEMO
|
||||
|
||||
void LiveVScrollAction (PortabilityLayer::Widget *theControl, int thePart)
|
||||
void LiveVScrollAction (void *captureContext, PortabilityLayer::Widget *theControl, int thePart)
|
||||
{
|
||||
short wasValue, newValue;
|
||||
|
||||
@@ -695,11 +695,11 @@ void HandleMapClick (const GpMouseInputEvent &theEvent)
|
||||
case kControlDownButtonPart:
|
||||
case kControlPageUpPart:
|
||||
case kControlPageDownPart:
|
||||
whichControl->Capture(wherePt, LiveHScrollAction);
|
||||
whichControl->Capture(nullptr, wherePt, LiveHScrollAction);
|
||||
break;
|
||||
|
||||
case kControlIndicatorPart:
|
||||
if (whichControl->Capture(wherePt, nil))
|
||||
if (whichControl->Capture(nullptr, wherePt, nil))
|
||||
{
|
||||
mapLeftRoom = whichControl->GetState();
|
||||
RedrawMapContents();
|
||||
@@ -715,11 +715,11 @@ void HandleMapClick (const GpMouseInputEvent &theEvent)
|
||||
case kControlDownButtonPart:
|
||||
case kControlPageUpPart:
|
||||
case kControlPageDownPart:
|
||||
whichControl->Capture(wherePt, LiveVScrollAction);
|
||||
whichControl->Capture(nullptr, wherePt, LiveVScrollAction);
|
||||
break;
|
||||
|
||||
case kControlIndicatorPart:
|
||||
if (whichControl->Capture(wherePt, nil))
|
||||
if (whichControl->Capture(nullptr, wherePt, nil))
|
||||
{
|
||||
mapTopRoom = whichControl->GetState();
|
||||
RedrawMapContents();
|
||||
|
@@ -198,21 +198,21 @@ void UpdateClipboardMenus (void)
|
||||
|
||||
mm->SetItemEnabled(houseMenu, iCut - 1, true);
|
||||
mm->SetItemEnabled(houseMenu, iCopy - 1, true);
|
||||
// if (hasScrap)
|
||||
// {
|
||||
// EnableMenuItem(houseMenu, iPaste);
|
||||
// if (scrapIsARoom)
|
||||
// {
|
||||
// GetLocalizedString(42, title);
|
||||
// SetMenuItemText(houseMenu, iPaste, title);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// GetLocalizedString(43, title);
|
||||
// SetMenuItemText(houseMenu, iPaste, title);
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
if (hasScrap)
|
||||
{
|
||||
EnableMenuItem(houseMenu, iPaste);
|
||||
if (scrapIsARoom)
|
||||
{
|
||||
GetLocalizedString(42, title);
|
||||
SetMenuItemText(houseMenu, iPaste, title);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetLocalizedString(43, title);
|
||||
SetMenuItemText(houseMenu, iPaste, title);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mm->SetItemEnabled(houseMenu, iPaste - 1, false);
|
||||
GetLocalizedString(44, title);
|
||||
@@ -516,12 +516,12 @@ void DoHouseMenu (short theItem)
|
||||
{
|
||||
if (objActive > kNoObjectSelected)
|
||||
{
|
||||
// PutObjectScrap();
|
||||
PutObjectScrap();
|
||||
DeleteObject();
|
||||
}
|
||||
else
|
||||
{
|
||||
// PutRoomScrap();
|
||||
PutRoomScrap();
|
||||
DeleteRoom(false);
|
||||
}
|
||||
UpdateClipboardMenus();
|
||||
@@ -531,10 +531,10 @@ void DoHouseMenu (short theItem)
|
||||
case iCopy:
|
||||
if (houseUnlocked)
|
||||
{
|
||||
// if (objActive > kNoObjectSelected)
|
||||
// PutObjectScrap();
|
||||
// else
|
||||
// PutRoomScrap();
|
||||
if (objActive > kNoObjectSelected)
|
||||
PutObjectScrap();
|
||||
else
|
||||
PutRoomScrap();
|
||||
UpdateClipboardMenus();
|
||||
}
|
||||
break;
|
||||
@@ -542,12 +542,11 @@ void DoHouseMenu (short theItem)
|
||||
case iPaste:
|
||||
if (houseUnlocked)
|
||||
{
|
||||
/* if (scrapIsARoom)
|
||||
if (scrapIsARoom)
|
||||
GetRoomScrap();
|
||||
else
|
||||
GetObjectScrap();
|
||||
UpdateClipboardMenus();
|
||||
*/
|
||||
}
|
||||
break;
|
||||
|
||||
|
@@ -347,7 +347,7 @@ void UpdateFlowerInfo (Dialog *theDialog)
|
||||
|
||||
//-------------------------------------------------------------- BlowerFilter
|
||||
|
||||
int16_t BlowerFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t BlowerFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -381,7 +381,7 @@ int16_t BlowerFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
|
||||
//-------------------------------------------------------------- FurnitureFilter
|
||||
|
||||
int16_t FurnitureFilter(Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t FurnitureFilter(void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -407,7 +407,7 @@ int16_t FurnitureFilter(Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
|
||||
//-------------------------------------------------------------- CustPictFilter
|
||||
|
||||
int16_t CustPictFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t CustPictFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -431,7 +431,7 @@ int16_t CustPictFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
|
||||
//-------------------------------------------------------------- SwitchFilter
|
||||
|
||||
int16_t SwitchFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t SwitchFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -459,7 +459,7 @@ int16_t SwitchFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
|
||||
//-------------------------------------------------------------- TriggerFilter
|
||||
|
||||
int16_t TriggerFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t TriggerFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -491,7 +491,7 @@ int16_t TriggerFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
|
||||
//-------------------------------------------------------------- LightFilter
|
||||
|
||||
int16_t LightFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t LightFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -519,7 +519,7 @@ int16_t LightFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
|
||||
//-------------------------------------------------------------- ApplianceFilter
|
||||
|
||||
int16_t ApplianceFilter(Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t ApplianceFilter(void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -551,7 +551,7 @@ int16_t ApplianceFilter(Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
|
||||
//-------------------------------------------------------------- MicrowaveFilter
|
||||
|
||||
int16_t MicrowaveFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t MicrowaveFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -579,7 +579,7 @@ int16_t MicrowaveFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
|
||||
//-------------------------------------------------------------- GreaseFilter
|
||||
|
||||
int16_t GreaseFilter(Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t GreaseFilter(void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -607,7 +607,7 @@ int16_t GreaseFilter(Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
|
||||
//-------------------------------------------------------------- InvisBonusFilter
|
||||
|
||||
int16_t InvisBonusFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t InvisBonusFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -631,7 +631,7 @@ int16_t InvisBonusFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
|
||||
//-------------------------------------------------------------- TransFilter
|
||||
|
||||
int16_t TransFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t TransFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -659,7 +659,7 @@ int16_t TransFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
|
||||
//-------------------------------------------------------------- EnemyFilter
|
||||
|
||||
int16_t EnemyFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t EnemyFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -691,7 +691,7 @@ int16_t EnemyFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
|
||||
//-------------------------------------------------------------- FlowerFilter
|
||||
|
||||
int16_t FlowerFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t FlowerFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -785,7 +785,7 @@ void DoBlowerObjectInfo (short what)
|
||||
{
|
||||
bool redrawMain = false;
|
||||
|
||||
item = infoDial->ExecuteModal(BlowerFilter);
|
||||
item = infoDial->ExecuteModal(nullptr, BlowerFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
@@ -937,7 +937,7 @@ void DoFurnitureObjectInfo (void)
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
item = infoDial->ExecuteModal(FurnitureFilter);
|
||||
item = infoDial->ExecuteModal(nullptr, FurnitureFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
leaving = true;
|
||||
@@ -997,7 +997,7 @@ void DoCustPictObjectInfo (void)
|
||||
{
|
||||
bool redrawMain = false;
|
||||
|
||||
item = infoDial->ExecuteModal(CustPictFilter);
|
||||
item = infoDial->ExecuteModal(nullptr, CustPictFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
@@ -1106,7 +1106,7 @@ void DoSwitchObjectInfo (void)
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
item = infoDial->ExecuteModal(SwitchFilter);
|
||||
item = infoDial->ExecuteModal(nullptr, SwitchFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
@@ -1231,7 +1231,7 @@ void DoTriggerObjectInfo (void)
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
item = infoDial->ExecuteModal(TriggerFilter);
|
||||
item = infoDial->ExecuteModal(nullptr, TriggerFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
@@ -1371,7 +1371,7 @@ void DoLightObjectInfo (void)
|
||||
while (!leaving)
|
||||
{
|
||||
bool redrawMain = false;
|
||||
item = infoDial->ExecuteModal(LightFilter);
|
||||
item = infoDial->ExecuteModal(nullptr, LightFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
@@ -1465,7 +1465,7 @@ void DoApplianceObjectInfo (short what)
|
||||
while (!leaving)
|
||||
{
|
||||
bool redrawMain = false;
|
||||
item = infoDial->ExecuteModal(ApplianceFilter);
|
||||
item = infoDial->ExecuteModal(nullptr, ApplianceFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
@@ -1585,7 +1585,7 @@ void DoMicrowaveObjectInfo (void)
|
||||
while (!leaving)
|
||||
{
|
||||
bool redrawMain = false;
|
||||
item = infoDial->ExecuteModal(MicrowaveFilter);
|
||||
item = infoDial->ExecuteModal(nullptr, MicrowaveFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
@@ -1695,7 +1695,7 @@ void DoGreaseObjectInfo (void)
|
||||
{
|
||||
bool redrawMain = false;
|
||||
|
||||
item = infoDial->ExecuteModal(GreaseFilter);
|
||||
item = infoDial->ExecuteModal(nullptr, GreaseFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
@@ -1783,7 +1783,7 @@ void DoInvisBonusObjectInfo (void)
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
item = infoDial->ExecuteModal(InvisBonusFilter);
|
||||
item = infoDial->ExecuteModal(nullptr, InvisBonusFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
@@ -1907,7 +1907,7 @@ void DoTransObjectInfo (short what)
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
item = infoDial->ExecuteModal(TransFilter);
|
||||
item = infoDial->ExecuteModal(nullptr, TransFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
@@ -2017,7 +2017,7 @@ void DoEnemyObjectInfo (short what)
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
item = infoDial->ExecuteModal(EnemyFilter);
|
||||
item = infoDial->ExecuteModal(nullptr, EnemyFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
@@ -2113,7 +2113,7 @@ void DoFlowerObjectInfo (void)
|
||||
{
|
||||
bool redrawMain = false;
|
||||
|
||||
item = infoDial->ExecuteModal(FlowerFilter);
|
||||
item = infoDial->ExecuteModal(nullptr, FlowerFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
|
@@ -168,16 +168,16 @@ void NewGame (short mode)
|
||||
if (mode == kNewGameMode)
|
||||
{
|
||||
BringUpBanner();
|
||||
DumpScreenOn(&justRoomsRect);
|
||||
DumpScreenOn(&justRoomsRect, false);
|
||||
}
|
||||
else if (mode == kResumeGameMode)
|
||||
{
|
||||
DisplayStarsRemaining();
|
||||
DumpScreenOn(&justRoomsRect);
|
||||
DumpScreenOn(&justRoomsRect, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
DumpScreenOn(&justRoomsRect);
|
||||
DumpScreenOn(&justRoomsRect, false);
|
||||
}
|
||||
|
||||
InitGarbageRects();
|
||||
@@ -381,7 +381,7 @@ void HandleGameResolutionChange(void)
|
||||
ResetLocale(true);
|
||||
InitScoreboardMap();
|
||||
RefreshScoreboard(wasScoreboardTitleMode);
|
||||
DumpScreenOn(&justRoomsRect);
|
||||
DumpScreenOn(&justRoomsRect, true);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- PlayGame
|
||||
|
394
GpApp/Prefs.cpp
394
GpApp/Prefs.cpp
@@ -10,25 +10,42 @@
|
||||
#include "Externs.h"
|
||||
#include "Environ.h"
|
||||
#include "FileManager.h"
|
||||
#include "IOStream.h"
|
||||
#include "IGpAudioDriver.h"
|
||||
#include "IGpDisplayDriver.h"
|
||||
#include "IGpInputDriver.h"
|
||||
#include "IGpPrefsHandler.h"
|
||||
#include "GpIOStream.h"
|
||||
#include "MemoryManager.h"
|
||||
#include "HostAudioDriver.h"
|
||||
#include "HostDisplayDriver.h"
|
||||
#include "HostInputDriver.h"
|
||||
|
||||
|
||||
#define kPrefCreatorType 'ozm5'
|
||||
#define kPrefFileType 'gliP'
|
||||
#define kPrefFileName PSTR("Glider Prefs")
|
||||
#define kPrefFileName PSTR("Glider Prefs v2")
|
||||
#define kDefaultPrefFName PSTR("Preferences")
|
||||
#define kPrefsStringsID 160
|
||||
#define kNewPrefsAlertID 160
|
||||
#define kPrefsFNameIndex 1
|
||||
|
||||
typedef struct modulePrefsListEntry
|
||||
{
|
||||
THandle<char> m_identifier;
|
||||
THandle<uint8_t> m_contents;
|
||||
uint32_t m_version;
|
||||
} modulePrefsListEntry;
|
||||
|
||||
Boolean CanUseFindFolder (void);
|
||||
Boolean WritePrefs (const prefsInfo *);
|
||||
PLError_t ReadPrefs (prefsInfo *);
|
||||
Boolean WritePrefs (const prefsInfo *, short versionNow, THandle<modulePrefsListEntry> *theModulePrefs);
|
||||
PLError_t ReadPrefs (prefsInfo *thePrefs, short versionNeed, Boolean *isOldVersion, THandle<modulePrefsListEntry> *theModulePrefs);
|
||||
Boolean DeletePrefs ();
|
||||
void BringUpDeletePrefsAlert (void);
|
||||
|
||||
|
||||
THandle<modulePrefsListEntry> theModulePrefs;
|
||||
|
||||
|
||||
//============================================================== Functions
|
||||
//-------------------------------------------------------------- CanUseFindFolder
|
||||
|
||||
@@ -39,10 +56,10 @@ Boolean CanUseFindFolder (void)
|
||||
|
||||
//-------------------------------------------------------------- WritePrefs
|
||||
|
||||
Boolean WritePrefs (const prefsInfo *thePrefs)
|
||||
Boolean WritePrefs (const prefsInfo *thePrefs, short versionNow, THandle<modulePrefsListEntry> modulePrefs)
|
||||
{
|
||||
PLError_t theErr;
|
||||
PortabilityLayer::IOStream *fileStream;
|
||||
GpIOStream *fileStream;
|
||||
long byteCount;
|
||||
Str255 fileName;
|
||||
|
||||
@@ -66,15 +83,70 @@ Boolean WritePrefs (const prefsInfo *thePrefs)
|
||||
CheckFileError(theErr, PSTR("Preferences"));
|
||||
return(false);
|
||||
}
|
||||
|
||||
|
||||
uint32_t version = versionNow;
|
||||
if (fileStream->Write(&version, sizeof(version)) != sizeof(version))
|
||||
{
|
||||
CheckFileError(PLErrors::kIOError, PSTR("Preferences"));
|
||||
fileStream->Close();
|
||||
return(false);
|
||||
}
|
||||
|
||||
byteCount = sizeof(*thePrefs);
|
||||
|
||||
if (fileStream->Write(thePrefs, byteCount) != byteCount)
|
||||
{
|
||||
CheckFileError(PLErrors::kIOError, PSTR("Preferences"));
|
||||
fileStream->Close();
|
||||
return(false);
|
||||
}
|
||||
|
||||
uint32_t numEntries = 0;
|
||||
if (modulePrefs)
|
||||
numEntries = modulePrefs.MMBlock()->m_size / sizeof(modulePrefsListEntry);
|
||||
|
||||
if (fileStream->Write(&numEntries, sizeof(numEntries)) != sizeof(numEntries))
|
||||
{
|
||||
CheckFileError(PLErrors::kIOError, PSTR("Preferences"));
|
||||
fileStream->Close();
|
||||
return(false);
|
||||
}
|
||||
|
||||
for (uint32_t i = 0; i < numEntries; i++)
|
||||
{
|
||||
modulePrefsListEntry *entry = (*modulePrefs) + i;
|
||||
|
||||
uint32_t version = entry->m_version;
|
||||
|
||||
if (fileStream->Write(&version, sizeof(version)) != sizeof(version))
|
||||
{
|
||||
CheckFileError(PLErrors::kIOError, PSTR("Preferences"));
|
||||
fileStream->Close();
|
||||
return(false);
|
||||
}
|
||||
|
||||
THandle<void> handles[2] = { entry->m_identifier.StaticCast<void>(), entry->m_contents.StaticCast<void>() };
|
||||
|
||||
for (int hi = 0; hi < 2; hi++)
|
||||
{
|
||||
uint32_t hSize = handles[hi].MMBlock()->m_size;
|
||||
|
||||
if (fileStream->Write(&hSize, sizeof(hSize)) != sizeof(hSize))
|
||||
{
|
||||
CheckFileError(PLErrors::kIOError, PSTR("Preferences"));
|
||||
fileStream->Close();
|
||||
return(false);
|
||||
}
|
||||
|
||||
if (fileStream->Write(*handles[hi], hSize) != hSize)
|
||||
{
|
||||
CheckFileError(PLErrors::kIOError, PSTR("Preferences"));
|
||||
fileStream->Close();
|
||||
return(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fileStream->Close();
|
||||
|
||||
return(true);
|
||||
@@ -82,26 +154,48 @@ Boolean WritePrefs (const prefsInfo *thePrefs)
|
||||
|
||||
//-------------------------------------------------------------- SavePrefs
|
||||
|
||||
Boolean SavePrefs (prefsInfo *thePrefs, short versionNow)
|
||||
Boolean SavePrefs (prefsInfo *thePrefs, THandle<void> *modulePrefs, short versionNow)
|
||||
{
|
||||
thePrefs->prefVersion = versionNow;
|
||||
|
||||
if (!WritePrefs(thePrefs))
|
||||
if (!WritePrefs(thePrefs, versionNow, modulePrefs->StaticCast<modulePrefsListEntry>()))
|
||||
return(false);
|
||||
|
||||
return(true);
|
||||
}
|
||||
|
||||
static void DestroyModulePrefs(THandle<modulePrefsListEntry> *theModulePrefs)
|
||||
{
|
||||
if (!*theModulePrefs)
|
||||
return;
|
||||
|
||||
modulePrefsListEntry *firstOldEntry = **theModulePrefs;
|
||||
|
||||
if (!firstOldEntry)
|
||||
return;
|
||||
|
||||
size_t numOldPrefs = theModulePrefs->MMBlock()->m_size / sizeof(modulePrefsListEntry);
|
||||
|
||||
for (size_t i = 0; i < numOldPrefs; i++)
|
||||
{
|
||||
firstOldEntry[i].m_contents.Dispose();
|
||||
firstOldEntry[i].m_identifier.Dispose();
|
||||
firstOldEntry[i].~modulePrefsListEntry();
|
||||
}
|
||||
|
||||
theModulePrefs->Dispose();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- ReadPrefs
|
||||
|
||||
PLError_t ReadPrefs (prefsInfo *thePrefs)
|
||||
PLError_t ReadPrefs (prefsInfo *thePrefs, short versionNeed, Boolean *isOldVersion, THandle<modulePrefsListEntry> *theModulePrefs)
|
||||
{
|
||||
PLError_t theErr;
|
||||
PortabilityLayer::IOStream *fileStream;
|
||||
PLError_t theErr;
|
||||
GpIOStream *fileStream;
|
||||
long byteCount;
|
||||
VFileSpec theSpecs;
|
||||
Str255 fileName;
|
||||
|
||||
*isOldVersion = false;
|
||||
|
||||
PortabilityLayer::FileManager *fm = PortabilityLayer::FileManager::GetInstance();
|
||||
|
||||
PasStringCopy(kPrefFileName, fileName);
|
||||
@@ -117,6 +211,21 @@ PLError_t ReadPrefs (prefsInfo *thePrefs)
|
||||
CheckFileError(theErr, PSTR("Preferences"));
|
||||
return(theErr);
|
||||
}
|
||||
|
||||
uint32_t version = 0;
|
||||
if (fileStream->Read(&version, sizeof(version)) != sizeof(version))
|
||||
{
|
||||
CheckFileError(theErr, PSTR("Preferences"));
|
||||
fileStream->Close();
|
||||
return(PLErrors::kIOError);
|
||||
}
|
||||
|
||||
if (version != versionNeed)
|
||||
{
|
||||
*isOldVersion = true;
|
||||
fileStream->Close();
|
||||
return(PLErrors::kNone);
|
||||
}
|
||||
|
||||
byteCount = sizeof(*thePrefs);
|
||||
|
||||
@@ -124,7 +233,81 @@ PLError_t ReadPrefs (prefsInfo *thePrefs)
|
||||
{
|
||||
CheckFileError(PLErrors::kIOError, PSTR("Preferences"));
|
||||
fileStream->Close();
|
||||
return(theErr);
|
||||
return(PLErrors::kIOError);
|
||||
}
|
||||
|
||||
uint32_t numModulePrefs = 0;
|
||||
if (fileStream->Read(&numModulePrefs, sizeof(numModulePrefs)) != sizeof(numModulePrefs))
|
||||
{
|
||||
CheckFileError(PLErrors::kIOError, PSTR("Preferences"));
|
||||
fileStream->Close();
|
||||
return(PLErrors::kIOError);
|
||||
}
|
||||
|
||||
DestroyModulePrefs(theModulePrefs);
|
||||
|
||||
if (numModulePrefs)
|
||||
{
|
||||
PortabilityLayer::MemoryManager *mm = PortabilityLayer::MemoryManager::GetInstance();
|
||||
|
||||
*theModulePrefs = THandle<modulePrefsListEntry>(mm->AllocHandle(numModulePrefs * sizeof(modulePrefsListEntry)));
|
||||
|
||||
if (!*theModulePrefs)
|
||||
{
|
||||
CheckFileError(PLErrors::kIOError, PSTR("Preferences"));
|
||||
fileStream->Close();
|
||||
return(PLErrors::kIOError);
|
||||
}
|
||||
|
||||
modulePrefsListEntry *firstNewEntry = **theModulePrefs;
|
||||
|
||||
for (size_t i = 0; i < numModulePrefs; i++)
|
||||
new (firstNewEntry + i) modulePrefsListEntry();
|
||||
|
||||
for (uint32_t i = 0; i < numModulePrefs; i++)
|
||||
{
|
||||
if (fileStream->Read(&firstNewEntry[i].m_version, sizeof(firstNewEntry[i].m_version)) != sizeof(firstNewEntry[i].m_version))
|
||||
{
|
||||
DestroyModulePrefs(theModulePrefs);
|
||||
CheckFileError(PLErrors::kIOError, PSTR("Preferences"));
|
||||
fileStream->Close();
|
||||
return(PLErrors::kIOError);
|
||||
}
|
||||
|
||||
for (int subHandle = 0; subHandle < 2; subHandle++)
|
||||
{
|
||||
uint32_t handleSz;
|
||||
if (fileStream->Read(&handleSz, sizeof(handleSz)) != sizeof(handleSz))
|
||||
{
|
||||
DestroyModulePrefs(theModulePrefs);
|
||||
CheckFileError(PLErrors::kIOError, PSTR("Preferences"));
|
||||
fileStream->Close();
|
||||
return(PLErrors::kIOError);
|
||||
}
|
||||
|
||||
PortabilityLayer::MMHandleBlock *mmBlock = mm->AllocHandle(handleSz);
|
||||
if (!mmBlock)
|
||||
{
|
||||
DestroyModulePrefs(theModulePrefs);
|
||||
CheckFileError(PLErrors::kIOError, PSTR("Preferences"));
|
||||
fileStream->Close();
|
||||
return(PLErrors::kIOError);
|
||||
}
|
||||
|
||||
if (subHandle == 0)
|
||||
firstNewEntry[i].m_identifier = THandle<char>(mmBlock);
|
||||
else
|
||||
firstNewEntry[i].m_contents = THandle<uint8_t>(mmBlock);
|
||||
|
||||
if (fileStream->Read(mmBlock->m_contents, handleSz) != handleSz)
|
||||
{
|
||||
DestroyModulePrefs(theModulePrefs);
|
||||
CheckFileError(PLErrors::kIOError, PSTR("Preferences"));
|
||||
fileStream->Close();
|
||||
return(PLErrors::kIOError);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fileStream->Close();
|
||||
@@ -147,14 +330,42 @@ Boolean DeletePrefs ()
|
||||
return PortabilityLayer::FileManager::GetInstance()->DeleteFile(theSpecs.m_dir, theSpecs.m_name);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- RunFunctionOnAllPrefsHandlers
|
||||
bool RunFunctionOnAllPrefsHandlers (void *context, bool (*func) (void *context, IGpPrefsHandler *handler))
|
||||
{
|
||||
IGpPrefsHandler *ddHandler = PortabilityLayer::HostDisplayDriver::GetInstance()->GetPrefsHandler();
|
||||
if (ddHandler && !func(context, ddHandler))
|
||||
return false;
|
||||
|
||||
IGpPrefsHandler *adHandler = PortabilityLayer::HostAudioDriver::GetInstance()->GetPrefsHandler();
|
||||
if (adHandler && !func(context, adHandler))
|
||||
return false;
|
||||
|
||||
size_t numInputDrivers = PortabilityLayer::HostInputDriver::NumInstances();
|
||||
|
||||
for (size_t i = 0; i < numInputDrivers; i++)
|
||||
{
|
||||
IGpPrefsHandler *idHandler = PortabilityLayer::HostInputDriver::GetInstance(i)->GetPrefsHandler();
|
||||
if (idHandler && !func(context, idHandler))
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//-------------------------------------------------------------- LoadPrefs
|
||||
|
||||
Boolean LoadPrefs (prefsInfo *thePrefs, short versionNeed)
|
||||
Boolean LoadPrefs (prefsInfo *thePrefs, THandle<void> *modulePrefs, short versionNeed)
|
||||
{
|
||||
PLError_t theErr;
|
||||
Boolean noProblems;
|
||||
Boolean isOldVersion = 0;
|
||||
|
||||
THandle<modulePrefsListEntry> mPrefs;
|
||||
|
||||
theErr = ReadPrefs(thePrefs);
|
||||
theErr = ReadPrefs(thePrefs, versionNeed, &isOldVersion, &mPrefs);
|
||||
|
||||
if (theErr == PLErrors::kFileNotFound)
|
||||
return (false);
|
||||
@@ -165,19 +376,164 @@ Boolean LoadPrefs (prefsInfo *thePrefs, short versionNeed)
|
||||
noProblems = DeletePrefs();
|
||||
return (false);
|
||||
}
|
||||
|
||||
if (thePrefs->prefVersion != versionNeed)
|
||||
|
||||
if (isOldVersion)
|
||||
{
|
||||
BringUpDeletePrefsAlert();
|
||||
noProblems = DeletePrefs();
|
||||
return(false);
|
||||
}
|
||||
|
||||
*modulePrefs = mPrefs.StaticCast<void>();
|
||||
|
||||
return (true);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- BringUpDeletePrefsAlert
|
||||
|
||||
static THandle<void> CloneHandle(THandle<void> hdl)
|
||||
{
|
||||
if (!hdl)
|
||||
return THandle<void>();
|
||||
|
||||
PortabilityLayer::MMHandleBlock *newHdl = PortabilityLayer::MemoryManager::GetInstance()->AllocHandle(hdl.MMBlock()->m_size);
|
||||
if (!newHdl)
|
||||
return THandle<void>();
|
||||
|
||||
memcpy(newHdl->m_contents, hdl.MMBlock()->m_contents, hdl.MMBlock()->m_size);
|
||||
|
||||
return THandle<void>(newHdl);
|
||||
}
|
||||
|
||||
struct SaveModulePrefsContext
|
||||
{
|
||||
size_t m_numModulePrefs;
|
||||
THandle<modulePrefsListEntry> m_newPrefs;
|
||||
};
|
||||
|
||||
bool SaveModulePrefsWriteFunc(void *vcontext, const void *identifier, size_t identifierSize, const void *contents, size_t contentsSize, uint32_t version)
|
||||
{
|
||||
PortabilityLayer::MemoryManager *mm = PortabilityLayer::MemoryManager::GetInstance();
|
||||
|
||||
SaveModulePrefsContext *context = static_cast<SaveModulePrefsContext*>(vcontext);
|
||||
modulePrefsListEntry *saveToEntry = nullptr;
|
||||
|
||||
for (size_t i = 0; i < context->m_numModulePrefs; i++)
|
||||
{
|
||||
modulePrefsListEntry *checkEntry = (*context->m_newPrefs) + i;
|
||||
THandle<char> candidateIdentHdl = checkEntry->m_identifier;
|
||||
size_t candidateIdentSize = candidateIdentHdl.MMBlock()->m_size;
|
||||
|
||||
if (candidateIdentSize == identifierSize && !memcmp(*candidateIdentHdl, identifier, candidateIdentSize))
|
||||
{
|
||||
saveToEntry = checkEntry;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!saveToEntry)
|
||||
{
|
||||
if (context->m_numModulePrefs == 0)
|
||||
context->m_newPrefs = THandle<modulePrefsListEntry>(mm->AllocHandle(sizeof(modulePrefsListEntry)));
|
||||
else
|
||||
mm->ResizeHandle(context->m_newPrefs.MMBlock(), (context->m_numModulePrefs + 1) * sizeof(modulePrefsListEntry));
|
||||
|
||||
saveToEntry = (*context->m_newPrefs) + context->m_numModulePrefs;
|
||||
new (saveToEntry) modulePrefsListEntry();
|
||||
|
||||
context->m_numModulePrefs++;
|
||||
}
|
||||
|
||||
if (saveToEntry->m_contents)
|
||||
saveToEntry->m_contents.Dispose();
|
||||
|
||||
if (!saveToEntry->m_identifier)
|
||||
{
|
||||
saveToEntry->m_identifier = THandle<char>(mm->AllocHandle(identifierSize));
|
||||
memcpy(*saveToEntry->m_identifier, identifier, identifierSize);
|
||||
}
|
||||
|
||||
saveToEntry->m_contents = THandle<uint8_t>(mm->AllocHandle(contentsSize));
|
||||
memcpy(*saveToEntry->m_contents, contents, contentsSize);
|
||||
|
||||
saveToEntry->m_version = version;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SaveModulePrefsCallback(void *vcontext, IGpPrefsHandler *handler)
|
||||
{
|
||||
return handler->SavePrefs(vcontext, SaveModulePrefsWriteFunc);
|
||||
}
|
||||
|
||||
Boolean SaveModulePrefs(THandle<void> currentModulePrefs, THandle<void> *outModulePrefs)
|
||||
{
|
||||
SaveModulePrefsContext context;
|
||||
|
||||
size_t numModulePrefs = 0;
|
||||
THandle<modulePrefsListEntry> newPrefs;
|
||||
|
||||
if (currentModulePrefs)
|
||||
{
|
||||
numModulePrefs = currentModulePrefs.MMBlock()->m_size / sizeof(modulePrefsListEntry);
|
||||
newPrefs = CloneHandle(currentModulePrefs).StaticCast<modulePrefsListEntry>();
|
||||
|
||||
modulePrefsListEntry *entries = *newPrefs;
|
||||
for (size_t i = 0; i < numModulePrefs; i++)
|
||||
{
|
||||
entries[i].m_contents = CloneHandle(entries[i].m_contents.StaticCast<void>()).StaticCast<uint8_t>();
|
||||
entries[i].m_identifier = CloneHandle(entries[i].m_identifier.StaticCast<void>()).StaticCast<char>();
|
||||
}
|
||||
}
|
||||
else
|
||||
newPrefs = THandle<modulePrefsListEntry>(PortabilityLayer::MemoryManager::GetInstance()->AllocHandle(0));
|
||||
|
||||
context.m_newPrefs = newPrefs;
|
||||
context.m_numModulePrefs = numModulePrefs;
|
||||
|
||||
bool savedOK = RunFunctionOnAllPrefsHandlers(&context, SaveModulePrefsCallback);
|
||||
|
||||
if (savedOK)
|
||||
{
|
||||
outModulePrefs->Dispose();
|
||||
*outModulePrefs = context.m_newPrefs.StaticCast<void>();
|
||||
}
|
||||
|
||||
return savedOK;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- BringUpDeletePrefsAlert
|
||||
|
||||
struct ApplyModulePrefsContext
|
||||
{
|
||||
size_t m_numModulePrefs;
|
||||
THandle<modulePrefsListEntry> m_newPrefs;
|
||||
};
|
||||
|
||||
bool ApplyModulePrefsCallback(void *vcontext, IGpPrefsHandler *handler)
|
||||
{
|
||||
ApplyModulePrefsContext *context = static_cast<ApplyModulePrefsContext*>(vcontext);
|
||||
|
||||
const modulePrefsListEntry *entries = *(context->m_newPrefs);
|
||||
|
||||
for (size_t i = 0; i < context->m_numModulePrefs; i++)
|
||||
handler->ApplyPrefs(*entries[i].m_identifier, entries[i].m_identifier.MMBlock()->m_size, *entries[i].m_contents, entries[i].m_contents.MMBlock()->m_size, entries[i].m_version);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Boolean ApplyModulePrefs (THandle<void> *modulePrefs)
|
||||
{
|
||||
ApplyModulePrefsContext context;
|
||||
|
||||
context.m_newPrefs = modulePrefs->StaticCast<modulePrefsListEntry>();
|
||||
context.m_numModulePrefs = context.m_newPrefs.MMBlock()->m_size / sizeof(modulePrefsListEntry);
|
||||
|
||||
return RunFunctionOnAllPrefsHandlers(&context, ApplyModulePrefsCallback);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- BringUpDeletePrefsAlert
|
||||
|
||||
void BringUpDeletePrefsAlert (void)
|
||||
{
|
||||
short whoCares;
|
||||
|
@@ -47,11 +47,11 @@
|
||||
void UpdateRoomInfoDialog (Dialog *);
|
||||
void DragMiniTile (Window *, DrawSurface *, Point, short *);
|
||||
void HiliteTileOver (DrawSurface *, Point);
|
||||
int16_t RoomFilter (Dialog *dialog, const TimeTaggedVOSEvent *evt);
|
||||
int16_t RoomFilter (void *context, Dialog *dialog, const TimeTaggedVOSEvent *evt);
|
||||
|
||||
short ChooseOriginalArt (short);
|
||||
void UpdateOriginalArt (Dialog *);
|
||||
int16_t OriginalArtFilter (Dialog *dialog, const TimeTaggedVOSEvent *evt);
|
||||
int16_t OriginalArtFilter (void *context, Dialog *dialog, const TimeTaggedVOSEvent *evt);
|
||||
Boolean PictIDExists (short);
|
||||
short GetFirstPICT (void);
|
||||
void BitchAboutPICTNotFound (void);
|
||||
@@ -344,7 +344,7 @@ void HiliteTileOver (DrawSurface *surface, Point mouseIs)
|
||||
//-------------------------------------------------------------- RoomFilter
|
||||
#ifndef COMPILEDEMO
|
||||
|
||||
int16_t RoomFilter(Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t RoomFilter(void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
Point mouseIs;
|
||||
short newTileOver;
|
||||
@@ -502,7 +502,7 @@ void DoRoomInfo(void)
|
||||
{
|
||||
bool needRedraw = false;
|
||||
|
||||
item = roomInfoDialog->ExecuteModal(RoomFilter);
|
||||
item = roomInfoDialog->ExecuteModal(nullptr, RoomFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
@@ -639,7 +639,7 @@ void UpdateOriginalArt (Dialog *theDialog)
|
||||
//-------------------------------------------------------------- OriginalArtFilter
|
||||
#ifndef COMPILEDEMO
|
||||
|
||||
int16_t OriginalArtFilter(Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t OriginalArtFilter(void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
Point mouseIs;
|
||||
|
||||
@@ -737,7 +737,7 @@ short ChooseOriginalArt (short was)
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
item = theDialog->ExecuteModal(OriginalArtFilter);
|
||||
item = theDialog->ExecuteModal(nullptr, OriginalArtFilter);
|
||||
|
||||
if (item == kOkayButton)
|
||||
{
|
||||
|
@@ -11,7 +11,7 @@
|
||||
#include "Externs.h"
|
||||
#include "FileManager.h"
|
||||
#include "House.h"
|
||||
#include "IOStream.h"
|
||||
#include "GpIOStream.h"
|
||||
#include "InputManager.h"
|
||||
#include "MacFileInfo.h"
|
||||
#include "MemoryManager.h"
|
||||
@@ -49,7 +49,7 @@ void SaveGame2 (void)
|
||||
gamePtr savedGame;
|
||||
short r, i, numRooms;
|
||||
char wasState;
|
||||
PortabilityLayer::IOStream *gameStream = nullptr;
|
||||
GpIOStream *gameStream = nullptr;
|
||||
|
||||
PortabilityLayer::MemoryManager *mm = PortabilityLayer::MemoryManager::GetInstance();
|
||||
PortabilityLayer::FileManager *fm = PortabilityLayer::FileManager::GetInstance();
|
||||
@@ -82,7 +82,7 @@ void SaveGame2 (void)
|
||||
char savePath[sizeof(spec.m_name) + 1];
|
||||
size_t savePathLength = 0;
|
||||
|
||||
if (!fm->PromptSaveFile(spec.m_dir, savePath, savePathLength, sizeof(spec.m_name), PLPasStr(gameNameStr)))
|
||||
if (!fm->PromptSaveFile(spec.m_dir, savePath, savePathLength, sizeof(spec.m_name), PLPasStr(gameNameStr), PSTR("Save Game")))
|
||||
{
|
||||
mm->Release(savedGame);
|
||||
return;
|
||||
@@ -191,7 +191,7 @@ Boolean OpenSavedGame (void)
|
||||
char savePath[sizeof(spec.m_name) + 1];
|
||||
size_t savePathLength = 0;
|
||||
|
||||
if (!fm->PromptOpenFile(spec.m_dir, savePath, savePathLength, sizeof(spec.m_name)))
|
||||
if (!fm->PromptOpenFile(spec.m_dir, savePath, savePathLength, sizeof(spec.m_name), PSTR("Open Saved Game")))
|
||||
return false;
|
||||
|
||||
assert(savePathLength < sizeof(spec.m_name) - 1);
|
||||
@@ -206,13 +206,13 @@ Boolean OpenSavedGame (void)
|
||||
if (memcmp(props.m_fileType, "gliG", 4))
|
||||
return false;
|
||||
|
||||
PortabilityLayer::IOStream *gameStream = nullptr;
|
||||
GpIOStream *gameStream = nullptr;
|
||||
PLError_t theErr = fm->OpenFileData(spec.m_dir, spec.m_name, PortabilityLayer::EFilePermission_Read, gameStream);
|
||||
|
||||
if (!CheckFileError(theErr, PSTR("Saved Game")))
|
||||
return(false);
|
||||
|
||||
const PortabilityLayer::UFilePos_t fileSizeFP = gameStream->Size();
|
||||
const GpUFilePos_t fileSizeFP = gameStream->Size();
|
||||
if (fileSizeFP > SIZE_MAX)
|
||||
{
|
||||
gameStream->Close();
|
||||
|
File diff suppressed because one or more lines are too long
547
GpApp/Scrap.cpp
Normal file
547
GpApp/Scrap.cpp
Normal file
@@ -0,0 +1,547 @@
|
||||
|
||||
//============================================================================
|
||||
//----------------------------------------------------------------------------
|
||||
// Scrap.c
|
||||
//----------------------------------------------------------------------------
|
||||
//============================================================================
|
||||
|
||||
#include "Externs.h"
|
||||
#include "Environ.h"
|
||||
#include "MemoryManager.h"
|
||||
|
||||
|
||||
|
||||
Boolean hasScrap, scrapIsARoom;
|
||||
|
||||
extern WindowPtr mapWindow;
|
||||
extern Rect roomObjectRects[];
|
||||
extern short objActive;
|
||||
|
||||
|
||||
//============================================================== Functions
|
||||
|
||||
THandle<void> scrapData;
|
||||
int32_t scrapType;
|
||||
|
||||
PLError_t ZeroScrap()
|
||||
{
|
||||
scrapType = 0;
|
||||
scrapData.Dispose();
|
||||
scrapData = nullptr;
|
||||
return PLErrors::kNone;
|
||||
}
|
||||
|
||||
PLError_t PutScrap(size_t size, int32_t typeID, const void *data)
|
||||
{
|
||||
scrapData.Dispose();
|
||||
|
||||
if (size)
|
||||
{
|
||||
scrapData = THandle<void>(PortabilityLayer::MemoryManager::GetInstance()->AllocHandle(size));
|
||||
if (!scrapData)
|
||||
return PLErrors::kOutOfMemory;
|
||||
|
||||
memcpy(*scrapData, data, size);
|
||||
}
|
||||
|
||||
scrapType = typeID;
|
||||
|
||||
return PLErrors::kNone;
|
||||
}
|
||||
|
||||
PLError_t GetScrap(THandle<void> destHdl, int32_t typeID, long *outSize)
|
||||
{
|
||||
if (scrapType != typeID || !scrapData)
|
||||
return PLErrors::kInvalidParameter;
|
||||
|
||||
size_t scrapSize = scrapData.MMBlock()->m_size;
|
||||
|
||||
if (scrapSize)
|
||||
{
|
||||
PortabilityLayer::MemoryManager::GetInstance()->ResizeHandle(destHdl.MMBlock(), scrapSize);
|
||||
memcpy(*destHdl, *scrapData, scrapSize);
|
||||
}
|
||||
|
||||
return PLErrors::kNone;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- PutRoomScrap
|
||||
|
||||
#ifndef COMPILEDEMO
|
||||
void PutRoomScrap (void)
|
||||
{
|
||||
// this function copies the current room into the clipboard
|
||||
Rect largeBounds, smallBounds;
|
||||
PLError_t theErr;
|
||||
|
||||
theErr = ZeroScrap();
|
||||
if (theErr == PLErrors::kNone)
|
||||
{
|
||||
SetRect(&largeBounds, 0, 0, kRoomWide, kTileHigh);
|
||||
SetRect(&smallBounds, 0, 0, kRoomWide / 4, kTileHigh / 4);
|
||||
|
||||
theErr = PutScrap(sizeof(roomType), 'Room', (Ptr)thisRoom);
|
||||
if (theErr == PLErrors::kNone)
|
||||
{
|
||||
if (!hasScrap)
|
||||
{
|
||||
hasScrap = true;
|
||||
UpdateMenus(false);
|
||||
}
|
||||
scrapIsARoom = true;
|
||||
}
|
||||
else
|
||||
YellowAlert(kYellowScrapError, theErr);
|
||||
}
|
||||
else
|
||||
YellowAlert(kYellowScrapError, theErr);
|
||||
}
|
||||
#endif
|
||||
|
||||
//-------------------------------------------------------------- PutObjectScrap
|
||||
|
||||
#ifndef COMPILEDEMO
|
||||
void PutObjectScrap (void)
|
||||
{
|
||||
// this function copies the currently selected object into the clipboard
|
||||
Str255 kindStr;
|
||||
objectPtr scrapObjPtr;
|
||||
long theErr;
|
||||
|
||||
theErr = ZeroScrap();
|
||||
if (theErr == PLErrors::kNone)
|
||||
{
|
||||
scrapObjPtr = &(thisRoom->objects[objActive]);
|
||||
theErr = PutScrap(sizeof(objectType), 'Obj.', (Ptr)scrapObjPtr);
|
||||
if (theErr == PLErrors::kNone)
|
||||
{
|
||||
if (!hasScrap)
|
||||
{
|
||||
hasScrap = true;
|
||||
UpdateMenus(false);
|
||||
}
|
||||
scrapIsARoom = false;
|
||||
}
|
||||
else
|
||||
YellowAlert(kYellowScrapError, theErr);
|
||||
}
|
||||
else
|
||||
YellowAlert(kYellowScrapError, theErr);
|
||||
}
|
||||
#endif
|
||||
|
||||
//-------------------------------------------------------------- GetRoomScrap
|
||||
|
||||
#ifndef COMPILEDEMO
|
||||
void GetRoomScrap (void)
|
||||
{
|
||||
// this function pastes a room from the clipboard
|
||||
Handle tempRoom;
|
||||
long theErr, scrapOffset;
|
||||
short wasFloor, wasSuite, srcRoomNumber, destRoomNumber, i;
|
||||
short linkRoomNumber;
|
||||
|
||||
tempRoom = NewHandle(0L);
|
||||
if (tempRoom == nil)
|
||||
{
|
||||
YellowAlert(kYellowNoMemory, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
theErr = GetScrap(tempRoom, 'Room', &scrapOffset);
|
||||
if (theErr < 0)
|
||||
YellowAlert(kYellowScrapError, theErr);
|
||||
else
|
||||
{
|
||||
DeselectObject();
|
||||
|
||||
wasFloor = thisRoom->floor;
|
||||
wasSuite = thisRoom->suite;
|
||||
destRoomNumber = GetRoomNumber(thisRoom->floor, thisRoom->suite);
|
||||
|
||||
memcpy(thisRoom, *tempRoom, sizeof(roomType));
|
||||
tempRoom.Dispose();
|
||||
|
||||
srcRoomNumber = GetRoomNumber(thisRoom->floor, thisRoom->suite);
|
||||
thisRoom->floor = wasFloor;
|
||||
thisRoom->suite = wasSuite;
|
||||
|
||||
for (i = 0; i < kMaxRoomObs; i++) // fix links
|
||||
{ // first see if a linkable object
|
||||
if ((ObjectIsLinkTransport(&thisRoom->objects[i])) ||
|
||||
(ObjectIsLinkSwitch(&thisRoom->objects[i])))
|
||||
{
|
||||
linkRoomNumber = GetRoomLinked (&thisRoom->objects[i]);
|
||||
if (linkRoomNumber == srcRoomNumber)
|
||||
{ // if linked to an object in same room<6F>
|
||||
if (ObjectIsLinkSwitch(&thisRoom->objects[i]))
|
||||
{ // point to new room location
|
||||
thisRoom->objects[i].data.d.where =
|
||||
(wasSuite * 100) + wasFloor + kNumUndergroundFloors;
|
||||
}
|
||||
else
|
||||
{ // point to new room location
|
||||
thisRoom->objects[i].data.e.where =
|
||||
(wasSuite * 100) + wasFloor + kNumUndergroundFloors;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CopyThisRoomToRoom();
|
||||
ReflectCurrentRoom(false);
|
||||
fileDirty = true;
|
||||
UpdateMenus(false);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
//-------------------------------------------------------------- GetObjectScrap
|
||||
|
||||
#ifndef COMPILEDEMO
|
||||
void GetObjectScrap (void)
|
||||
{
|
||||
// this function pastes an object from the clipboard
|
||||
objectType tempObject;
|
||||
Handle tempObjectHand;
|
||||
Point noPoint;
|
||||
long theErr, scrapOffset;
|
||||
short direction, dist;
|
||||
|
||||
tempObjectHand = NewHandle(0L);
|
||||
if (tempObjectHand == nil)
|
||||
{
|
||||
YellowAlert(kYellowNoMemory, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
theErr = GetScrap(tempObjectHand, 'Obj.', &scrapOffset);
|
||||
if (theErr < 0)
|
||||
YellowAlert(kYellowScrapError, theErr);
|
||||
else
|
||||
{
|
||||
DeselectObject();
|
||||
|
||||
noPoint.h = 100;
|
||||
noPoint.v = 100;
|
||||
memcpy(&tempObject, *tempObjectHand, sizeof(objectType));
|
||||
if (AddNewObject(noPoint, tempObject.what, false))
|
||||
{
|
||||
thisRoom->objects[objActive] = tempObject;
|
||||
ReadyBackground(thisRoom->background, thisRoom->tiles);
|
||||
GetThisRoomsObjRects();
|
||||
DrawThisRoomsObjects();
|
||||
|
||||
UpdateMainWindow();
|
||||
|
||||
if (ObjectHasHandle(&direction, &dist))
|
||||
{
|
||||
StartMarqueeHandled(&roomObjectRects[objActive], direction, dist);
|
||||
HandleBlowerGlider();
|
||||
}
|
||||
else
|
||||
StartMarquee(&roomObjectRects[objActive]);
|
||||
}
|
||||
|
||||
tempObjectHand.Dispose();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
//-------------------------------------------------------------- SeeIfValidScrapAvailable
|
||||
|
||||
#ifndef COMPILEDEMO
|
||||
void SeeIfValidScrapAvailable (Boolean updateMenus)
|
||||
{
|
||||
Handle tempRoom, tempObject;
|
||||
long theErr, scrapOffset;
|
||||
|
||||
hasScrap = false;
|
||||
|
||||
tempRoom = NewHandle(0L);
|
||||
if (tempRoom != nil)
|
||||
{
|
||||
theErr = GetScrap(tempRoom, 'Room', &scrapOffset);
|
||||
if (theErr >= 0)
|
||||
{
|
||||
hasScrap = true;
|
||||
scrapIsARoom = true;
|
||||
}
|
||||
tempRoom.Dispose();
|
||||
}
|
||||
|
||||
tempObject = NewHandle(0L);
|
||||
if (tempObject != nil)
|
||||
{
|
||||
theErr = GetScrap(tempObject, 'Obj.', &scrapOffset);
|
||||
if (theErr >= 0)
|
||||
{
|
||||
hasScrap = true;
|
||||
scrapIsARoom = false;
|
||||
}
|
||||
tempObject.Dispose();
|
||||
}
|
||||
|
||||
if (updateMenus)
|
||||
UpdateClipboardMenus();
|
||||
}
|
||||
#endif
|
||||
|
||||
//-------------------------------------------------------------- DropLocationIsTrash
|
||||
#if 0
|
||||
Boolean DropLocationIsTrash (AEDesc *dropLocation)
|
||||
{
|
||||
AEDesc dropSpec;
|
||||
FSSpec *theSpec;
|
||||
CInfoPBRec thePB;
|
||||
long trashDirID;
|
||||
OSErr theErr;
|
||||
short trashVRefNum;
|
||||
|
||||
if ((dropLocation->descriptorType != typeNull) &&
|
||||
(AECoerceDesc(dropLocation, typeFSS, &dropSpec) == noErr))
|
||||
{
|
||||
HLock(dropSpec.dataHandle);
|
||||
theSpec = (FSSpec *) *dropSpec.dataHandle;
|
||||
|
||||
thePB.dirInfo.ioCompletion = 0L;
|
||||
thePB.dirInfo.ioNamePtr = (StringPtr) &theSpec->name;
|
||||
thePB.dirInfo.ioVRefNum = theSpec->vRefNum;
|
||||
thePB.dirInfo.ioFDirIndex = 0;
|
||||
thePB.dirInfo.ioDrDirID = theSpec->parID;
|
||||
|
||||
theErr = PBGetCatInfo(&thePB, false);
|
||||
|
||||
HUnlock(dropSpec.dataHandle);
|
||||
AEDisposeDesc(&dropSpec);
|
||||
|
||||
if (theErr != noErr)
|
||||
return(false);
|
||||
|
||||
if (!(thePB.dirInfo.ioFlAttrib & (1 << 4)))
|
||||
return(false);
|
||||
|
||||
FindFolder(theSpec->vRefNum, kTrashFolderType, kCreateFolder,
|
||||
&trashVRefNum, &trashDirID);
|
||||
|
||||
if (thePB.dirInfo.ioDrDirID == trashDirID)
|
||||
return(true);
|
||||
}
|
||||
|
||||
return(false);
|
||||
}
|
||||
#endif
|
||||
|
||||
//-------------------------------------------------------------- DragTrackingFunc
|
||||
|
||||
#if 0
|
||||
pascal OSErr DragTrackingFunc (DragTrackingMessage theMessage, WindowPtr theWindow,
|
||||
void *theRefCon, DragReference theDrag)
|
||||
{
|
||||
DragAttributes attributes;
|
||||
OSErr theErr;
|
||||
|
||||
theErr = noErr;
|
||||
|
||||
GetDragAttributes(theDrag, &attributes);
|
||||
|
||||
switch (theMessage)
|
||||
{
|
||||
case dragTrackingEnterWindow:
|
||||
xxx;
|
||||
break;
|
||||
|
||||
case dragTrackingInWindow:
|
||||
xxx;
|
||||
break;
|
||||
|
||||
case dragTrackingLeaveWindow:
|
||||
xxx;
|
||||
break;
|
||||
}
|
||||
|
||||
return (theErr);
|
||||
}
|
||||
#endif
|
||||
|
||||
//-------------------------------------------------------------- DragRoom
|
||||
#if 0
|
||||
Boolean DragRoom (EventRecord *theEvent, Rect *roomSrc, short roomNumber)
|
||||
{
|
||||
DragReference theDrag;
|
||||
DragAttributes attributes;
|
||||
AEDesc dropLocation;
|
||||
Rect largeBounds, smallBounds;
|
||||
PicHandle smallPict;
|
||||
roomType *theRoom;
|
||||
RgnHandle boundsRgn, tempRgn;
|
||||
// Point dragPoint;
|
||||
OSErr theErr;
|
||||
short mouseDnMods, mouseUpMods, copyRoom;
|
||||
char wasState;
|
||||
|
||||
if (thisMac.hasDrag)
|
||||
{
|
||||
if (!WaitMouseMoved(theEvent->where))
|
||||
return(false);
|
||||
|
||||
SetPort((GrafPtr)mainWindow);
|
||||
BeginUpdate((GrafPtr)mainWindow);
|
||||
UpdateMainWindow();
|
||||
EndUpdate((GrafPtr)mainWindow);
|
||||
|
||||
theErr = NewDrag(&theDrag);
|
||||
if (theErr != noErr)
|
||||
return (false);
|
||||
|
||||
wasState = HGetState((Handle)thisHouse);
|
||||
HLock((Handle)thisHouse);
|
||||
theRoom = &((*thisHouse)->rooms[roomNumber]);
|
||||
|
||||
theErr = AddDragItemFlavor(theDrag, (ItemReference)roomNumber,
|
||||
(FlavorType)'Room', (Ptr)theRoom,
|
||||
sizeof(roomType), (FlavorFlags)0);
|
||||
if (theErr != noErr)
|
||||
{
|
||||
HSetState((Handle)thisHouse, wasState);
|
||||
DisposeDrag(theDrag);
|
||||
return (false);
|
||||
}
|
||||
|
||||
SetRect(&largeBounds, 0, 0, kRoomWide, kTileHigh);
|
||||
SetRect(&smallBounds, 0, 0, kRoomWide / 4, kTileHigh / 4);
|
||||
smallPict = OpenPicture(&smallBounds);
|
||||
CopyBits(&(((GrafPtr)mainWindow)->portBits), &(((GrafPtr)mainWindow)->portBits),
|
||||
&largeBounds, &smallBounds, srcCopy, nil);
|
||||
ClosePicture();
|
||||
HLock((Handle)smallPict);
|
||||
theErr = AddDragItemFlavor(theDrag, (ItemReference)roomNumber,
|
||||
(FlavorType)'PICT', (Ptr)(*smallPict),
|
||||
GetHandleSize((Handle)smallPict), (FlavorFlags)0);
|
||||
HUnlock((Handle)smallPict);
|
||||
KillPicture(smallPict);
|
||||
|
||||
HSetState((Handle)thisHouse, wasState);
|
||||
if (theErr != noErr)
|
||||
{
|
||||
DisposeDrag(theDrag);
|
||||
return (false);
|
||||
}
|
||||
|
||||
theErr = SetDragItemBounds(theDrag, (ItemReference)roomNumber, roomSrc);
|
||||
if (theErr != noErr)
|
||||
{
|
||||
DisposeDrag(theDrag);
|
||||
return (false);
|
||||
}
|
||||
|
||||
boundsRgn = NewRgn();
|
||||
RectRgn(boundsRgn, roomSrc);
|
||||
|
||||
tempRgn = NewRgn();
|
||||
CopyRgn(boundsRgn, tempRgn);
|
||||
InsetRgn(tempRgn, 1, 1);
|
||||
DiffRgn(boundsRgn, tempRgn, boundsRgn);
|
||||
DisposeRgn(tempRgn);
|
||||
|
||||
theErr = TrackDrag(theDrag, theEvent, boundsRgn);
|
||||
|
||||
if ((theErr != noErr) && (theErr != userCanceledErr))
|
||||
{
|
||||
DisposeRgn(boundsRgn);
|
||||
DisposeDrag(theDrag);
|
||||
return(true);
|
||||
}
|
||||
|
||||
theErr = GetDragAttributes(theDrag, &attributes);
|
||||
if (theErr != noErr)
|
||||
{
|
||||
DisposeRgn(boundsRgn);
|
||||
DisposeDrag(theDrag);
|
||||
return(true);
|
||||
}
|
||||
|
||||
theErr = GetDropLocation(theDrag, &dropLocation);
|
||||
if (theErr != noErr)
|
||||
{
|
||||
DisposeRgn(boundsRgn);
|
||||
DisposeDrag(theDrag);
|
||||
return(true);
|
||||
}
|
||||
|
||||
theErr = GetDragModifiers(theDrag, 0L, &mouseDnMods, &mouseUpMods);
|
||||
if (theErr != noErr)
|
||||
{
|
||||
DisposeRgn(boundsRgn);
|
||||
DisposeDrag(theDrag);
|
||||
return(true);
|
||||
}
|
||||
|
||||
copyRoom = (mouseDnMods | mouseUpMods) & optionKey;
|
||||
|
||||
if (!(attributes & kDragInsideSenderApplication))
|
||||
{
|
||||
if ((!copyRoom) && (DropLocationIsTrash(&dropLocation)))
|
||||
{
|
||||
DeselectObject();
|
||||
DeleteRoom(true);
|
||||
}
|
||||
}
|
||||
else if (attributes & kDragInsideSenderWindow)
|
||||
{
|
||||
// SetPort(mapWindow);
|
||||
// GetDragMouse(theDrag, &dragPoint, 0L);
|
||||
// GlobalToLocal(&dragPoint);
|
||||
// MoveRoom(dragPoint);
|
||||
}
|
||||
|
||||
DisposeRgn(boundsRgn);
|
||||
DisposeDrag(theDrag);
|
||||
}
|
||||
|
||||
return (true);
|
||||
}
|
||||
#endif
|
||||
|
||||
//-------------------------------------------------------------- InitDragInfo
|
||||
|
||||
#if 0
|
||||
OSErr InitDragInfo (DragInfoHandle dragInfo)
|
||||
{
|
||||
OSErr theErr;
|
||||
DragTrackingHandlerUPP trackingProc;
|
||||
DragReceiveHandlerUPP receiveProc;
|
||||
|
||||
if (!HasDragManager())
|
||||
return (noErr);
|
||||
|
||||
trackingProc = NewDragTrackingHandlerProc(DragTrackingFunc);
|
||||
(**dragInfo).dragTrackingProc = trackingProc;
|
||||
theErr = InstallTrackingHandler(trackingProc, mapWindow, dragInfo);
|
||||
if (theErr != noErr)
|
||||
return (theErr);
|
||||
|
||||
receiveProc = NewDragReceiveHandlerProc(DragReceiveFunc);
|
||||
(**dragInfo).dragReceiveProc = receiveProc;
|
||||
theErr = InstallReceiveHandler(receiveProc, (**dragInfo).window, dragInfo);
|
||||
|
||||
return err;
|
||||
}
|
||||
#endif
|
||||
|
||||
//-------------------------------------------------------------- KillDragInfo
|
||||
|
||||
#if 0
|
||||
void KillDragInfo (DragInfoHandle dragInfo)
|
||||
{
|
||||
OSErr theErr;
|
||||
|
||||
if (!HasDragManager())
|
||||
return (noErr);
|
||||
|
||||
theErr = RemoveTrackingHandler((**dragInfo).dragTrackingProc,
|
||||
(**dragInfo).window);
|
||||
theErr = RemoveReceiveHandler((**dragInfo).dragReceiveProc,
|
||||
(**dragInfo).window);
|
||||
}
|
||||
#endif
|
@@ -201,7 +201,7 @@ void PageDownHouses (Dialog *theDial)
|
||||
//-------------------------------------------------------------- LoadFilter
|
||||
#ifndef COMPILEDEMO
|
||||
|
||||
int16_t LoadFilter(Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t LoadFilter(void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
short screenCount, i, wasIndex;
|
||||
|
||||
@@ -398,7 +398,7 @@ void DoLoadHouse (void)
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
int16_t item = theDial->ExecuteModal(LoadFilter);
|
||||
int16_t item = theDial->ExecuteModal(nullptr, LoadFilter);
|
||||
|
||||
bool requiresRedraw = false;
|
||||
|
||||
|
@@ -27,6 +27,8 @@
|
||||
#define kSoundPrefsDialID 1018
|
||||
#define kControlPrefsDialID 1023
|
||||
#define kBrainsPrefsDialID 1024
|
||||
|
||||
// Display dialog
|
||||
#define kDisplayButton 3
|
||||
#define kSoundButton 4
|
||||
#define kControlsButton 5
|
||||
@@ -35,18 +37,24 @@
|
||||
#define kDisplay3Item 4
|
||||
#define kDisplay9Item 5
|
||||
#define kBorder1Item 8
|
||||
#define kDoColorFadeItem 9
|
||||
#define k32BitColorItem 10
|
||||
#define kScaleResolutionItem 11
|
||||
#define kBorder2Item 12
|
||||
#define kBorder3Item 13
|
||||
#define kDispDefault 14
|
||||
#define k32BitColorItem 9
|
||||
#define kScaleResolutionItem 10
|
||||
#define kUseICCProfileItem 11
|
||||
#define kDoColorFadeItem 12
|
||||
#define kFullScreenItem 13
|
||||
#define kBorder2Item 14
|
||||
#define kBorder3Item 15
|
||||
#define kDispDefault 16
|
||||
|
||||
// Sound dialog
|
||||
#define kSofterItem 4
|
||||
#define kLouderItem 5
|
||||
#define kVolNumberItem 7
|
||||
#define kIdleMusicItem 8
|
||||
#define kPlayMusicItem 9
|
||||
#define kSoundDefault 13
|
||||
|
||||
// Controls dialog
|
||||
#define kRightControl 5
|
||||
#define kLeftControl 6
|
||||
#define kBattControl 7
|
||||
@@ -54,6 +62,8 @@
|
||||
#define kControlDefaults 13
|
||||
#define kESCPausesRadio 14
|
||||
#define kTABPausesRadio 15
|
||||
|
||||
// Brains dialog
|
||||
#define kMaxFilesItem 5
|
||||
#define kQuickTransitCheck 7
|
||||
#define kDoZoomsCheck 8
|
||||
@@ -87,7 +97,7 @@ void DoDisplayPrefs (void);
|
||||
void SetAllDefaults (void);
|
||||
void FlashSettingsButton (DrawSurface *, short);
|
||||
void UpdateSettingsMain (Dialog *);
|
||||
int16_t PrefsFilter(Dialog *dialog, const TimeTaggedVOSEvent *evt);
|
||||
int16_t PrefsFilter(void *context, Dialog *dialog, const TimeTaggedVOSEvent *evt);
|
||||
void BitchAboutChanges (void);
|
||||
|
||||
|
||||
@@ -97,11 +107,11 @@ Str15 tempLeftStr, tempRightStr, tempBattStr, tempBandStr;
|
||||
long tempLeftMap, tempRightMap, tempBattMap, tempBandMap;
|
||||
short whichCtrl, wasDepthPref;
|
||||
Boolean wasFade, wasIdle, wasPlay, wasTransit, wasZooms, wasBackground;
|
||||
Boolean wasEscPauseKey, wasDemos, wasAutoScale, nextRestartChange, wasErrorCheck, needResolutionReset;
|
||||
Boolean wasEscPauseKey, wasDemos, wasAutoScale, wasUseICCProfile, nextRestartChange, wasErrorCheck, wasFullscreenPref, needResolutionReset;
|
||||
Boolean wasPrettyMap, wasBitchDialogs;
|
||||
|
||||
extern short numNeighbors, isDepthPref, maxFiles, willMaxFiles;
|
||||
extern Boolean isDoColorFade, isPlayMusicIdle, isAutoScale;
|
||||
extern Boolean isDoColorFade, isPlayMusicIdle, isAutoScale, isUseICCProfile;
|
||||
extern Boolean isHouseChecks, doBitchDialogs;
|
||||
extern Boolean isEscPauseKey, failedMusic, isSoundOn, doBackground;
|
||||
extern Boolean isMusicOn, quickerTransitions, doAutoDemo;
|
||||
@@ -148,7 +158,7 @@ void UpdateSettingsBrains (Dialog *theDialog)
|
||||
|
||||
//-------------------------------------------------------------- BrainsFilter
|
||||
|
||||
int16_t BrainsFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t BrainsFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -243,7 +253,7 @@ void DoBrainsPrefs (void)
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
itemHit = prefDlg->ExecuteModal(BrainsFilter);
|
||||
itemHit = prefDlg->ExecuteModal(nullptr, BrainsFilter);
|
||||
switch (itemHit)
|
||||
{
|
||||
case kOkayButton:
|
||||
@@ -373,7 +383,7 @@ void UpdateSettingsControl (Dialog *theDialog)
|
||||
|
||||
//-------------------------------------------------------------- ControlFilter
|
||||
|
||||
int16_t ControlFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t ControlFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
intptr_t wasKeyMap;
|
||||
|
||||
@@ -525,7 +535,7 @@ void DoControlPrefs (void)
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
itemHit = prefDlg->ExecuteModal(ControlFilter);
|
||||
itemHit = prefDlg->ExecuteModal(nullptr, ControlFilter);
|
||||
switch (itemHit)
|
||||
{
|
||||
case kOkayButton:
|
||||
@@ -650,7 +660,7 @@ void HandleSoundMusicChange (short newVolume, Boolean sayIt)
|
||||
|
||||
//-------------------------------------------------------------- SoundFilter
|
||||
|
||||
int16_t SoundFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t SoundFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
short newVolume;
|
||||
|
||||
@@ -747,7 +757,7 @@ void DoSoundPrefs (void)
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
itemHit = prefDlg->ExecuteModal(SoundFilter);
|
||||
itemHit = prefDlg->ExecuteModal(nullptr, SoundFilter);
|
||||
|
||||
switch (itemHit)
|
||||
{
|
||||
@@ -861,6 +871,7 @@ void DisplayDefaults (void)
|
||||
wasDepthPref = kSwitchIfNeeded;
|
||||
wasFade = true;
|
||||
wasAutoScale = true;
|
||||
wasUseICCProfile = true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- FrameDisplayIcon
|
||||
@@ -906,6 +917,8 @@ void DisplayUpdate (Dialog *theDialog)
|
||||
SetDialogItemValue(theDialog, kDoColorFadeItem, (short)wasFade);
|
||||
SetDialogItemValue(theDialog, k32BitColorItem, wasDepthPref == 32);
|
||||
SetDialogItemValue(theDialog, kScaleResolutionItem, (short)isAutoScale);
|
||||
SetDialogItemValue(theDialog, kUseICCProfileItem, (short)isUseICCProfile);
|
||||
SetDialogItemValue(theDialog, kFullScreenItem, wasFullscreenPref);
|
||||
|
||||
FrameDisplayIcon(theDialog, StdColors::Red());
|
||||
FrameDialogItemC(theDialog, kBorder1Item, kRedOrangeColor8);
|
||||
@@ -915,7 +928,7 @@ void DisplayUpdate (Dialog *theDialog)
|
||||
|
||||
//-------------------------------------------------------------- DisplayFilter
|
||||
|
||||
int16_t DisplayFilter(Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t DisplayFilter(void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
if (!evt)
|
||||
return -1;
|
||||
@@ -1005,13 +1018,14 @@ void DoDisplayPrefs (void)
|
||||
wasFade = isDoColorFade;
|
||||
wasDepthPref = isDepthPref;
|
||||
wasAutoScale = isAutoScale;
|
||||
wasUseICCProfile = isUseICCProfile;
|
||||
leaving = false;
|
||||
|
||||
DisplayUpdate(prefDlg);
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
int16_t itemHit = prefDlg->ExecuteModal(DisplayFilter);
|
||||
int16_t itemHit = prefDlg->ExecuteModal(nullptr, DisplayFilter);
|
||||
switch (itemHit)
|
||||
{
|
||||
case kOkayButton:
|
||||
@@ -1022,6 +1036,7 @@ void DoDisplayPrefs (void)
|
||||
needResolutionReset = true;
|
||||
isDepthPref = wasDepthPref;
|
||||
isAutoScale = wasAutoScale;
|
||||
isUseICCProfile = wasUseICCProfile;
|
||||
leaving = true;
|
||||
break;
|
||||
|
||||
@@ -1072,6 +1087,16 @@ void DoDisplayPrefs (void)
|
||||
SetDialogItemValue(prefDlg, kScaleResolutionItem, (short)wasAutoScale);
|
||||
break;
|
||||
|
||||
case kUseICCProfileItem:
|
||||
wasUseICCProfile = !wasUseICCProfile;
|
||||
SetDialogItemValue(prefDlg, kUseICCProfileItem, (short)wasUseICCProfile);
|
||||
break;
|
||||
|
||||
case kFullScreenItem:
|
||||
wasFullscreenPref = !wasFullscreenPref;
|
||||
SetDialogItemValue(prefDlg, kFullScreenItem, (short)wasFullscreenPref);
|
||||
break;
|
||||
|
||||
case kDispDefault:
|
||||
FrameDisplayIcon(prefDlg, StdColors::White());
|
||||
DisplayDefaults();
|
||||
@@ -1177,7 +1202,7 @@ void UpdateSettingsMain (Dialog *theDialog)
|
||||
|
||||
//-------------------------------------------------------------- PrefsFilter
|
||||
|
||||
int16_t PrefsFilter (Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
int16_t PrefsFilter (void *context, Dialog *dial, const TimeTaggedVOSEvent *evt)
|
||||
{
|
||||
short i;
|
||||
Boolean foundHit;
|
||||
@@ -1259,13 +1284,15 @@ void DoSettingsMain (void)
|
||||
leaving = false;
|
||||
nextRestartChange = false;
|
||||
|
||||
wasFullscreenPref = PortabilityLayer::HostDisplayDriver::GetInstance()->IsFullScreen();
|
||||
|
||||
Window* exclWindow = prefDlg->GetWindow();
|
||||
|
||||
PortabilityLayer::WindowManager::GetInstance()->SwapExclusiveWindow(exclWindow); // Push exclusive window
|
||||
|
||||
while (!leaving)
|
||||
{
|
||||
int16_t selectedItem = prefDlg->ExecuteModal(PrefsFilter);
|
||||
int16_t selectedItem = prefDlg->ExecuteModal(nullptr, PrefsFilter);
|
||||
|
||||
switch (selectedItem)
|
||||
{
|
||||
@@ -1316,11 +1343,21 @@ void DoSettingsMain (void)
|
||||
nextRestartChange = false;
|
||||
}
|
||||
|
||||
IGpDisplayDriver *displayDriver = PortabilityLayer::HostDisplayDriver::GetInstance();
|
||||
|
||||
if (displayDriver->IsFullScreen() != (wasFullscreenPref != 0))
|
||||
{
|
||||
displayDriver->RequestToggleFullScreen(0);
|
||||
needResolutionReset = false;
|
||||
}
|
||||
|
||||
if (needResolutionReset)
|
||||
{
|
||||
PortabilityLayer::HostDisplayDriver::GetInstance()->RequestResetVirtualResolution();
|
||||
needResolutionReset = false;
|
||||
}
|
||||
|
||||
PortabilityLayer::HostDisplayDriver::GetInstance()->SetUseICCProfile(isUseICCProfile);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- BitchAboutChanges
|
||||
|
@@ -473,7 +473,7 @@ void HandleToolsClick (Point wherePt)
|
||||
part = FindControl(wherePt, toolsWindow, &theControl);
|
||||
if ((theControl != nil) && (part != 0))
|
||||
{
|
||||
part = theControl->Capture(wherePt, nullptr);
|
||||
part = theControl->Capture(nullptr, wherePt, nullptr);
|
||||
if (part != 0)
|
||||
{
|
||||
newMode = theControl->GetState();
|
||||
|
@@ -9,9 +9,15 @@
|
||||
#include "Externs.h"
|
||||
#include "Environ.h"
|
||||
#include "MainWindow.h"
|
||||
#include "MemoryManager.h"
|
||||
#include "QDPixMap.h"
|
||||
#include "PLQDraw.h"
|
||||
#include "RectUtils.h"
|
||||
#include "RandomNumberGenerator.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
extern Boolean quickerTransitions;
|
||||
|
||||
|
||||
//============================================================== Functions
|
||||
@@ -38,7 +44,10 @@ void PourScreenOn (Rect *theRect)
|
||||
QSetRect(&columnRects[i], 0, 0, kChipWide, kChipHigh);
|
||||
QOffsetRect(&columnRects[i], (i * kChipWide) + theRect->left, theRect->top);
|
||||
}
|
||||
|
||||
|
||||
const int kUnitsPerBlock = 128;
|
||||
|
||||
int unitsCommitted = 0;
|
||||
while (working)
|
||||
{
|
||||
do
|
||||
@@ -68,47 +77,73 @@ void PourScreenOn (Rect *theRect)
|
||||
if (colsComplete >= colWide)
|
||||
working = false;
|
||||
}
|
||||
|
||||
unitsCommitted++;
|
||||
|
||||
if (unitsCommitted == kUnitsPerBlock)
|
||||
{
|
||||
mainWindow->GetDrawSurface()->m_port.SetDirty(PortabilityLayer::QDPortDirtyFlag_Contents);
|
||||
Delay(1, nullptr);
|
||||
|
||||
unitsCommitted = 0;
|
||||
}
|
||||
}
|
||||
|
||||
mainWindow->GetDrawSurface()->m_port.SetDirty(PortabilityLayer::QDPortDirtyFlag_Contents);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- WipeScreenOn
|
||||
|
||||
void WipeScreenOn (short direction, Rect *theRect)
|
||||
{
|
||||
#define kWipeRectThick 4
|
||||
if (quickerTransitions)
|
||||
{
|
||||
CopyBits((BitMap *)*GetGWorldPixMap(workSrcMap),
|
||||
GetPortBitMapForCopyBits(mainWindow->GetDrawSurface()),
|
||||
theRect, theRect, srcCopy);
|
||||
|
||||
mainWindow->GetDrawSurface()->m_port.SetDirty(PortabilityLayer::QDPortDirtyFlag_Contents);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
Rect wipeRect;
|
||||
short hOffset, vOffset;
|
||||
short i, count;
|
||||
|
||||
const int kWipeTransitionTime = 10;
|
||||
|
||||
const int wipeRectThick = (theRect->Width() + kWipeTransitionTime - 1) / kWipeTransitionTime;
|
||||
|
||||
wipeRect = *theRect;
|
||||
switch (direction)
|
||||
{
|
||||
case kAbove:
|
||||
wipeRect.bottom = wipeRect.top + kWipeRectThick;
|
||||
wipeRect.bottom = wipeRect.top + wipeRectThick;
|
||||
hOffset = 0;
|
||||
vOffset = kWipeRectThick;
|
||||
count = ((theRect->bottom - theRect->top) / kWipeRectThick) + 1;
|
||||
vOffset = wipeRectThick;
|
||||
count = (theRect->bottom - theRect->top + wipeRectThick - 1) / wipeRectThick;
|
||||
break;
|
||||
|
||||
case kToRight:
|
||||
wipeRect.left = wipeRect.right - kWipeRectThick;
|
||||
hOffset = -kWipeRectThick;
|
||||
wipeRect.left = wipeRect.right - wipeRectThick;
|
||||
hOffset = -wipeRectThick;
|
||||
vOffset = 0;
|
||||
count = workSrcRect.right / kWipeRectThick;
|
||||
count = (workSrcRect.right + wipeRectThick - 1) / wipeRectThick;
|
||||
break;
|
||||
|
||||
case kBelow:
|
||||
wipeRect.top = wipeRect.bottom - kWipeRectThick;
|
||||
wipeRect.top = wipeRect.bottom - wipeRectThick;
|
||||
hOffset = 0;
|
||||
vOffset = -kWipeRectThick;
|
||||
count = ((theRect->bottom - theRect->top) / kWipeRectThick) + 1;
|
||||
vOffset = -wipeRectThick;
|
||||
count = (theRect->bottom - theRect->top + wipeRectThick - 1) / wipeRectThick;
|
||||
break;
|
||||
|
||||
case kToLeft:
|
||||
wipeRect.right = wipeRect.left + kWipeRectThick;
|
||||
hOffset = kWipeRectThick;
|
||||
wipeRect.right = wipeRect.left + wipeRectThick;
|
||||
hOffset = wipeRectThick;
|
||||
vOffset = 0;
|
||||
count = workSrcRect.right / kWipeRectThick;
|
||||
count = (workSrcRect.right + wipeRectThick - 1) / wipeRectThick;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -128,19 +163,95 @@ void WipeScreenOn (short direction, Rect *theRect)
|
||||
wipeRect.bottom = theRect->top;
|
||||
else if (wipeRect.bottom > theRect->bottom)
|
||||
wipeRect.bottom = theRect->bottom;
|
||||
|
||||
mainWindow->GetDrawSurface()->m_port.SetDirty(PortabilityLayer::QDPortDirtyFlag_Contents);
|
||||
|
||||
Delay(1, nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- DissolveScreenOn
|
||||
|
||||
void DissolveScreenOn(Rect *theRect)
|
||||
{
|
||||
DrawSurface *graf = mainWindow->GetDrawSurface();
|
||||
|
||||
const int kChunkHeight = 15;
|
||||
const int kChunkWidth = 20;
|
||||
|
||||
const int rows = (theRect->Height() + kChunkHeight - 1) / kChunkHeight;
|
||||
const int cols = (theRect->Width() + kChunkWidth - 1) / kChunkWidth;
|
||||
|
||||
const int numCells = rows * cols;
|
||||
|
||||
const int targetTransitionTime = 30;
|
||||
|
||||
Point *points = static_cast<Point*>(PortabilityLayer::MemoryManager::GetInstance()->Alloc(sizeof(Point) * numCells));
|
||||
|
||||
int rectLeft = theRect->left;
|
||||
int rectTop = theRect->top;
|
||||
|
||||
for (int row = 0; row < rows; row++)
|
||||
{
|
||||
for (int col = 0; col < cols; col++)
|
||||
points[col + row * cols] = Point::Create(col * kChunkWidth + rectLeft, row * kChunkHeight + rectTop);
|
||||
}
|
||||
|
||||
PortabilityLayer::RandomNumberGenerator *rng = PortabilityLayer::RandomNumberGenerator::GetInstance();
|
||||
|
||||
for (unsigned int shuffleIndex = 0; shuffleIndex < static_cast<unsigned int>(numCells - 1); shuffleIndex++)
|
||||
{
|
||||
unsigned int shuffleRange = static_cast<unsigned int>(numCells - 1) - shuffleIndex;
|
||||
unsigned int shuffleTarget = (rng->GetNextAndAdvance() % shuffleRange) + shuffleIndex;
|
||||
|
||||
if (shuffleTarget != shuffleIndex)
|
||||
std::swap(points[shuffleIndex], points[shuffleTarget]);
|
||||
}
|
||||
|
||||
const int numCellsAtOnce = numCells / targetTransitionTime;
|
||||
|
||||
const BitMap *srcBitmap = *GetGWorldPixMap(workSrcMap);
|
||||
BitMap *destBitmap = GetPortBitMapForCopyBits(graf);
|
||||
|
||||
for (unsigned int firstCell = 0; firstCell < static_cast<unsigned int>(numCells); firstCell += numCellsAtOnce)
|
||||
{
|
||||
unsigned int lastCell = firstCell + numCellsAtOnce;
|
||||
if (lastCell > static_cast<unsigned int>(numCells))
|
||||
lastCell = numCells;
|
||||
|
||||
for (unsigned int i = firstCell; i < lastCell; i++)
|
||||
{
|
||||
const Point &point = points[i];
|
||||
const Rect copyRect = Rect::Create(point.v, point.h, point.v + kChunkHeight, point.h + kChunkWidth);
|
||||
|
||||
CopyBits(srcBitmap, destBitmap, ©Rect, ©Rect, srcCopy);
|
||||
}
|
||||
|
||||
graf->m_port.SetDirty(PortabilityLayer::QDPortDirtyFlag_Contents);
|
||||
|
||||
Delay(1, nullptr);
|
||||
}
|
||||
|
||||
graf->m_port.SetDirty(PortabilityLayer::QDPortDirtyFlag_Contents);
|
||||
|
||||
PortabilityLayer::MemoryManager::GetInstance()->Release(points);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------- DumpScreenOn
|
||||
|
||||
void DumpScreenOn (Rect *theRect)
|
||||
void DumpScreenOn(Rect *theRect, Boolean fast)
|
||||
{
|
||||
DrawSurface *graf = mainWindow->GetDrawSurface();
|
||||
if (quickerTransitions || fast)
|
||||
{
|
||||
DrawSurface *graf = mainWindow->GetDrawSurface();
|
||||
|
||||
CopyBits((BitMap *)*GetGWorldPixMap(workSrcMap),
|
||||
CopyBits((BitMap *)*GetGWorldPixMap(workSrcMap),
|
||||
GetPortBitMapForCopyBits(graf),
|
||||
theRect, theRect, srcCopy);
|
||||
|
||||
graf->m_port.SetDirty(PortabilityLayer::QDPortDirtyFlag_Contents);
|
||||
graf->m_port.SetDirty(PortabilityLayer::QDPortDirtyFlag_Contents);
|
||||
}
|
||||
else
|
||||
DissolveScreenOn(theRect);
|
||||
}
|
||||
|
||||
|
@@ -10,6 +10,11 @@ void GpAudioDriverXAudio2::Shutdown()
|
||||
delete this;
|
||||
}
|
||||
|
||||
IGpPrefsHandler *GpAudioDriverXAudio2::GetPrefsHandler() const
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const GpAudioDriverProperties &GpAudioDriverXAudio2::GetProperties() const
|
||||
{
|
||||
return m_properties;
|
||||
|
@@ -14,6 +14,8 @@ public:
|
||||
void SetMasterVolume(uint32_t vol, uint32_t maxVolume) override;
|
||||
void Shutdown() override;
|
||||
|
||||
IGpPrefsHandler *GetPrefsHandler() const override;
|
||||
|
||||
const GpAudioDriverProperties &GetProperties() const;
|
||||
IXAudio2 *GetXA2() const;
|
||||
IXAudio2MasteringVoice *GetMasteringVoice() const;
|
||||
|
@@ -1,14 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.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>
|
||||
@@ -25,19 +17,6 @@
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
@@ -56,15 +35,6 @@
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</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="..\GpCommon.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="..\GpCommon.props" />
|
||||
<Import Project="..\Release.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="..\GpCommon.props" />
|
||||
@@ -84,28 +54,6 @@
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
8
GpCommon/EGpFontHandlerType.h
Normal file
8
GpCommon/EGpFontHandlerType.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
enum EGpFontHandlerType
|
||||
{
|
||||
EGpFontHandlerType_FreeType2,
|
||||
|
||||
EGpFontHandlerType_Count,
|
||||
};
|
@@ -2,8 +2,8 @@
|
||||
|
||||
#define GP_BUILD_VERSION_MAJOR 1
|
||||
#define GP_BUILD_VERSION_MINOR 0
|
||||
#define GP_BUILD_VERSION_UPDATE 3
|
||||
#define GP_BUILD_VERSION_UPDATE 8
|
||||
|
||||
#define GP_APPLICATION_VERSION_STRING "1.0.3"
|
||||
#define GP_APPLICATION_COPYRIGHT_STRING "2020 Eric Lasota"
|
||||
#define GP_APPLICATION_VERSION_STRING "1.0.8"
|
||||
#define GP_APPLICATION_COPYRIGHT_STRING "2019-2020 Eric Lasota"
|
||||
#define GP_APPLICATION_WEBSITE_STRING "https://github.com/elasota/Aerofoil"
|
||||
|
6
GpCommon/GpFilePos.h
Normal file
6
GpCommon/GpFilePos.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
typedef int64_t GpFilePos_t;
|
||||
typedef uint64_t GpUFilePos_t;
|
12
GpCommon/GpFontHandler.h
Normal file
12
GpCommon/GpFontHandler.h
Normal file
@@ -0,0 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
class GpIOStream;
|
||||
struct IGpFont;
|
||||
|
||||
struct IGpFontHandler
|
||||
{
|
||||
virtual void Shutdown() = 0;
|
||||
|
||||
virtual IGpFont *LoadFont(GpIOStream *stream) = 0;
|
||||
virtual bool KeepStreamOpen() const = 0;
|
||||
};
|
8
GpCommon/GpFontHandlerProperties.h
Normal file
8
GpCommon/GpFontHandlerProperties.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "EGpFontHandlerType.h"
|
||||
|
||||
struct GpFontHandlerProperties
|
||||
{
|
||||
EGpFontHandlerType m_type;
|
||||
};
|
21
GpCommon/GpIOStream.h
Normal file
21
GpCommon/GpIOStream.h
Normal file
@@ -0,0 +1,21 @@
|
||||
#pragma once
|
||||
|
||||
#include "GpFilePos.h"
|
||||
|
||||
class GpIOStream
|
||||
{
|
||||
public:
|
||||
virtual size_t Read(void *bytesOut, size_t size) = 0;
|
||||
virtual size_t Write(const void *bytes, size_t size) = 0;
|
||||
virtual bool IsSeekable() const = 0;
|
||||
virtual bool IsReadOnly() const = 0;
|
||||
virtual bool IsWriteOnly() const = 0;
|
||||
virtual bool SeekStart(GpUFilePos_t loc) = 0;
|
||||
virtual bool SeekCurrent(GpFilePos_t loc) = 0;
|
||||
virtual bool SeekEnd(GpUFilePos_t loc) = 0;
|
||||
virtual bool Truncate(GpUFilePos_t loc) = 0;
|
||||
virtual GpUFilePos_t Size() const = 0;
|
||||
virtual GpUFilePos_t Tell() const = 0;
|
||||
virtual void Close() = 0;
|
||||
virtual void Flush() = 0;
|
||||
};
|
10
GpCommon/GpRenderedFontMetrics.h
Normal file
10
GpCommon/GpRenderedFontMetrics.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
struct GpRenderedFontMetrics
|
||||
{
|
||||
int32_t m_ascent;
|
||||
int32_t m_descent;
|
||||
int32_t m_linegap;
|
||||
};
|
15
GpCommon/GpRenderedGlyphMetrics.h
Normal file
15
GpCommon/GpRenderedGlyphMetrics.h
Normal file
@@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
struct GpRenderedGlyphMetrics
|
||||
{
|
||||
size_t m_glyphDataPitch;
|
||||
|
||||
uint32_t m_glyphWidth;
|
||||
uint32_t m_glyphHeight;
|
||||
|
||||
int16_t m_bearingX;
|
||||
int16_t m_bearingY;
|
||||
int16_t m_advanceX;
|
||||
};
|
@@ -9,6 +9,7 @@
|
||||
#undef CreateMutex
|
||||
#undef DeleteFile
|
||||
#undef LoadCursor
|
||||
#undef CreateFile
|
||||
|
||||
struct IGpFiber;
|
||||
struct IGpBWCursor_Win32;
|
||||
|
@@ -3,6 +3,7 @@
|
||||
#include <stdint.h>
|
||||
|
||||
struct IGpAudioChannel;
|
||||
struct IGpPrefsHandler;
|
||||
|
||||
struct IGpAudioDriver
|
||||
{
|
||||
@@ -12,4 +13,6 @@ public:
|
||||
virtual void SetMasterVolume(uint32_t vol, uint32_t maxVolume) = 0;
|
||||
|
||||
virtual void Shutdown() = 0;
|
||||
|
||||
virtual IGpPrefsHandler *GetPrefsHandler() const = 0;
|
||||
};
|
||||
|
@@ -5,6 +5,7 @@
|
||||
|
||||
struct IGpDisplayDriverSurface;
|
||||
struct IGpCursor;
|
||||
struct IGpPrefsHandler;
|
||||
struct GpDisplayDriverProperties;
|
||||
|
||||
struct GpDisplayDriverSurfaceEffects
|
||||
@@ -41,10 +42,15 @@ public:
|
||||
virtual void SetBackgroundColor(uint8_t r, uint8_t g, uint8_t b, uint8_t a) = 0;
|
||||
virtual void SetBackgroundDarkenEffect(bool isDark) = 0;
|
||||
|
||||
virtual void SetUseICCProfile(bool useICCProfile) = 0;
|
||||
|
||||
virtual void RequestToggleFullScreen(uint32_t timestamp) = 0;
|
||||
virtual void RequestResetVirtualResolution() = 0;
|
||||
|
||||
virtual bool IsFullScreen() const = 0;
|
||||
|
||||
virtual const GpDisplayDriverProperties &GetProperties() const = 0;
|
||||
virtual IGpPrefsHandler *GetPrefsHandler() const = 0;
|
||||
};
|
||||
|
||||
inline GpDisplayDriverSurfaceEffects::GpDisplayDriverSurfaceEffects()
|
||||
|
@@ -1,8 +1,8 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
|
||||
struct IGpDisplayDriverSurface
|
||||
{
|
||||
virtual void Upload(const void *data, size_t x, size_t y, size_t width, size_t height, size_t pitch) = 0;
|
||||
virtual void UploadEntire(const void *data, size_t pitch) = 0;
|
||||
virtual void UploadEntire(const void *data, size_t pitch) = 0;
|
||||
virtual void Destroy() = 0;
|
||||
};
|
||||
|
13
GpCommon/IGpFont.h
Normal file
13
GpCommon/IGpFont.h
Normal file
@@ -0,0 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
struct IGpFontRenderedGlyph;
|
||||
struct GpRenderedFontMetrics;
|
||||
|
||||
struct IGpFont
|
||||
{
|
||||
virtual void Destroy() = 0;
|
||||
virtual IGpFontRenderedGlyph *Render(uint32_t unicodeCodePoint, unsigned int size, bool aa) = 0;
|
||||
virtual bool GetLineSpacing(unsigned int size, int32_t &outSpacing) = 0;
|
||||
};
|
12
GpCommon/IGpFontHandler.h
Normal file
12
GpCommon/IGpFontHandler.h
Normal file
@@ -0,0 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
class GpIOStream;
|
||||
struct IGpFont;
|
||||
|
||||
struct IGpFontHandler
|
||||
{
|
||||
virtual void Shutdown() = 0;
|
||||
|
||||
virtual IGpFont *LoadFont(GpIOStream *stream) = 0;
|
||||
virtual bool KeepStreamOpen() const = 0;
|
||||
};
|
10
GpCommon/IGpFontRenderedGlyph.h
Normal file
10
GpCommon/IGpFontRenderedGlyph.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
struct GpRenderedGlyphMetrics;
|
||||
|
||||
struct IGpFontRenderedGlyph
|
||||
{
|
||||
virtual const GpRenderedGlyphMetrics &GetMetrics() const = 0;
|
||||
virtual const void *GetData() const = 0;
|
||||
virtual void Destroy() = 0;
|
||||
};
|
@@ -1,7 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
struct IGpPrefsHandler;
|
||||
|
||||
struct IGpInputDriver
|
||||
{
|
||||
virtual void ProcessInput() = 0;
|
||||
virtual void Shutdown() = 0;
|
||||
|
||||
virtual IGpPrefsHandler *GetPrefsHandler() const = 0;
|
||||
};
|
||||
|
11
GpCommon/IGpPrefsHandler.h
Normal file
11
GpCommon/IGpPrefsHandler.h
Normal file
@@ -0,0 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
struct IGpPrefsHandler
|
||||
{
|
||||
typedef bool (*WritePrefsFunc_t) (void *context, const void *identifier, size_t identifierSize, const void *contents, size_t contentsSize, uint32_t version);
|
||||
|
||||
virtual void ApplyPrefs(const void *identifier, size_t identifierSize, const void *contents, size_t contentsSize, uint32_t version) = 0;
|
||||
virtual bool SavePrefs(void *context, WritePrefsFunc_t writeFunc) = 0;
|
||||
};
|
@@ -0,0 +1,52 @@
|
||||
static unsigned char gs_shaderData[] = {
|
||||
68, 88, 66, 67, 181, 133, 124, 121, 179, 141, 64, 216, 166, 21, 153,
|
||||
10, 33, 21, 80, 169, 1, 0, 0, 0, 152, 2, 0, 0, 5, 0,
|
||||
0, 0, 52, 0, 0, 0, 224, 0, 0, 0, 56, 1, 0, 0, 108,
|
||||
1, 0, 0, 28, 2, 0, 0, 82, 68, 69, 70, 164, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 28, 0, 0,
|
||||
0, 0, 4, 255, 255, 0, 137, 0, 0, 122, 0, 0, 0, 92, 0,
|
||||
0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
|
||||
107, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0,
|
||||
0, 255, 255, 255, 255, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
|
||||
0, 0, 115, 117, 114, 102, 97, 99, 101, 83, 97, 109, 112, 108, 101,
|
||||
114, 0, 115, 117, 114, 102, 97, 99, 101, 84, 101, 120, 116, 117, 114,
|
||||
101, 0, 77, 105, 99, 114, 111, 115, 111, 102, 116, 32, 40, 82, 41,
|
||||
32, 72, 76, 83, 76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111,
|
||||
109, 112, 105, 108, 101, 114, 32, 49, 48, 46, 49, 0, 171, 171, 73,
|
||||
83, 71, 78, 80, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0,
|
||||
56, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0,
|
||||
0, 0, 0, 0, 0, 15, 0, 0, 0, 68, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 3,
|
||||
3, 0, 0, 83, 86, 95, 80, 79, 83, 73, 84, 73, 79, 78, 0,
|
||||
84, 69, 88, 67, 79, 79, 82, 68, 0, 171, 171, 171, 79, 83, 71,
|
||||
78, 44, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 32, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
|
||||
0, 0, 0, 15, 0, 0, 0, 83, 86, 95, 84, 65, 82, 71, 69,
|
||||
84, 0, 171, 171, 83, 72, 68, 82, 168, 0, 0, 0, 64, 0, 0,
|
||||
0, 42, 0, 0, 0, 90, 0, 0, 3, 0, 96, 16, 0, 0, 0,
|
||||
0, 0, 88, 24, 0, 4, 0, 112, 16, 0, 0, 0, 0, 0, 85,
|
||||
85, 0, 0, 98, 16, 0, 3, 50, 16, 16, 0, 1, 0, 0, 0,
|
||||
101, 0, 0, 3, 242, 32, 16, 0, 0, 0, 0, 0, 104, 0, 0,
|
||||
2, 1, 0, 0, 0, 69, 0, 0, 9, 242, 0, 16, 0, 0, 0,
|
||||
0, 0, 70, 16, 16, 0, 1, 0, 0, 0, 70, 126, 16, 0, 0,
|
||||
0, 0, 0, 0, 96, 16, 0, 0, 0, 0, 0, 54, 0, 0, 5,
|
||||
18, 32, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0,
|
||||
0, 54, 0, 0, 5, 98, 32, 16, 0, 0, 0, 0, 0, 6, 17,
|
||||
16, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 32, 16, 0, 0,
|
||||
0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 62, 0, 0, 1,
|
||||
83, 84, 65, 84, 116, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
};
|
||||
|
||||
namespace GpBinarizedShaders
|
||||
{
|
||||
const unsigned char *g_drawQuad15BitICCP_D3D11[2] = { gs_shaderData, gs_shaderData + sizeof(gs_shaderData) };
|
||||
};
|
@@ -1,8 +1,8 @@
|
||||
static unsigned char gs_shaderData[] = {
|
||||
68, 88, 66, 67, 22, 132, 178, 62, 124, 31, 180, 122, 2, 1, 47,
|
||||
236, 0, 128, 56, 7, 1, 0, 0, 0, 240, 7, 0, 0, 5, 0,
|
||||
68, 88, 66, 67, 167, 218, 15, 90, 211, 69, 240, 219, 76, 79, 17,
|
||||
242, 61, 175, 125, 206, 1, 0, 0, 0, 44, 8, 0, 0, 5, 0,
|
||||
0, 0, 52, 0, 0, 0, 172, 2, 0, 0, 4, 3, 0, 0, 56,
|
||||
3, 0, 0, 116, 7, 0, 0, 82, 68, 69, 70, 112, 2, 0, 0,
|
||||
3, 0, 0, 176, 7, 0, 0, 82, 68, 69, 70, 112, 2, 0, 0,
|
||||
1, 0, 0, 0, 180, 0, 0, 0, 3, 0, 0, 0, 28, 0, 0,
|
||||
0, 0, 4, 255, 255, 0, 137, 0, 0, 72, 2, 0, 0, 124, 0,
|
||||
0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 255,
|
||||
@@ -54,7 +54,7 @@ static unsigned char gs_shaderData[] = {
|
||||
1, 0, 0, 0, 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 15, 0,
|
||||
0, 0, 83, 86, 95, 84, 65, 82, 71, 69, 84, 0, 171, 171, 83,
|
||||
72, 68, 82, 52, 4, 0, 0, 64, 0, 0, 0, 13, 1, 0, 0,
|
||||
72, 68, 82, 112, 4, 0, 0, 64, 0, 0, 0, 28, 1, 0, 0,
|
||||
89, 0, 0, 4, 70, 142, 32, 0, 0, 0, 0, 0, 3, 0, 0,
|
||||
0, 88, 24, 0, 4, 0, 112, 16, 0, 0, 0, 0, 0, 68, 68,
|
||||
0, 0, 88, 16, 0, 4, 0, 112, 16, 0, 1, 0, 0, 0, 85,
|
||||
@@ -107,32 +107,36 @@ static unsigned char gs_shaderData[] = {
|
||||
0, 26, 0, 16, 0, 1, 0, 0, 0, 10, 128, 32, 0, 0, 0,
|
||||
0, 0, 2, 0, 0, 0, 50, 0, 0, 9, 226, 0, 16, 0, 1,
|
||||
0, 0, 0, 6, 9, 16, 0, 0, 0, 0, 0, 166, 10, 16, 0,
|
||||
1, 0, 0, 0, 86, 5, 16, 0, 1, 0, 0, 0, 55, 32, 0,
|
||||
1, 0, 0, 0, 86, 5, 16, 0, 1, 0, 0, 0, 55, 0, 0,
|
||||
9, 114, 0, 16, 0, 0, 0, 0, 0, 6, 0, 16, 0, 1, 0,
|
||||
0, 0, 150, 7, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 0,
|
||||
0, 0, 0, 47, 0, 0, 5, 114, 0, 16, 0, 0, 0, 0, 0,
|
||||
70, 2, 16, 0, 0, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16,
|
||||
0, 0, 0, 29, 0, 0, 10, 114, 0, 16, 0, 1, 0, 0, 0,
|
||||
2, 64, 0, 0, 230, 174, 37, 61, 230, 174, 37, 61, 230, 174, 37,
|
||||
61, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 56, 0,
|
||||
0, 10, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 0,
|
||||
0, 0, 0, 2, 64, 0, 0, 145, 131, 158, 61, 145, 131, 158, 61,
|
||||
145, 131, 158, 61, 0, 0, 0, 0, 0, 0, 0, 10, 114, 0, 16,
|
||||
0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 2, 64,
|
||||
0, 0, 102, 102, 230, 63, 102, 102, 230, 63, 102, 102, 230, 63, 0,
|
||||
0, 0, 0, 25, 0, 0, 5, 114, 0, 16, 0, 0, 0, 0, 0,
|
||||
70, 2, 16, 0, 0, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16,
|
||||
0, 1, 0, 0, 0, 86, 5, 16, 0, 0, 0, 0, 0, 2, 64,
|
||||
0, 0, 150, 246, 160, 189, 43, 199, 117, 63, 40, 177, 243, 60, 0,
|
||||
0, 0, 0, 50, 0, 0, 12, 114, 0, 16, 0, 1, 0, 0, 0,
|
||||
6, 0, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 87, 203, 136,
|
||||
63, 86, 131, 197, 60, 225, 104, 227, 58, 0, 0, 0, 0, 70, 2,
|
||||
16, 0, 1, 0, 0, 0, 50, 0, 0, 12, 114, 32, 16, 0, 0,
|
||||
0, 0, 0, 166, 10, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0,
|
||||
5, 9, 34, 60, 158, 151, 129, 60, 194, 240, 119, 63, 0, 0, 0,
|
||||
0, 70, 2, 16, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 32,
|
||||
0, 0, 174, 71, 97, 61, 174, 71, 97, 61, 174, 71, 97, 61, 0,
|
||||
0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 0, 0, 0, 0,
|
||||
70, 2, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 110, 167, 114,
|
||||
63, 110, 167, 114, 63, 110, 167, 114, 63, 0, 0, 0, 0, 47, 0,
|
||||
0, 5, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0,
|
||||
0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 0, 0, 0, 0,
|
||||
70, 2, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 154, 153, 25,
|
||||
64, 154, 153, 25, 64, 154, 153, 25, 64, 0, 0, 0, 0, 25, 0,
|
||||
0, 5, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0,
|
||||
0, 0, 0, 55, 0, 0, 9, 114, 32, 16, 0, 0, 0, 0, 0,
|
||||
70, 2, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0,
|
||||
0, 70, 2, 16, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 32,
|
||||
16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 62,
|
||||
0, 0, 1, 83, 84, 65, 84, 116, 0, 0, 0, 32, 0, 0, 0,
|
||||
3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 15, 0, 0,
|
||||
0, 0, 1, 83, 84, 65, 84, 116, 0, 0, 0, 34, 0, 0, 0,
|
||||
3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 16, 0, 0,
|
||||
0, 4, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,
|
||||
0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
};
|
||||
|
@@ -0,0 +1,143 @@
|
||||
static unsigned char gs_shaderData[] = {
|
||||
68, 88, 66, 67, 63, 150, 199, 197, 210, 83, 220, 166, 163, 78, 42,
|
||||
252, 31, 18, 160, 91, 1, 0, 0, 0, 240, 7, 0, 0, 5, 0,
|
||||
0, 0, 52, 0, 0, 0, 172, 2, 0, 0, 4, 3, 0, 0, 56,
|
||||
3, 0, 0, 116, 7, 0, 0, 82, 68, 69, 70, 112, 2, 0, 0,
|
||||
1, 0, 0, 0, 180, 0, 0, 0, 3, 0, 0, 0, 28, 0, 0,
|
||||
0, 0, 4, 255, 255, 0, 137, 0, 0, 72, 2, 0, 0, 124, 0,
|
||||
0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 255,
|
||||
255, 255, 255, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
|
||||
139, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0,
|
||||
0, 255, 255, 255, 255, 1, 0, 0, 0, 1, 0, 0, 0, 13, 0,
|
||||
0, 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
1, 0, 0, 0, 115, 117, 114, 102, 97, 99, 101, 84, 101, 120, 116,
|
||||
117, 114, 101, 0, 112, 97, 108, 101, 116, 116, 101, 84, 101, 120, 116,
|
||||
117, 114, 101, 0, 83, 68, 114, 97, 119, 81, 117, 97, 100, 80, 105,
|
||||
120, 101, 108, 67, 111, 110, 115, 116, 97, 110, 116, 115, 0, 171, 171,
|
||||
154, 0, 0, 0, 6, 0, 0, 0, 204, 0, 0, 0, 48, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 1, 0, 0, 0, 0,
|
||||
0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 116, 1, 0, 0, 0,
|
||||
0, 0, 0, 132, 1, 0, 0, 16, 0, 0, 0, 8, 0, 0, 0,
|
||||
2, 0, 0, 0, 156, 1, 0, 0, 0, 0, 0, 0, 172, 1, 0,
|
||||
0, 24, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 204, 1,
|
||||
0, 0, 0, 0, 0, 0, 220, 1, 0, 0, 28, 0, 0, 0, 4,
|
||||
0, 0, 0, 2, 0, 0, 0, 204, 1, 0, 0, 0, 0, 0, 0,
|
||||
250, 1, 0, 0, 32, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0,
|
||||
0, 20, 2, 0, 0, 0, 0, 0, 0, 36, 2, 0, 0, 36, 0,
|
||||
0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 56, 2, 0, 0, 0,
|
||||
0, 0, 0, 99, 111, 110, 115, 116, 97, 110, 116, 115, 95, 77, 111,
|
||||
100, 117, 108, 97, 116, 105, 111, 110, 0, 171, 171, 171, 1, 0, 3,
|
||||
0, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 111,
|
||||
110, 115, 116, 97, 110, 116, 115, 95, 70, 108, 105, 99, 107, 101, 114,
|
||||
65, 120, 105, 115, 0, 171, 171, 1, 0, 2, 0, 1, 0, 2, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 99, 111, 110, 115, 116, 97, 110,
|
||||
116, 115, 95, 70, 108, 105, 99, 107, 101, 114, 83, 116, 97, 114, 116,
|
||||
84, 104, 114, 101, 115, 104, 111, 108, 100, 0, 0, 0, 2, 0, 1,
|
||||
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 111, 110, 115,
|
||||
116, 97, 110, 116, 115, 95, 70, 108, 105, 99, 107, 101, 114, 69, 110,
|
||||
100, 84, 104, 114, 101, 115, 104, 111, 108, 100, 0, 99, 111, 110, 115,
|
||||
116, 97, 110, 116, 115, 95, 68, 101, 115, 97, 116, 117, 114, 97, 116,
|
||||
105, 111, 110, 0, 171, 171, 171, 0, 0, 3, 0, 1, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 99, 111, 110, 115, 116, 97, 110,
|
||||
116, 115, 95, 85, 110, 117, 115, 101, 100, 0, 171, 171, 171, 1, 0,
|
||||
3, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
|
||||
105, 99, 114, 111, 115, 111, 102, 116, 32, 40, 82, 41, 32, 72, 76,
|
||||
83, 76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105,
|
||||
108, 101, 114, 32, 49, 48, 46, 49, 0, 73, 83, 71, 78, 80, 0,
|
||||
0, 0, 2, 0, 0, 0, 8, 0, 0, 0, 56, 0, 0, 0, 0,
|
||||
0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
|
||||
15, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 3, 0, 0, 0, 1, 0, 0, 0, 3, 3, 0, 0, 83, 86,
|
||||
95, 80, 79, 83, 73, 84, 73, 79, 78, 0, 84, 69, 88, 67, 79,
|
||||
79, 82, 68, 0, 171, 171, 171, 79, 83, 71, 78, 44, 0, 0, 0,
|
||||
1, 0, 0, 0, 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 15, 0,
|
||||
0, 0, 83, 86, 95, 84, 65, 82, 71, 69, 84, 0, 171, 171, 83,
|
||||
72, 68, 82, 52, 4, 0, 0, 64, 0, 0, 0, 13, 1, 0, 0,
|
||||
89, 0, 0, 4, 70, 142, 32, 0, 0, 0, 0, 0, 3, 0, 0,
|
||||
0, 88, 24, 0, 4, 0, 112, 16, 0, 0, 0, 0, 0, 68, 68,
|
||||
0, 0, 88, 16, 0, 4, 0, 112, 16, 0, 1, 0, 0, 0, 85,
|
||||
85, 0, 0, 98, 16, 0, 3, 50, 16, 16, 0, 1, 0, 0, 0,
|
||||
101, 0, 0, 3, 242, 32, 16, 0, 0, 0, 0, 0, 104, 0, 0,
|
||||
2, 3, 0, 0, 0, 65, 0, 0, 5, 50, 0, 16, 0, 0, 0,
|
||||
0, 0, 70, 16, 16, 0, 1, 0, 0, 0, 27, 0, 0, 5, 50,
|
||||
0, 16, 0, 0, 0, 0, 0, 70, 0, 16, 0, 0, 0, 0, 0,
|
||||
54, 0, 0, 8, 194, 0, 16, 0, 0, 0, 0, 0, 2, 64, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 45, 0, 0, 7, 242, 0, 16, 0, 1, 0, 0, 0, 70,
|
||||
14, 16, 0, 0, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0,
|
||||
54, 0, 0, 8, 226, 0, 16, 0, 1, 0, 0, 0, 2, 64, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 45, 0, 0, 7, 242, 0, 16, 0, 1, 0, 0, 0, 70,
|
||||
14, 16, 0, 1, 0, 0, 0, 70, 126, 16, 0, 1, 0, 0, 0,
|
||||
56, 0, 0, 9, 242, 0, 16, 0, 2, 0, 0, 0, 70, 142, 32,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 1,
|
||||
0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 56, 0, 0, 7,
|
||||
242, 0, 16, 0, 1, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0,
|
||||
0, 70, 14, 16, 0, 2, 0, 0, 0, 38, 0, 0, 9, 0, 208,
|
||||
0, 0, 50, 0, 16, 0, 0, 0, 0, 0, 70, 0, 16, 0, 0,
|
||||
0, 0, 0, 70, 128, 32, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
30, 0, 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16,
|
||||
0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 34, 0,
|
||||
0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0,
|
||||
0, 0, 0, 42, 128, 32, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
33, 0, 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16,
|
||||
0, 0, 0, 0, 0, 58, 128, 32, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 55, 0, 0, 12, 242, 0, 16, 0, 1, 0, 0, 0, 86,
|
||||
5, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 14, 16,
|
||||
0, 1, 0, 0, 0, 60, 0, 0, 7, 18, 0, 16, 0, 0, 0,
|
||||
0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 0,
|
||||
0, 0, 0, 55, 0, 0, 12, 242, 0, 16, 0, 0, 0, 0, 0,
|
||||
6, 0, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0,
|
||||
0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0,
|
||||
128, 63, 0, 0, 128, 63, 29, 0, 0, 7, 18, 0, 16, 0, 1,
|
||||
0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0,
|
||||
0, 0, 0, 0, 13, 0, 4, 3, 10, 0, 16, 0, 1, 0, 0,
|
||||
0, 57, 0, 0, 8, 18, 0, 16, 0, 1, 0, 0, 0, 10, 128,
|
||||
32, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0,
|
||||
0, 0, 0, 16, 0, 0, 10, 34, 0, 16, 0, 1, 0, 0, 0,
|
||||
70, 2, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 154, 153, 153,
|
||||
62, 154, 153, 25, 63, 205, 204, 204, 61, 0, 0, 0, 0, 0, 0,
|
||||
0, 9, 66, 0, 16, 0, 1, 0, 0, 0, 10, 128, 32, 128, 65,
|
||||
0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 64, 0, 0,
|
||||
0, 0, 128, 63, 56, 0, 0, 8, 34, 0, 16, 0, 1, 0, 0,
|
||||
0, 26, 0, 16, 0, 1, 0, 0, 0, 10, 128, 32, 0, 0, 0,
|
||||
0, 0, 2, 0, 0, 0, 50, 0, 0, 9, 226, 0, 16, 0, 1,
|
||||
0, 0, 0, 6, 9, 16, 0, 0, 0, 0, 0, 166, 10, 16, 0,
|
||||
1, 0, 0, 0, 86, 5, 16, 0, 1, 0, 0, 0, 55, 32, 0,
|
||||
9, 114, 0, 16, 0, 0, 0, 0, 0, 6, 0, 16, 0, 1, 0,
|
||||
0, 0, 150, 7, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 0,
|
||||
0, 0, 0, 47, 0, 0, 5, 114, 0, 16, 0, 0, 0, 0, 0,
|
||||
70, 2, 16, 0, 0, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16,
|
||||
0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 2, 64,
|
||||
0, 0, 102, 102, 230, 63, 102, 102, 230, 63, 102, 102, 230, 63, 0,
|
||||
0, 0, 0, 25, 0, 0, 5, 114, 0, 16, 0, 0, 0, 0, 0,
|
||||
70, 2, 16, 0, 0, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16,
|
||||
0, 1, 0, 0, 0, 86, 5, 16, 0, 0, 0, 0, 0, 2, 64,
|
||||
0, 0, 150, 246, 160, 189, 43, 199, 117, 63, 40, 177, 243, 60, 0,
|
||||
0, 0, 0, 50, 0, 0, 12, 114, 0, 16, 0, 1, 0, 0, 0,
|
||||
6, 0, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 87, 203, 136,
|
||||
63, 86, 131, 197, 60, 225, 104, 227, 58, 0, 0, 0, 0, 70, 2,
|
||||
16, 0, 1, 0, 0, 0, 50, 32, 0, 12, 114, 32, 16, 0, 0,
|
||||
0, 0, 0, 166, 10, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0,
|
||||
5, 9, 34, 60, 158, 151, 129, 60, 194, 240, 119, 63, 0, 0, 0,
|
||||
0, 70, 2, 16, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 32,
|
||||
16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 62,
|
||||
0, 0, 1, 83, 84, 65, 84, 116, 0, 0, 0, 32, 0, 0, 0,
|
||||
3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 15, 0, 0,
|
||||
0, 4, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,
|
||||
0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
};
|
||||
|
||||
namespace GpBinarizedShaders
|
||||
{
|
||||
const unsigned char *g_drawQuadPaletteICCP_D3D11[2] = { gs_shaderData, gs_shaderData + sizeof(gs_shaderData) };
|
||||
};
|
@@ -1,8 +1,8 @@
|
||||
static unsigned char gs_shaderData[] = {
|
||||
68, 88, 66, 67, 79, 173, 176, 182, 205, 217, 61, 84, 80, 209, 33,
|
||||
250, 135, 89, 76, 198, 1, 0, 0, 0, 116, 7, 0, 0, 5, 0,
|
||||
68, 88, 66, 67, 55, 11, 130, 121, 223, 86, 90, 24, 177, 20, 124,
|
||||
204, 5, 205, 68, 19, 1, 0, 0, 0, 176, 7, 0, 0, 5, 0,
|
||||
0, 0, 52, 0, 0, 0, 124, 2, 0, 0, 212, 2, 0, 0, 8,
|
||||
3, 0, 0, 248, 6, 0, 0, 82, 68, 69, 70, 64, 2, 0, 0,
|
||||
3, 0, 0, 52, 7, 0, 0, 82, 68, 69, 70, 64, 2, 0, 0,
|
||||
1, 0, 0, 0, 132, 0, 0, 0, 2, 0, 0, 0, 28, 0, 0,
|
||||
0, 0, 4, 255, 255, 0, 137, 0, 0, 24, 2, 0, 0, 92, 0,
|
||||
0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 255,
|
||||
@@ -51,7 +51,7 @@ static unsigned char gs_shaderData[] = {
|
||||
0, 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 83,
|
||||
86, 95, 84, 65, 82, 71, 69, 84, 0, 171, 171, 83, 72, 68, 82,
|
||||
232, 3, 0, 0, 64, 0, 0, 0, 250, 0, 0, 0, 89, 0, 0,
|
||||
36, 4, 0, 0, 64, 0, 0, 0, 9, 1, 0, 0, 89, 0, 0,
|
||||
4, 70, 142, 32, 0, 0, 0, 0, 0, 3, 0, 0, 0, 88, 24,
|
||||
0, 4, 0, 112, 16, 0, 0, 0, 0, 0, 85, 85, 0, 0, 98,
|
||||
16, 0, 3, 50, 16, 16, 0, 1, 0, 0, 0, 101, 0, 0, 3,
|
||||
@@ -99,31 +99,35 @@ static unsigned char gs_shaderData[] = {
|
||||
0, 1, 0, 0, 0, 10, 128, 32, 0, 0, 0, 0, 0, 2, 0,
|
||||
0, 0, 50, 0, 0, 9, 226, 0, 16, 0, 1, 0, 0, 0, 6,
|
||||
9, 16, 0, 0, 0, 0, 0, 166, 10, 16, 0, 1, 0, 0, 0,
|
||||
86, 5, 16, 0, 1, 0, 0, 0, 55, 32, 0, 9, 114, 0, 16,
|
||||
86, 5, 16, 0, 1, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16,
|
||||
0, 0, 0, 0, 0, 6, 0, 16, 0, 1, 0, 0, 0, 150, 7,
|
||||
16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 47,
|
||||
0, 0, 5, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0,
|
||||
0, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 0, 0, 0,
|
||||
0, 70, 2, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 102, 102,
|
||||
230, 63, 102, 102, 230, 63, 102, 102, 230, 63, 0, 0, 0, 0, 25,
|
||||
0, 0, 5, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0,
|
||||
0, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 1, 0, 0,
|
||||
0, 86, 5, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 150, 246,
|
||||
160, 189, 43, 199, 117, 63, 40, 177, 243, 60, 0, 0, 0, 0, 50,
|
||||
0, 0, 12, 114, 0, 16, 0, 1, 0, 0, 0, 6, 0, 16, 0,
|
||||
0, 0, 0, 0, 2, 64, 0, 0, 87, 203, 136, 63, 86, 131, 197,
|
||||
60, 225, 104, 227, 58, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0,
|
||||
0, 0, 50, 0, 0, 12, 114, 32, 16, 0, 0, 0, 0, 0, 166,
|
||||
10, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 5, 9, 34, 60,
|
||||
158, 151, 129, 60, 194, 240, 119, 63, 0, 0, 0, 0, 70, 2, 16,
|
||||
0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 32, 16, 0, 0, 0,
|
||||
16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 29,
|
||||
0, 0, 10, 114, 0, 16, 0, 1, 0, 0, 0, 2, 64, 0, 0,
|
||||
230, 174, 37, 61, 230, 174, 37, 61, 230, 174, 37, 61, 0, 0, 0,
|
||||
0, 70, 2, 16, 0, 0, 0, 0, 0, 56, 0, 0, 10, 114, 0,
|
||||
16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 2,
|
||||
64, 0, 0, 145, 131, 158, 61, 145, 131, 158, 61, 145, 131, 158, 61,
|
||||
0, 0, 0, 0, 0, 0, 0, 10, 114, 0, 16, 0, 0, 0, 0,
|
||||
0, 70, 2, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 174, 71,
|
||||
97, 61, 174, 71, 97, 61, 174, 71, 97, 61, 0, 0, 0, 0, 56,
|
||||
0, 0, 10, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0,
|
||||
0, 0, 0, 0, 2, 64, 0, 0, 110, 167, 114, 63, 110, 167, 114,
|
||||
63, 110, 167, 114, 63, 0, 0, 0, 0, 47, 0, 0, 5, 114, 0,
|
||||
16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 56,
|
||||
0, 0, 10, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0,
|
||||
0, 0, 0, 0, 2, 64, 0, 0, 154, 153, 25, 64, 154, 153, 25,
|
||||
64, 154, 153, 25, 64, 0, 0, 0, 0, 25, 0, 0, 5, 114, 0,
|
||||
16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 55,
|
||||
0, 0, 9, 114, 32, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0,
|
||||
1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 2, 16,
|
||||
0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 32, 16, 0, 0, 0,
|
||||
0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 62, 0, 0, 1, 83,
|
||||
84, 65, 84, 116, 0, 0, 0, 30, 0, 0, 0, 3, 0, 0, 0,
|
||||
0, 0, 0, 0, 2, 0, 0, 0, 15, 0, 0, 0, 4, 0, 0,
|
||||
84, 65, 84, 116, 0, 0, 0, 32, 0, 0, 0, 3, 0, 0, 0,
|
||||
0, 0, 0, 0, 2, 0, 0, 0, 16, 0, 0, 0, 4, 0, 0,
|
||||
0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0,
|
||||
0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0,
|
||||
|
135
GpDisplayDriver_D3D11/CompiledShaders/DrawQuadRGBP_ICC_D3D11.cpp
Normal file
135
GpDisplayDriver_D3D11/CompiledShaders/DrawQuadRGBP_ICC_D3D11.cpp
Normal file
@@ -0,0 +1,135 @@
|
||||
static unsigned char gs_shaderData[] = {
|
||||
68, 88, 66, 67, 59, 168, 168, 88, 76, 243, 83, 77, 18, 124, 254,
|
||||
1, 241, 101, 79, 130, 1, 0, 0, 0, 116, 7, 0, 0, 5, 0,
|
||||
0, 0, 52, 0, 0, 0, 124, 2, 0, 0, 212, 2, 0, 0, 8,
|
||||
3, 0, 0, 248, 6, 0, 0, 82, 68, 69, 70, 64, 2, 0, 0,
|
||||
1, 0, 0, 0, 132, 0, 0, 0, 2, 0, 0, 0, 28, 0, 0,
|
||||
0, 0, 4, 255, 255, 0, 137, 0, 0, 24, 2, 0, 0, 92, 0,
|
||||
0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 255,
|
||||
255, 255, 255, 0, 0, 0, 0, 1, 0, 0, 0, 9, 0, 0, 0,
|
||||
107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
|
||||
0, 0, 115, 117, 114, 102, 97, 99, 101, 84, 101, 120, 116, 117, 114,
|
||||
101, 0, 83, 68, 114, 97, 119, 81, 117, 97, 100, 80, 105, 120, 101,
|
||||
108, 67, 111, 110, 115, 116, 97, 110, 116, 115, 0, 171, 107, 0, 0,
|
||||
0, 6, 0, 0, 0, 156, 0, 0, 0, 48, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 44, 1, 0, 0, 0, 0, 0, 0, 16,
|
||||
0, 0, 0, 2, 0, 0, 0, 68, 1, 0, 0, 0, 0, 0, 0,
|
||||
84, 1, 0, 0, 16, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0,
|
||||
0, 108, 1, 0, 0, 0, 0, 0, 0, 124, 1, 0, 0, 24, 0,
|
||||
0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 156, 1, 0, 0, 0,
|
||||
0, 0, 0, 172, 1, 0, 0, 28, 0, 0, 0, 4, 0, 0, 0,
|
||||
2, 0, 0, 0, 156, 1, 0, 0, 0, 0, 0, 0, 202, 1, 0,
|
||||
0, 32, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 228, 1,
|
||||
0, 0, 0, 0, 0, 0, 244, 1, 0, 0, 36, 0, 0, 0, 12,
|
||||
0, 0, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0,
|
||||
99, 111, 110, 115, 116, 97, 110, 116, 115, 95, 77, 111, 100, 117, 108,
|
||||
97, 116, 105, 111, 110, 0, 171, 171, 171, 1, 0, 3, 0, 1, 0,
|
||||
4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 111, 110, 115, 116,
|
||||
97, 110, 116, 115, 95, 70, 108, 105, 99, 107, 101, 114, 65, 120, 105,
|
||||
115, 0, 171, 171, 1, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 99, 111, 110, 115, 116, 97, 110, 116, 115, 95,
|
||||
70, 108, 105, 99, 107, 101, 114, 83, 116, 97, 114, 116, 84, 104, 114,
|
||||
101, 115, 104, 111, 108, 100, 0, 0, 0, 2, 0, 1, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 99, 111, 110, 115, 116, 97, 110,
|
||||
116, 115, 95, 70, 108, 105, 99, 107, 101, 114, 69, 110, 100, 84, 104,
|
||||
114, 101, 115, 104, 111, 108, 100, 0, 99, 111, 110, 115, 116, 97, 110,
|
||||
116, 115, 95, 68, 101, 115, 97, 116, 117, 114, 97, 116, 105, 111, 110,
|
||||
0, 171, 171, 171, 0, 0, 3, 0, 1, 0, 1, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 99, 111, 110, 115, 116, 97, 110, 116, 115, 95,
|
||||
85, 110, 117, 115, 101, 100, 0, 171, 171, 171, 1, 0, 3, 0, 1,
|
||||
0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 105, 99, 114,
|
||||
111, 115, 111, 102, 116, 32, 40, 82, 41, 32, 72, 76, 83, 76, 32,
|
||||
83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, 114,
|
||||
32, 49, 48, 46, 49, 0, 73, 83, 71, 78, 80, 0, 0, 0, 2,
|
||||
0, 0, 0, 8, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
|
||||
0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0,
|
||||
0, 0, 1, 0, 0, 0, 3, 3, 0, 0, 83, 86, 95, 80, 79,
|
||||
83, 73, 84, 73, 79, 78, 0, 84, 69, 88, 67, 79, 79, 82, 68,
|
||||
0, 171, 171, 171, 79, 83, 71, 78, 44, 0, 0, 0, 1, 0, 0,
|
||||
0, 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 83,
|
||||
86, 95, 84, 65, 82, 71, 69, 84, 0, 171, 171, 83, 72, 68, 82,
|
||||
232, 3, 0, 0, 64, 0, 0, 0, 250, 0, 0, 0, 89, 0, 0,
|
||||
4, 70, 142, 32, 0, 0, 0, 0, 0, 3, 0, 0, 0, 88, 24,
|
||||
0, 4, 0, 112, 16, 0, 0, 0, 0, 0, 85, 85, 0, 0, 98,
|
||||
16, 0, 3, 50, 16, 16, 0, 1, 0, 0, 0, 101, 0, 0, 3,
|
||||
242, 32, 16, 0, 0, 0, 0, 0, 104, 0, 0, 2, 3, 0, 0,
|
||||
0, 65, 0, 0, 5, 50, 0, 16, 0, 0, 0, 0, 0, 70, 16,
|
||||
16, 0, 1, 0, 0, 0, 27, 0, 0, 5, 50, 0, 16, 0, 0,
|
||||
0, 0, 0, 70, 0, 16, 0, 0, 0, 0, 0, 54, 0, 0, 8,
|
||||
194, 0, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0,
|
||||
0, 7, 242, 0, 16, 0, 1, 0, 0, 0, 70, 14, 16, 0, 0,
|
||||
0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, 56, 0, 0, 9,
|
||||
242, 0, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, 1,
|
||||
64, 0, 0, 0, 0, 128, 63, 56, 0, 0, 7, 242, 0, 16, 0,
|
||||
1, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 14, 16,
|
||||
0, 2, 0, 0, 0, 38, 0, 0, 9, 0, 208, 0, 0, 50, 0,
|
||||
16, 0, 0, 0, 0, 0, 70, 0, 16, 0, 0, 0, 0, 0, 70,
|
||||
128, 32, 0, 0, 0, 0, 0, 1, 0, 0, 0, 30, 0, 0, 7,
|
||||
18, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0,
|
||||
0, 10, 0, 16, 0, 0, 0, 0, 0, 34, 0, 0, 8, 34, 0,
|
||||
16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 42,
|
||||
128, 32, 0, 0, 0, 0, 0, 1, 0, 0, 0, 33, 0, 0, 8,
|
||||
18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0,
|
||||
0, 58, 128, 32, 0, 0, 0, 0, 0, 1, 0, 0, 0, 55, 0,
|
||||
0, 12, 242, 0, 16, 0, 1, 0, 0, 0, 86, 5, 16, 0, 0,
|
||||
0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0,
|
||||
0, 60, 0, 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0,
|
||||
16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 55,
|
||||
0, 0, 12, 242, 0, 16, 0, 0, 0, 0, 0, 6, 0, 16, 0,
|
||||
0, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 2, 64, 0,
|
||||
0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0,
|
||||
128, 63, 29, 0, 0, 7, 18, 0, 16, 0, 1, 0, 0, 0, 1,
|
||||
64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0,
|
||||
13, 0, 4, 3, 10, 0, 16, 0, 1, 0, 0, 0, 57, 0, 0,
|
||||
8, 18, 0, 16, 0, 1, 0, 0, 0, 10, 128, 32, 0, 0, 0,
|
||||
0, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 16,
|
||||
0, 0, 10, 34, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0,
|
||||
0, 0, 0, 0, 2, 64, 0, 0, 154, 153, 153, 62, 154, 153, 25,
|
||||
63, 205, 204, 204, 61, 0, 0, 0, 0, 0, 0, 0, 9, 66, 0,
|
||||
16, 0, 1, 0, 0, 0, 10, 128, 32, 128, 65, 0, 0, 0, 0,
|
||||
0, 0, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63,
|
||||
56, 0, 0, 8, 34, 0, 16, 0, 1, 0, 0, 0, 26, 0, 16,
|
||||
0, 1, 0, 0, 0, 10, 128, 32, 0, 0, 0, 0, 0, 2, 0,
|
||||
0, 0, 50, 0, 0, 9, 226, 0, 16, 0, 1, 0, 0, 0, 6,
|
||||
9, 16, 0, 0, 0, 0, 0, 166, 10, 16, 0, 1, 0, 0, 0,
|
||||
86, 5, 16, 0, 1, 0, 0, 0, 55, 32, 0, 9, 114, 0, 16,
|
||||
0, 0, 0, 0, 0, 6, 0, 16, 0, 1, 0, 0, 0, 150, 7,
|
||||
16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 47,
|
||||
0, 0, 5, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0,
|
||||
0, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 0, 0, 0,
|
||||
0, 70, 2, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 102, 102,
|
||||
230, 63, 102, 102, 230, 63, 102, 102, 230, 63, 0, 0, 0, 0, 25,
|
||||
0, 0, 5, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0,
|
||||
0, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 1, 0, 0,
|
||||
0, 86, 5, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 150, 246,
|
||||
160, 189, 43, 199, 117, 63, 40, 177, 243, 60, 0, 0, 0, 0, 50,
|
||||
0, 0, 12, 114, 0, 16, 0, 1, 0, 0, 0, 6, 0, 16, 0,
|
||||
0, 0, 0, 0, 2, 64, 0, 0, 87, 203, 136, 63, 86, 131, 197,
|
||||
60, 225, 104, 227, 58, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0,
|
||||
0, 0, 50, 32, 0, 12, 114, 32, 16, 0, 0, 0, 0, 0, 166,
|
||||
10, 16, 0, 0, 0, 0, 0, 2, 64, 0, 0, 5, 9, 34, 60,
|
||||
158, 151, 129, 60, 194, 240, 119, 63, 0, 0, 0, 0, 70, 2, 16,
|
||||
0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 32, 16, 0, 0, 0,
|
||||
0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 62, 0, 0, 1, 83,
|
||||
84, 65, 84, 116, 0, 0, 0, 30, 0, 0, 0, 3, 0, 0, 0,
|
||||
0, 0, 0, 0, 2, 0, 0, 0, 15, 0, 0, 0, 4, 0, 0,
|
||||
0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0,
|
||||
0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0,
|
||||
};
|
||||
|
||||
namespace GpBinarizedShaders
|
||||
{
|
||||
const unsigned char *g_drawQuadRGBICCP_D3D11[2] = { gs_shaderData, gs_shaderData + sizeof(gs_shaderData) };
|
||||
};
|
@@ -21,13 +21,27 @@
|
||||
|
||||
static GpDisplayDriverSurfaceEffects gs_defaultEffects;
|
||||
|
||||
static const char *kPrefsIdentifier = "GpDisplayDriverD3D11";
|
||||
static uint32_t kPrefsVersion = 1;
|
||||
|
||||
struct GpDisplayDriverD3D11_Prefs
|
||||
{
|
||||
bool m_isFullScreen;
|
||||
};
|
||||
|
||||
namespace GpBinarizedShaders
|
||||
{
|
||||
extern const unsigned char *g_drawQuadV_D3D11[2];
|
||||
|
||||
extern const unsigned char *g_drawQuadPaletteP_D3D11[2];
|
||||
extern const unsigned char *g_drawQuadRGBP_D3D11[2];
|
||||
extern const unsigned char *g_scaleQuadP_D3D11[2];
|
||||
extern const unsigned char *g_drawQuad15BitP_D3D11[2];
|
||||
|
||||
extern const unsigned char *g_drawQuadPaletteICCP_D3D11[2];
|
||||
extern const unsigned char *g_drawQuadRGBICCP_D3D11[2];
|
||||
extern const unsigned char *g_drawQuad15BitICCP_D3D11[2];
|
||||
|
||||
extern const unsigned char *g_scaleQuadP_D3D11[2];
|
||||
}
|
||||
|
||||
struct GpShaderCodeBlob
|
||||
@@ -143,7 +157,7 @@ void StartD3DForWindow(HWND hWnd, GpComPtr<IDXGISwapChain1>& outSwapChain, GpCom
|
||||
D3D_FEATURE_LEVEL_10_0
|
||||
};
|
||||
|
||||
#ifndef NDEBUG
|
||||
#if GP_DEBUG_CONFIG
|
||||
flags |= D3D11_CREATE_DEVICE_DEBUG;
|
||||
#endif
|
||||
|
||||
@@ -461,12 +475,18 @@ bool GpDisplayDriverD3D11::InitResources(uint32_t virtualWidth, uint32_t virtual
|
||||
const GpShaderCodeBlob drawQuadPalettePBlob = GetBinarizedShader(GpBinarizedShaders::g_drawQuadPaletteP_D3D11);
|
||||
const GpShaderCodeBlob drawQuadRGBPBlob = GetBinarizedShader(GpBinarizedShaders::g_drawQuadRGBP_D3D11);
|
||||
const GpShaderCodeBlob drawQuad15BitPBlob = GetBinarizedShader(GpBinarizedShaders::g_drawQuad15BitP_D3D11);
|
||||
const GpShaderCodeBlob drawQuadPaletteICCPBlob = GetBinarizedShader(GpBinarizedShaders::g_drawQuadPaletteICCP_D3D11);
|
||||
const GpShaderCodeBlob drawQuadRGBICCPBlob = GetBinarizedShader(GpBinarizedShaders::g_drawQuadRGBICCP_D3D11);
|
||||
const GpShaderCodeBlob drawQuad15BitICCPBlob = GetBinarizedShader(GpBinarizedShaders::g_drawQuad15BitICCP_D3D11);
|
||||
const GpShaderCodeBlob scaleQuadPBlob = GetBinarizedShader(GpBinarizedShaders::g_scaleQuadP_D3D11);
|
||||
|
||||
m_device->CreateVertexShader(drawQuadVBlob.m_data, drawQuadVBlob.m_size, nullptr, m_drawQuadVertexShader.GetMutablePtr());
|
||||
m_device->CreatePixelShader(drawQuadPalettePBlob.m_data, drawQuadPalettePBlob.m_size, nullptr, m_drawQuadPalettePixelShader.GetMutablePtr());
|
||||
m_device->CreatePixelShader(drawQuadRGBPBlob.m_data, drawQuadRGBPBlob.m_size, nullptr, m_drawQuadRGBPixelShader.GetMutablePtr());
|
||||
m_device->CreatePixelShader(drawQuad15BitPBlob.m_data, drawQuad15BitPBlob.m_size, nullptr, m_drawQuad15BitPixelShader.GetMutablePtr());
|
||||
m_device->CreatePixelShader(drawQuadPaletteICCPBlob.m_data, drawQuadPaletteICCPBlob.m_size, nullptr, m_drawQuadPaletteICCPixelShader.GetMutablePtr());
|
||||
m_device->CreatePixelShader(drawQuadRGBICCPBlob.m_data, drawQuadRGBICCPBlob.m_size, nullptr, m_drawQuadRGBICCPixelShader.GetMutablePtr());
|
||||
m_device->CreatePixelShader(drawQuad15BitICCPBlob.m_data, drawQuad15BitICCPBlob.m_size, nullptr, m_drawQuad15BitICCPixelShader.GetMutablePtr());
|
||||
m_device->CreatePixelShader(scaleQuadPBlob.m_data, scaleQuadPBlob.m_size, nullptr, m_scaleQuadPixelShader.GetMutablePtr());
|
||||
|
||||
// Quad input layout
|
||||
@@ -1322,7 +1342,7 @@ void GpDisplayDriverD3D11::DrawSurface(IGpDisplayDriverSurface *surface, int32_t
|
||||
m_paletteTextureSRV
|
||||
};
|
||||
|
||||
m_deviceContext->PSSetShader(m_drawQuadPalettePixelShader, nullptr, 0);
|
||||
m_deviceContext->PSSetShader(m_useICCProfile ? m_drawQuadPaletteICCPixelShader : m_drawQuadPalettePixelShader, nullptr, 0);
|
||||
m_deviceContext->PSSetShaderResources(0, sizeof(psResourceViews) / sizeof(psResourceViews[0]), psResourceViews);
|
||||
}
|
||||
else if (pixelFormat == GpPixelFormats::kRGB555)
|
||||
@@ -1332,7 +1352,7 @@ void GpDisplayDriverD3D11::DrawSurface(IGpDisplayDriverSurface *surface, int32_t
|
||||
d3d11Surface->GetSRV(),
|
||||
};
|
||||
|
||||
m_deviceContext->PSSetShader(m_drawQuad15BitPixelShader, nullptr, 0);
|
||||
m_deviceContext->PSSetShader(m_useICCProfile ? m_drawQuad15BitICCPixelShader : m_drawQuad15BitPixelShader, nullptr, 0);
|
||||
m_deviceContext->PSSetShaderResources(0, sizeof(psResourceViews) / sizeof(psResourceViews[0]), psResourceViews);
|
||||
}
|
||||
else if (pixelFormat == GpPixelFormats::kRGB32)
|
||||
@@ -1342,7 +1362,7 @@ void GpDisplayDriverD3D11::DrawSurface(IGpDisplayDriverSurface *surface, int32_t
|
||||
d3d11Surface->GetSRV(),
|
||||
};
|
||||
|
||||
m_deviceContext->PSSetShader(m_drawQuadRGBPixelShader, nullptr, 0);
|
||||
m_deviceContext->PSSetShader(m_useICCProfile ? m_drawQuadRGBICCPixelShader : m_drawQuadRGBPixelShader, nullptr, 0);
|
||||
m_deviceContext->PSSetShaderResources(0, sizeof(psResourceViews) / sizeof(psResourceViews[0]), psResourceViews);
|
||||
}
|
||||
else
|
||||
@@ -1429,10 +1449,16 @@ void GpDisplayDriverD3D11::SetBackgroundDarkenEffect(bool isDark)
|
||||
m_bgIsDark = isDark;
|
||||
}
|
||||
|
||||
|
||||
void GpDisplayDriverD3D11::SetUseICCProfile(bool useICCProfile)
|
||||
{
|
||||
m_useICCProfile = useICCProfile;
|
||||
}
|
||||
|
||||
void GpDisplayDriverD3D11::RequestToggleFullScreen(uint32_t timestamp)
|
||||
{
|
||||
// Alt-Enter gets re-sent after a full-screen toggle, so we ignore toggle requests until half a second has elapsed
|
||||
if (timestamp > m_lastFullScreenToggleTimeStamp + 30)
|
||||
if (timestamp == 0 || timestamp > m_lastFullScreenToggleTimeStamp + 30)
|
||||
{
|
||||
m_isFullScreenDesired = !m_isFullScreenDesired;
|
||||
m_lastFullScreenToggleTimeStamp = timestamp;
|
||||
@@ -1444,11 +1470,39 @@ void GpDisplayDriverD3D11::RequestResetVirtualResolution()
|
||||
m_isResolutionResetDesired = true;
|
||||
}
|
||||
|
||||
bool GpDisplayDriverD3D11::IsFullScreen() const
|
||||
{
|
||||
return m_isFullScreenDesired;
|
||||
}
|
||||
|
||||
const GpDisplayDriverProperties &GpDisplayDriverD3D11::GetProperties() const
|
||||
{
|
||||
return m_properties;
|
||||
}
|
||||
|
||||
IGpPrefsHandler *GpDisplayDriverD3D11::GetPrefsHandler() const
|
||||
{
|
||||
const IGpPrefsHandler *cPrefsHandler = this;
|
||||
return const_cast<IGpPrefsHandler*>(cPrefsHandler);
|
||||
}
|
||||
|
||||
void GpDisplayDriverD3D11::ApplyPrefs(const void *identifier, size_t identifierSize, const void *contents, size_t contentsSize, uint32_t version)
|
||||
{
|
||||
if (version == kPrefsVersion && identifierSize == strlen(kPrefsIdentifier) && !memcmp(identifier, kPrefsIdentifier, identifierSize))
|
||||
{
|
||||
const GpDisplayDriverD3D11_Prefs *prefs = static_cast<const GpDisplayDriverD3D11_Prefs *>(contents);
|
||||
m_isFullScreenDesired = prefs->m_isFullScreen;
|
||||
}
|
||||
}
|
||||
|
||||
bool GpDisplayDriverD3D11::SavePrefs(void *context, IGpPrefsHandler::WritePrefsFunc_t writeFunc)
|
||||
{
|
||||
GpDisplayDriverD3D11_Prefs prefs;
|
||||
prefs.m_isFullScreen = m_isFullScreenDesired;
|
||||
|
||||
return writeFunc(context, kPrefsIdentifier, strlen(kPrefsIdentifier), &prefs, sizeof(prefs), kPrefsVersion);
|
||||
}
|
||||
|
||||
GpDisplayDriverD3D11 *GpDisplayDriverD3D11::Create(const GpDisplayDriverProperties &properties)
|
||||
{
|
||||
void *storage = malloc(sizeof(GpDisplayDriverD3D11));
|
||||
@@ -1479,6 +1533,7 @@ GpDisplayDriverD3D11::GpDisplayDriverD3D11(const GpDisplayDriverProperties &prop
|
||||
, m_isResolutionResetDesired(false)
|
||||
, m_lastFullScreenToggleTimeStamp(0)
|
||||
, m_bgIsDark(false)
|
||||
, m_useICCProfile(false)
|
||||
{
|
||||
memset(&m_syncTimeBase, 0, sizeof(m_syncTimeBase));
|
||||
memset(&m_windowModeRevertRect, 0, sizeof(m_windowModeRevertRect));
|
||||
|
@@ -4,12 +4,15 @@
|
||||
#include "GpRingBuffer.h"
|
||||
|
||||
#include "IGpDisplayDriver.h"
|
||||
#include "IGpPrefsHandler.h"
|
||||
#include "GpCoreDefs.h"
|
||||
#include "GpDisplayDriverProperties.h"
|
||||
#include "GpComPtr.h"
|
||||
|
||||
#include "GpPixelFormat.h"
|
||||
|
||||
#include "IGpPrefsHandler.h"
|
||||
|
||||
struct GpWindowsGlobals;
|
||||
struct IGpCursor_Win32;
|
||||
struct IGpCursor;
|
||||
@@ -30,7 +33,7 @@ struct ID3D11Texture2D;
|
||||
struct ID3D11VertexShader;
|
||||
|
||||
|
||||
class GpDisplayDriverD3D11 : public IGpDisplayDriver
|
||||
class GpDisplayDriverD3D11 : public IGpDisplayDriver, public IGpPrefsHandler
|
||||
{
|
||||
public:
|
||||
void Run() override;
|
||||
@@ -50,10 +53,18 @@ public:
|
||||
void SetBackgroundColor(uint8_t r, uint8_t g, uint8_t b, uint8_t a) override;
|
||||
void SetBackgroundDarkenEffect(bool isDark) override;
|
||||
|
||||
void SetUseICCProfile(bool useICCProfile) override;
|
||||
|
||||
void RequestToggleFullScreen(uint32_t timestamp) override;
|
||||
void RequestResetVirtualResolution() override;
|
||||
|
||||
bool IsFullScreen() const override;
|
||||
|
||||
const GpDisplayDriverProperties &GetProperties() const override;
|
||||
IGpPrefsHandler *GetPrefsHandler() const override;
|
||||
|
||||
void ApplyPrefs(const void *identifier, size_t identifierSize, const void *contents, size_t contentsSize, uint32_t version) override;
|
||||
bool SavePrefs(void *context, IGpPrefsHandler::WritePrefsFunc_t writeFunc) override;
|
||||
|
||||
static GpDisplayDriverD3D11 *Create(const GpDisplayDriverProperties &properties);
|
||||
|
||||
@@ -122,6 +133,9 @@ private:
|
||||
GpComPtr<ID3D11PixelShader> m_drawQuadPalettePixelShader;
|
||||
GpComPtr<ID3D11PixelShader> m_drawQuad15BitPixelShader;
|
||||
GpComPtr<ID3D11PixelShader> m_drawQuadRGBPixelShader;
|
||||
GpComPtr<ID3D11PixelShader> m_drawQuadPaletteICCPixelShader;
|
||||
GpComPtr<ID3D11PixelShader> m_drawQuad15BitICCPixelShader;
|
||||
GpComPtr<ID3D11PixelShader> m_drawQuadRGBICCPixelShader;
|
||||
GpComPtr<ID3D11PixelShader> m_scaleQuadPixelShader;
|
||||
GpComPtr<ID3D11Buffer> m_drawQuadVertexConstantBuffer;
|
||||
GpComPtr<ID3D11Buffer> m_drawQuadPixelConstantBuffer;
|
||||
@@ -177,4 +191,6 @@ private:
|
||||
|
||||
float m_bgColor[4];
|
||||
bool m_bgIsDark;
|
||||
|
||||
bool m_useICCProfile;
|
||||
};
|
||||
|
@@ -1,14 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.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>
|
||||
@@ -25,19 +17,6 @@
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
@@ -56,21 +35,11 @@
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</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="..\GpCommon.props" />
|
||||
<Import Project="..\Common.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="..\GpCommon.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\Release.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="..\GpCommon.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\Debug.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" />
|
||||
@@ -88,28 +57,6 @@
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
@@ -126,8 +73,11 @@
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CompiledShaders\DrawQuad15BitP_D3D11.cpp" />
|
||||
<ClCompile Include="CompiledShaders\DrawQuad15BitP_ICC_D3D11.cpp" />
|
||||
<ClCompile Include="CompiledShaders\DrawQuadPaletteP_D3D11.cpp" />
|
||||
<ClCompile Include="CompiledShaders\DrawQuadPaletteP_ICC_D3D11.cpp" />
|
||||
<ClCompile Include="CompiledShaders\DrawQuadRGBP_D3D11.cpp" />
|
||||
<ClCompile Include="CompiledShaders\DrawQuadRGBP_ICC_D3D11.cpp" />
|
||||
<ClCompile Include="CompiledShaders\DrawQuadV_D3D11.cpp" />
|
||||
<ClCompile Include="CompiledShaders\ScaleQuadP_D3D11.cpp" />
|
||||
<ClCompile Include="GpDisplayDriverD3D11.cpp" />
|
||||
|
@@ -42,6 +42,15 @@
|
||||
<ClCompile Include="CompiledShaders\ScaleQuadP_D3D11.cpp">
|
||||
<Filter>Source Files\CompiledShaders</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CompiledShaders\DrawQuad15BitP_ICC_D3D11.cpp">
|
||||
<Filter>Source Files\CompiledShaders</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CompiledShaders\DrawQuadPaletteP_ICC_D3D11.cpp">
|
||||
<Filter>Source Files\CompiledShaders</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CompiledShaders\DrawQuadRGBP_ICC_D3D11.cpp">
|
||||
<Filter>Source Files\CompiledShaders</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="GpDisplayDriverD3D11.h">
|
||||
|
@@ -1,10 +1,12 @@
|
||||
#include "GpFontHandler_FreeType2.h"
|
||||
#include "GpFontHandlerProperties.h"
|
||||
|
||||
#include "CoreDefs.h"
|
||||
#include "IOStream.h"
|
||||
#include "HostFont.h"
|
||||
#include "HostFontRenderedGlyph.h"
|
||||
#include "RenderedGlyphMetrics.h"
|
||||
#include "GpIOStream.h"
|
||||
#include "IGpFont.h"
|
||||
#include "IGpFontRenderedGlyph.h"
|
||||
#include "GpRenderedGlyphMetrics.h"
|
||||
#include "IGpFontHandler.h"
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
@@ -15,48 +17,47 @@
|
||||
#include <new>
|
||||
#include <assert.h>
|
||||
|
||||
|
||||
class GpFontRenderedGlyph_FreeType2 final : public PortabilityLayer::HostFontRenderedGlyph
|
||||
class GpFontRenderedGlyph_FreeType2 final : public IGpFontRenderedGlyph
|
||||
{
|
||||
public:
|
||||
const PortabilityLayer::RenderedGlyphMetrics &GetMetrics() const override;
|
||||
const GpRenderedGlyphMetrics &GetMetrics() const override;
|
||||
const void *GetData() const override;
|
||||
void Destroy() override;
|
||||
|
||||
static GpFontRenderedGlyph_FreeType2 *Create(size_t dataSize, const PortabilityLayer::RenderedGlyphMetrics &metrics);
|
||||
static GpFontRenderedGlyph_FreeType2 *Create(size_t dataSize, const GpRenderedGlyphMetrics &metrics);
|
||||
|
||||
void *GetMutableData();
|
||||
|
||||
private:
|
||||
GpFontRenderedGlyph_FreeType2(void *data, const PortabilityLayer::RenderedGlyphMetrics &metrics);
|
||||
GpFontRenderedGlyph_FreeType2(void *data, const GpRenderedGlyphMetrics &metrics);
|
||||
~GpFontRenderedGlyph_FreeType2();
|
||||
|
||||
void *m_data;
|
||||
PortabilityLayer::RenderedGlyphMetrics m_metrics;
|
||||
GpRenderedGlyphMetrics m_metrics;
|
||||
};
|
||||
|
||||
class GpFont_FreeType2 final : public PortabilityLayer::HostFont
|
||||
class GpFont_FreeType2 final : public IGpFont
|
||||
{
|
||||
public:
|
||||
void Destroy() override;
|
||||
GpFontRenderedGlyph_FreeType2 *Render(uint32_t unicodeCodePoint, unsigned int size, bool aa) override;
|
||||
IGpFontRenderedGlyph *Render(uint32_t unicodeCodePoint, unsigned int size, bool aa) override;
|
||||
bool GetLineSpacing(unsigned int size, int32_t &outSpacing) override;
|
||||
|
||||
static GpFont_FreeType2 *Create(const FT_StreamRec_ &streamRec, PortabilityLayer::IOStream *stream);
|
||||
static GpFont_FreeType2 *Create(const FT_StreamRec_ &streamRec, GpIOStream *stream);
|
||||
|
||||
bool FTLoad(const FT_Library &library);
|
||||
|
||||
private:
|
||||
explicit GpFont_FreeType2(const FT_StreamRec_ &streamRec, PortabilityLayer::IOStream *stream);
|
||||
explicit GpFont_FreeType2(const FT_StreamRec_ &streamRec, GpIOStream *stream);
|
||||
~GpFont_FreeType2();
|
||||
|
||||
FT_StreamRec_ m_ftStream;
|
||||
FT_Face m_face;
|
||||
PortabilityLayer::IOStream *m_stream;
|
||||
GpIOStream *m_stream;
|
||||
unsigned int m_currentSize;
|
||||
};
|
||||
|
||||
const PortabilityLayer::RenderedGlyphMetrics &GpFontRenderedGlyph_FreeType2::GetMetrics() const
|
||||
const GpRenderedGlyphMetrics &GpFontRenderedGlyph_FreeType2::GetMetrics() const
|
||||
{
|
||||
return m_metrics;
|
||||
}
|
||||
@@ -72,7 +73,7 @@ void GpFontRenderedGlyph_FreeType2::Destroy()
|
||||
free(this);
|
||||
}
|
||||
|
||||
GpFontRenderedGlyph_FreeType2 *GpFontRenderedGlyph_FreeType2::Create(size_t dataSize, const PortabilityLayer::RenderedGlyphMetrics &metrics)
|
||||
GpFontRenderedGlyph_FreeType2 *GpFontRenderedGlyph_FreeType2::Create(size_t dataSize, const GpRenderedGlyphMetrics &metrics)
|
||||
{
|
||||
size_t alignedPrefixSize = (sizeof(GpFontRenderedGlyph_FreeType2) + GP_SYSTEM_MEMORY_ALIGNMENT - 1);
|
||||
alignedPrefixSize -= alignedPrefixSize % GP_SYSTEM_MEMORY_ALIGNMENT;
|
||||
@@ -90,7 +91,7 @@ void *GpFontRenderedGlyph_FreeType2::GetMutableData()
|
||||
}
|
||||
|
||||
|
||||
GpFontRenderedGlyph_FreeType2::GpFontRenderedGlyph_FreeType2(void *data, const PortabilityLayer::RenderedGlyphMetrics &metrics)
|
||||
GpFontRenderedGlyph_FreeType2::GpFontRenderedGlyph_FreeType2(void *data, const GpRenderedGlyphMetrics &metrics)
|
||||
: m_metrics(metrics)
|
||||
, m_data(data)
|
||||
{
|
||||
@@ -106,7 +107,7 @@ void GpFont_FreeType2::Destroy()
|
||||
free(this);
|
||||
}
|
||||
|
||||
GpFontRenderedGlyph_FreeType2 *GpFont_FreeType2::Render(uint32_t unicodeCodePoint, unsigned int size, bool aa)
|
||||
IGpFontRenderedGlyph *GpFont_FreeType2::Render(uint32_t unicodeCodePoint, unsigned int size, bool aa)
|
||||
{
|
||||
if (m_currentSize != size)
|
||||
{
|
||||
@@ -154,7 +155,7 @@ GpFontRenderedGlyph_FreeType2 *GpFont_FreeType2::Render(uint32_t unicodeCodePoin
|
||||
return nullptr; // This should never happen
|
||||
}
|
||||
|
||||
PortabilityLayer::RenderedGlyphMetrics metrics;
|
||||
GpRenderedGlyphMetrics metrics;
|
||||
memset(&metrics, 0, sizeof(metrics));
|
||||
|
||||
metrics.m_bearingX = glyph->metrics.horiBearingX / 64;
|
||||
@@ -247,7 +248,7 @@ bool GpFont_FreeType2::GetLineSpacing(unsigned int size, int32_t &outSpacing)
|
||||
}
|
||||
|
||||
|
||||
GpFont_FreeType2 *GpFont_FreeType2::Create(const FT_StreamRec_ &streamRec, PortabilityLayer::IOStream *stream)
|
||||
GpFont_FreeType2 *GpFont_FreeType2::Create(const FT_StreamRec_ &streamRec, GpIOStream *stream)
|
||||
{
|
||||
void *storage = malloc(sizeof(GpFont_FreeType2));
|
||||
if (!storage)
|
||||
@@ -270,7 +271,7 @@ bool GpFont_FreeType2::FTLoad(const FT_Library &library)
|
||||
return true;
|
||||
}
|
||||
|
||||
GpFont_FreeType2::GpFont_FreeType2(const FT_StreamRec_ &streamRec, PortabilityLayer::IOStream *stream)
|
||||
GpFont_FreeType2::GpFont_FreeType2(const FT_StreamRec_ &streamRec, GpIOStream *stream)
|
||||
: m_face(nullptr)
|
||||
, m_ftStream(streamRec)
|
||||
, m_stream(stream)
|
||||
@@ -303,7 +304,7 @@ GpFontHandler_FreeType2 *GpFontHandler_FreeType2::Create()
|
||||
return fh;
|
||||
}
|
||||
|
||||
PortabilityLayer::HostFont *GpFontHandler_FreeType2::LoadFont(PortabilityLayer::IOStream *stream)
|
||||
IGpFont *GpFontHandler_FreeType2::LoadFont(GpIOStream *stream)
|
||||
{
|
||||
FT_StreamRec_ ftStream;
|
||||
memset(&ftStream, 0, sizeof(ftStream));
|
||||
@@ -372,11 +373,11 @@ void *GpFontHandler_FreeType2::FTReallocThunk(FT_Memory memory, long curSize, lo
|
||||
|
||||
unsigned long GpFontHandler_FreeType2::FTStreamIo(FT_Stream stream, unsigned long offset, unsigned char* buffer, unsigned long count)
|
||||
{
|
||||
PortabilityLayer::IOStream *ioStream = static_cast<PortabilityLayer::IOStream*>(stream->descriptor.pointer);
|
||||
GpIOStream *ioStream = static_cast<GpIOStream*>(stream->descriptor.pointer);
|
||||
|
||||
if (count == 0)
|
||||
{
|
||||
if (!ioStream->SeekStart(static_cast<PortabilityLayer::UFilePos_t>(offset)))
|
||||
if (!ioStream->SeekStart(static_cast<GpUFilePos_t>(offset)))
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
@@ -423,3 +424,8 @@ bool GpFontHandler_FreeType2::Init()
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
extern "C" __declspec(dllexport) IGpFontHandler *GpDriver_CreateFontHandler_FreeType2(const GpFontHandlerProperties &properties)
|
||||
{
|
||||
return GpFontHandler_FreeType2::Create();
|
||||
}
|
@@ -1,21 +1,22 @@
|
||||
#pragma once
|
||||
|
||||
#include "HostFontHandler.h"
|
||||
#include "IGpFontHandler.h"
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_SYSTEM_H
|
||||
#include FT_FREETYPE_H
|
||||
|
||||
class GpIOStream;
|
||||
|
||||
namespace PortabilityLayer
|
||||
{
|
||||
class IOStream;
|
||||
class HostFont;
|
||||
}
|
||||
|
||||
class GpFontHandler_FreeType2 final : public PortabilityLayer::HostFontHandler
|
||||
class GpFontHandler_FreeType2 final : public IGpFontHandler
|
||||
{
|
||||
public:
|
||||
PortabilityLayer::HostFont *LoadFont(PortabilityLayer::IOStream *stream) override;
|
||||
IGpFont *LoadFont(GpIOStream *stream) override;
|
||||
void Shutdown() override;
|
||||
|
||||
bool KeepStreamOpen() const override;
|
89
GpFontHandler_FreeType2/GpFontHandler_FreeType2.vcxproj
Normal file
89
GpFontHandler_FreeType2/GpFontHandler_FreeType2.vcxproj
Normal file
@@ -0,0 +1,89 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{4B564030-8985-4975-91E1-E1B2C16AE2A1}</ProjectGuid>
|
||||
<RootNamespace>GpFontHandlerFreeType2</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</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="..\FreeTypePublic.props" />
|
||||
<Import Project="..\FreeTypeImport.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\GpCommon.props" />
|
||||
<Import Project="..\Debug.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="..\FreeTypePublic.props" />
|
||||
<Import Project="..\FreeTypeImport.props" />
|
||||
<Import Project="..\Common.props" />
|
||||
<Import Project="..\GpCommon.props" />
|
||||
<Import Project="..\Release.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="GpFontHandler_FreeType2.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\FreeType\FreeType.vcxproj">
|
||||
<Project>{487216d8-16ba-4b4c-b5bf-43feedfee03a}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="GpFontHandler_FreeType2.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@@ -76,6 +76,11 @@ void GpInputDriverXInput::Shutdown()
|
||||
free(this);
|
||||
}
|
||||
|
||||
IGpPrefsHandler *GpInputDriverXInput::GetPrefsHandler() const
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
GpInputDriverXInput *GpInputDriverXInput::Create(const GpInputDriverProperties &props)
|
||||
{
|
||||
void *storage = malloc(sizeof(GpInputDriverXInput));
|
||||
|
@@ -13,6 +13,8 @@ public:
|
||||
void ProcessInput() override;
|
||||
void Shutdown() override;
|
||||
|
||||
IGpPrefsHandler *GetPrefsHandler() const override;
|
||||
|
||||
static GpInputDriverXInput *Create(const GpInputDriverProperties &props);
|
||||
|
||||
private:
|
||||
|
@@ -1,14 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.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>
|
||||
@@ -25,19 +17,6 @@
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
@@ -56,15 +35,6 @@
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</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="..\GpCommon.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="..\GpCommon.props" />
|
||||
<Import Project="..\Release.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="..\GpCommon.props" />
|
||||
@@ -84,28 +54,6 @@
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user