Worked on Windows implementation and the quad-trees.
authoregottlieb
Mon, 02 Aug 2010 01:54:59 -0400
changeset 4822 55f32099a4b5
parent 4821 1fd1b7a2ba8b
child 4823 6547943feda9
Worked on Windows implementation and the quad-trees.
VisualC/tests/tests.sln
VisualC/tests/testshape/testshape.vcxproj.user
src/video/SDL_shape.c
src/video/win32/SDL_win32shape.c
--- a/VisualC/tests/tests.sln	Sun Aug 01 23:27:22 2010 -0400
+++ b/VisualC/tests/tests.sln	Mon Aug 02 01:54:59 2010 -0400
@@ -45,93 +45,202 @@
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Win32 = Debug|Win32
+		Debug|x64 = Debug|x64
+		Release_NoSTDIO|Win32 = Release_NoSTDIO|Win32
+		Release_NoSTDIO|x64 = Release_NoSTDIO|x64
 		Release|Win32 = Release|Win32
+		Release|x64 = Release|x64
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 		{0BCCA0BF-073E-439E-BCE0-C9353C177487}.Debug|Win32.ActiveCfg = Debug|Win32
 		{0BCCA0BF-073E-439E-BCE0-C9353C177487}.Debug|Win32.Build.0 = Debug|Win32
+		{0BCCA0BF-073E-439E-BCE0-C9353C177487}.Debug|x64.ActiveCfg = Debug|Win32
+		{0BCCA0BF-073E-439E-BCE0-C9353C177487}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{0BCCA0BF-073E-439E-BCE0-C9353C177487}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{0BCCA0BF-073E-439E-BCE0-C9353C177487}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{0BCCA0BF-073E-439E-BCE0-C9353C177487}.Release|Win32.ActiveCfg = Release|Win32
 		{0BCCA0BF-073E-439E-BCE0-C9353C177487}.Release|Win32.Build.0 = Release|Win32
+		{0BCCA0BF-073E-439E-BCE0-C9353C177487}.Release|x64.ActiveCfg = Release|Win32
 		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|Win32.ActiveCfg = Debug|Win32
 		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|Win32.Build.0 = Debug|Win32
+		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|x64.ActiveCfg = Debug|Win32
+		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|Win32.ActiveCfg = Release|Win32
 		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|Win32.Build.0 = Release|Win32
+		{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|x64.ActiveCfg = Release|Win32
 		{7814D54B-65D3-4677-AD77-E0B980B4FA2D}.Debug|Win32.ActiveCfg = Debug|Win32
 		{7814D54B-65D3-4677-AD77-E0B980B4FA2D}.Debug|Win32.Build.0 = Debug|Win32
+		{7814D54B-65D3-4677-AD77-E0B980B4FA2D}.Debug|x64.ActiveCfg = Debug|Win32
+		{7814D54B-65D3-4677-AD77-E0B980B4FA2D}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{7814D54B-65D3-4677-AD77-E0B980B4FA2D}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{7814D54B-65D3-4677-AD77-E0B980B4FA2D}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{7814D54B-65D3-4677-AD77-E0B980B4FA2D}.Release|Win32.ActiveCfg = Release|Win32
 		{7814D54B-65D3-4677-AD77-E0B980B4FA2D}.Release|Win32.Build.0 = Release|Win32
+		{7814D54B-65D3-4677-AD77-E0B980B4FA2D}.Release|x64.ActiveCfg = Release|Win32
 		{D974A0DF-3E2E-445C-A2EB-E899E9B582CB}.Debug|Win32.ActiveCfg = Debug|Win32
 		{D974A0DF-3E2E-445C-A2EB-E899E9B582CB}.Debug|Win32.Build.0 = Debug|Win32
+		{D974A0DF-3E2E-445C-A2EB-E899E9B582CB}.Debug|x64.ActiveCfg = Debug|Win32
+		{D974A0DF-3E2E-445C-A2EB-E899E9B582CB}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{D974A0DF-3E2E-445C-A2EB-E899E9B582CB}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{D974A0DF-3E2E-445C-A2EB-E899E9B582CB}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{D974A0DF-3E2E-445C-A2EB-E899E9B582CB}.Release|Win32.ActiveCfg = Release|Win32
 		{D974A0DF-3E2E-445C-A2EB-E899E9B582CB}.Release|Win32.Build.0 = Release|Win32
+		{D974A0DF-3E2E-445C-A2EB-E899E9B582CB}.Release|x64.ActiveCfg = Release|Win32
 		{272D976B-A1DF-4DEB-BD7F-5C0D330E0C7D}.Debug|Win32.ActiveCfg = Debug|Win32
 		{272D976B-A1DF-4DEB-BD7F-5C0D330E0C7D}.Debug|Win32.Build.0 = Debug|Win32
+		{272D976B-A1DF-4DEB-BD7F-5C0D330E0C7D}.Debug|x64.ActiveCfg = Debug|Win32
+		{272D976B-A1DF-4DEB-BD7F-5C0D330E0C7D}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{272D976B-A1DF-4DEB-BD7F-5C0D330E0C7D}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{272D976B-A1DF-4DEB-BD7F-5C0D330E0C7D}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{272D976B-A1DF-4DEB-BD7F-5C0D330E0C7D}.Release|Win32.ActiveCfg = Release|Win32
 		{272D976B-A1DF-4DEB-BD7F-5C0D330E0C7D}.Release|Win32.Build.0 = Release|Win32
+		{272D976B-A1DF-4DEB-BD7F-5C0D330E0C7D}.Release|x64.ActiveCfg = Release|Win32
 		{55812185-D13C-4022-9C81-32E0F4A08304}.Debug|Win32.ActiveCfg = Debug|Win32
 		{55812185-D13C-4022-9C81-32E0F4A08304}.Debug|Win32.Build.0 = Debug|Win32
+		{55812185-D13C-4022-9C81-32E0F4A08304}.Debug|x64.ActiveCfg = Debug|Win32
+		{55812185-D13C-4022-9C81-32E0F4A08304}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{55812185-D13C-4022-9C81-32E0F4A08304}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{55812185-D13C-4022-9C81-32E0F4A08304}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{55812185-D13C-4022-9C81-32E0F4A08304}.Release|Win32.ActiveCfg = Release|Win32
 		{55812185-D13C-4022-9C81-32E0F4A08304}.Release|Win32.Build.0 = Release|Win32
+		{55812185-D13C-4022-9C81-32E0F4A08304}.Release|x64.ActiveCfg = Release|Win32
 		{493A8F38-5DA5-4E2D-B5E9-9E69EE4ED1DC}.Debug|Win32.ActiveCfg = Debug|Win32
 		{493A8F38-5DA5-4E2D-B5E9-9E69EE4ED1DC}.Debug|Win32.Build.0 = Debug|Win32
+		{493A8F38-5DA5-4E2D-B5E9-9E69EE4ED1DC}.Debug|x64.ActiveCfg = Debug|Win32
+		{493A8F38-5DA5-4E2D-B5E9-9E69EE4ED1DC}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{493A8F38-5DA5-4E2D-B5E9-9E69EE4ED1DC}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{493A8F38-5DA5-4E2D-B5E9-9E69EE4ED1DC}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{493A8F38-5DA5-4E2D-B5E9-9E69EE4ED1DC}.Release|Win32.ActiveCfg = Release|Win32
 		{493A8F38-5DA5-4E2D-B5E9-9E69EE4ED1DC}.Release|Win32.Build.0 = Release|Win32
+		{493A8F38-5DA5-4E2D-B5E9-9E69EE4ED1DC}.Release|x64.ActiveCfg = Release|Win32
 		{575FD095-EDAB-4BD4-B733-CD4A874F6FB0}.Debug|Win32.ActiveCfg = Debug|Win32
 		{575FD095-EDAB-4BD4-B733-CD4A874F6FB0}.Debug|Win32.Build.0 = Debug|Win32
+		{575FD095-EDAB-4BD4-B733-CD4A874F6FB0}.Debug|x64.ActiveCfg = Debug|Win32
+		{575FD095-EDAB-4BD4-B733-CD4A874F6FB0}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{575FD095-EDAB-4BD4-B733-CD4A874F6FB0}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{575FD095-EDAB-4BD4-B733-CD4A874F6FB0}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{575FD095-EDAB-4BD4-B733-CD4A874F6FB0}.Release|Win32.ActiveCfg = Release|Win32
 		{575FD095-EDAB-4BD4-B733-CD4A874F6FB0}.Release|Win32.Build.0 = Release|Win32
+		{575FD095-EDAB-4BD4-B733-CD4A874F6FB0}.Release|x64.ActiveCfg = Release|Win32
 		{0FFD1A21-11DB-492C-A989-E4F195B0C441}.Debug|Win32.ActiveCfg = Debug|Win32
 		{0FFD1A21-11DB-492C-A989-E4F195B0C441}.Debug|Win32.Build.0 = Debug|Win32
+		{0FFD1A21-11DB-492C-A989-E4F195B0C441}.Debug|x64.ActiveCfg = Debug|Win32
+		{0FFD1A21-11DB-492C-A989-E4F195B0C441}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{0FFD1A21-11DB-492C-A989-E4F195B0C441}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{0FFD1A21-11DB-492C-A989-E4F195B0C441}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{0FFD1A21-11DB-492C-A989-E4F195B0C441}.Release|Win32.ActiveCfg = Release|Win32
 		{0FFD1A21-11DB-492C-A989-E4F195B0C441}.Release|Win32.Build.0 = Release|Win32
+		{0FFD1A21-11DB-492C-A989-E4F195B0C441}.Release|x64.ActiveCfg = Release|Win32
 		{6AF0724B-BAC1-4C9D-AFBF-F63B4A2FB8FB}.Debug|Win32.ActiveCfg = Debug|Win32
 		{6AF0724B-BAC1-4C9D-AFBF-F63B4A2FB8FB}.Debug|Win32.Build.0 = Debug|Win32
+		{6AF0724B-BAC1-4C9D-AFBF-F63B4A2FB8FB}.Debug|x64.ActiveCfg = Debug|Win32
+		{6AF0724B-BAC1-4C9D-AFBF-F63B4A2FB8FB}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{6AF0724B-BAC1-4C9D-AFBF-F63B4A2FB8FB}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{6AF0724B-BAC1-4C9D-AFBF-F63B4A2FB8FB}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{6AF0724B-BAC1-4C9D-AFBF-F63B4A2FB8FB}.Release|Win32.ActiveCfg = Release|Win32
 		{6AF0724B-BAC1-4C9D-AFBF-F63B4A2FB8FB}.Release|Win32.Build.0 = Release|Win32
+		{6AF0724B-BAC1-4C9D-AFBF-F63B4A2FB8FB}.Release|x64.ActiveCfg = Release|Win32
 		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|Win32.ActiveCfg = Debug|Win32
 		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|Win32.Build.0 = Debug|Win32
+		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|x64.ActiveCfg = Debug|Win32
+		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|Win32.ActiveCfg = Release|Win32
 		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|Win32.Build.0 = Release|Win32
+		{26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|x64.ActiveCfg = Release|Win32
 		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|Win32.ActiveCfg = Debug|Win32
 		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|Win32.Build.0 = Debug|Win32
+		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|x64.ActiveCfg = Debug|Win32
+		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|Win32.ActiveCfg = Release|Win32
 		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|Win32.Build.0 = Release|Win32
+		{CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|x64.ActiveCfg = Release|Win32
 		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|Win32.ActiveCfg = Debug|Win32
 		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|Win32.Build.0 = Debug|Win32
+		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|x64.ActiveCfg = Debug|Win32
+		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|Win32.ActiveCfg = Release|Win32
 		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|Win32.Build.0 = Release|Win32
+		{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|x64.ActiveCfg = Release|Win32
 		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|Win32.ActiveCfg = Debug|Win32
 		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|Win32.Build.0 = Debug|Win32
+		{26828762-C95D-4637-9CB1-7F0979523813}.Debug|x64.ActiveCfg = Debug|Win32
+		{26828762-C95D-4637-9CB1-7F0979523813}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{26828762-C95D-4637-9CB1-7F0979523813}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{26828762-C95D-4637-9CB1-7F0979523813}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{26828762-C95D-4637-9CB1-7F0979523813}.Release|Win32.ActiveCfg = Release|Win32
 		{26828762-C95D-4637-9CB1-7F0979523813}.Release|Win32.Build.0 = Release|Win32
+		{26828762-C95D-4637-9CB1-7F0979523813}.Release|x64.ActiveCfg = Release|Win32
 		{9E320A14-B443-4DD7-8725-B7020DCFF730}.Debug|Win32.ActiveCfg = Debug|Win32
 		{9E320A14-B443-4DD7-8725-B7020DCFF730}.Debug|Win32.Build.0 = Debug|Win32
+		{9E320A14-B443-4DD7-8725-B7020DCFF730}.Debug|x64.ActiveCfg = Debug|Win32
+		{9E320A14-B443-4DD7-8725-B7020DCFF730}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{9E320A14-B443-4DD7-8725-B7020DCFF730}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{9E320A14-B443-4DD7-8725-B7020DCFF730}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{9E320A14-B443-4DD7-8725-B7020DCFF730}.Release|Win32.ActiveCfg = Release|Win32
 		{9E320A14-B443-4DD7-8725-B7020DCFF730}.Release|Win32.Build.0 = Release|Win32
+		{9E320A14-B443-4DD7-8725-B7020DCFF730}.Release|x64.ActiveCfg = Release|Win32
 		{B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Debug|Win32.ActiveCfg = Debug|Win32
 		{B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Debug|Win32.Build.0 = Debug|Win32
+		{B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Debug|x64.ActiveCfg = Debug|Win32
+		{B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Release|Win32.ActiveCfg = Release|Win32
 		{B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Release|Win32.Build.0 = Release|Win32
+		{B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Release|x64.ActiveCfg = Release|Win32
 		{5D0930C0-7C91-4ECE-9014-7B7DDE9502E5}.Debug|Win32.ActiveCfg = Debug|Win32
 		{5D0930C0-7C91-4ECE-9014-7B7DDE9502E5}.Debug|Win32.Build.0 = Debug|Win32
+		{5D0930C0-7C91-4ECE-9014-7B7DDE9502E5}.Debug|x64.ActiveCfg = Debug|Win32
+		{5D0930C0-7C91-4ECE-9014-7B7DDE9502E5}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{5D0930C0-7C91-4ECE-9014-7B7DDE9502E5}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{5D0930C0-7C91-4ECE-9014-7B7DDE9502E5}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{5D0930C0-7C91-4ECE-9014-7B7DDE9502E5}.Release|Win32.ActiveCfg = Release|Win32
 		{5D0930C0-7C91-4ECE-9014-7B7DDE9502E5}.Release|Win32.Build.0 = Release|Win32
+		{5D0930C0-7C91-4ECE-9014-7B7DDE9502E5}.Release|x64.ActiveCfg = Release|Win32
 		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|Win32.ActiveCfg = Debug|Win32
 		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|Win32.Build.0 = Debug|Win32
+		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|x64.ActiveCfg = Debug|Win32
+		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|Win32.ActiveCfg = Release|Win32
 		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|Win32.Build.0 = Release|Win32
+		{40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|x64.ActiveCfg = Release|Win32
 		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|Win32.ActiveCfg = Debug|Win32
 		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|Win32.Build.0 = Debug|Win32
+		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|x64.ActiveCfg = Debug|Win32
+		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|Win32.ActiveCfg = Release|Win32
 		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|Win32.Build.0 = Release|Win32
+		{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|x64.ActiveCfg = Release|Win32
 		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|Win32.ActiveCfg = Debug|Win32
 		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|Win32.Build.0 = Debug|Win32
+		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|x64.ActiveCfg = Debug|Win32
+		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|Win32.ActiveCfg = Release|Win32
 		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|Win32.Build.0 = Release|Win32
+		{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|x64.ActiveCfg = Release|Win32
 		{18BAE08C-319A-46DF-A7F1-1884F5040257}.Debug|Win32.ActiveCfg = Debug|Win32
 		{18BAE08C-319A-46DF-A7F1-1884F5040257}.Debug|Win32.Build.0 = Debug|Win32
+		{18BAE08C-319A-46DF-A7F1-1884F5040257}.Debug|x64.ActiveCfg = Debug|Win32
+		{18BAE08C-319A-46DF-A7F1-1884F5040257}.Release_NoSTDIO|Win32.ActiveCfg = Release|Win32
+		{18BAE08C-319A-46DF-A7F1-1884F5040257}.Release_NoSTDIO|Win32.Build.0 = Release|Win32
+		{18BAE08C-319A-46DF-A7F1-1884F5040257}.Release_NoSTDIO|x64.ActiveCfg = Release|Win32
 		{18BAE08C-319A-46DF-A7F1-1884F5040257}.Release|Win32.ActiveCfg = Release|Win32
 		{18BAE08C-319A-46DF-A7F1-1884F5040257}.Release|Win32.Build.0 = Release|Win32
+		{18BAE08C-319A-46DF-A7F1-1884F5040257}.Release|x64.ActiveCfg = Release|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
--- a/VisualC/tests/testshape/testshape.vcxproj.user	Sun Aug 01 23:27:22 2010 -0400
+++ b/VisualC/tests/testshape/testshape.vcxproj.user	Mon Aug 02 01:54:59 2010 -0400
@@ -1,3 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <ShowAllFiles>true</ShowAllFiles>
+    <LocalDebuggerCommandArguments Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"C:\Users\Eli\My Programs\test\shapes\p16_shape24.bmp"</LocalDebuggerCommandArguments>
+    <DebuggerFlavor Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WindowsLocalDebugger</DebuggerFlavor>
+  </PropertyGroup>
 </Project>
\ No newline at end of file
--- a/src/video/SDL_shape.c	Sun Aug 01 23:27:22 2010 -0400
+++ b/src/video/SDL_shape.c	Mon Aug 02 01:54:59 2010 -0400
@@ -131,6 +131,9 @@
 				case(2):
 					pixel_value = *(Uint16*)pixel;
 					break;
+				case(3):
+					pixel_value = *(Uint32*)pixel & (~mask->format->Amask);
+					break;
 				case(4):
 					pixel_value = *(Uint32*)pixel;
 					break;
--- a/src/video/win32/SDL_win32shape.c	Sun Aug 01 23:27:22 2010 -0400
+++ b/src/video/win32/SDL_win32shape.c	Mon Aug 02 01:54:59 2010 -0400
@@ -20,7 +20,7 @@
     eligottlieb@gmail.com
 */
 
-#include "SDL_win32shape.h"
+#include "SDL_win32shape.h"
 #include "SDL_win32video.h"
 
 SDL_WindowShaper* Win32_CreateShaper(SDL_Window * window) {
@@ -30,6 +30,8 @@
 	result->mode.mode = ShapeModeDefault;
 	result->mode.parameters.binarizationCutoff = 1;
 	result->usershownflag = 0;
+	result->driverdata = (SDL_ShapeData*)SDL_malloc(sizeof(SDL_ShapeData));
+	((SDL_ShapeData*)result->driverdata)->mask_tree = NULL;
 	//Put some driver-data here.
 	window->shaper = result;
 	resized_properly = Win32_ResizeWindowShape(window);
@@ -51,15 +53,17 @@
 int Win32_SetWindowShape(SDL_WindowShaper *shaper,SDL_Surface *shape,SDL_WindowShapeMode *shapeMode) {
 	SDL_ShapeData *data;
 	HRGN mask_region;
-    SDL_WindowData *windowdata;
+    SDL_WindowData *windowdata;
     HWND hwnd;
 
 	if (shaper == NULL || shape == NULL)
 		return SDL_INVALID_SHAPE_ARGUMENT;
-	if(!SDL_ISPIXELFORMAT_ALPHA(SDL_MasksToPixelFormatEnum(shape->format->BitsPerPixel,shape->format->Rmask,shape->format->Gmask,shape->format->Bmask,shape->format->Amask)) && shapeMode->mode != ShapeModeColorKey || shape->w != shaper->window->w || shape->h != shaper->window->h)
+	if(shape->format->Amask == 0 && shapeMode->mode != ShapeModeColorKey || shape->w != shaper->window->w || shape->h != shaper->window->h)
 		return SDL_INVALID_SHAPE_ARGUMENT;
 	
 	data = (SDL_ShapeData*)shaper->driverdata;
+	if(data->mask_tree != NULL)
+		SDL_FreeShapeTree(&data->mask_tree);
 	data->mask_tree = SDL_CalculateShapeTree(*shapeMode,shape,SDL_FALSE);
 	
 	/*
@@ -72,7 +76,7 @@
 	/*
 	 * Set the new region mask for the window 
 	 */
-	windowdata=(SDL_WindowData *)(shaper->window->driverdata);
+	windowdata=(SDL_WindowData *)(shaper->window->driverdata);
 	hwnd = windowdata->hwnd;
 	SetWindowRgn(hwnd, mask_region, TRUE);