diff options
author | Darkvater <darkvater@openttd.org> | 2006-11-28 20:01:46 +0000 |
---|---|---|
committer | Darkvater <darkvater@openttd.org> | 2006-11-28 20:01:46 +0000 |
commit | dcbbda0cb9674e8fc9aaa64a0861fd6381ae4202 (patch) | |
tree | 815a737f5dc8dec656dc08fbf6449a0fd2daf64f | |
parent | d8d210056d5f504f4a3136eb9d0cd14bb39cfbda (diff) | |
download | openttd-dcbbda0cb9674e8fc9aaa64a0861fd6381ae4202.tar.xz |
(svn r7279) -Codechange: [win32] Add Windows95/98 support by using MSLU. Only workaround is that the
wide version of EnumDisplaySettings crashes on win95 no matter what, so use ANSI version.
NOTE: MSLU support is only added to VS2003 project file because VS2005 compiles won't
even run on Windows95.
-rw-r--r-- | openttd.vcproj | 9 | ||||
-rw-r--r-- | video/win32_v.c | 7 |
2 files changed, 11 insertions, 5 deletions
diff --git a/openttd.vcproj b/openttd.vcproj index d42356e2b..5660ba8f7 100644 --- a/openttd.vcproj +++ b/openttd.vcproj @@ -17,7 +17,7 @@ ConfigurationType="1" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2" + CharacterSet="1" WholeProgramOptimization="TRUE"> <Tool Name="VCCLCompilerTool" @@ -97,7 +97,7 @@ ConfigurationType="1" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" - CharacterSet="2"> + CharacterSet="1"> <Tool Name="VCCLCompilerTool" Optimization="0" @@ -121,7 +121,7 @@ Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" - AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib dxguid.lib" + AdditionalDependencies="unicows.lib winmm.lib ws2_32.lib libpng.lib zlibstat.lib dxguid.lib" OutputFile=".\Debug/openttd.exe" LinkIncremental="0" SuppressStartupBanner="TRUE" @@ -674,6 +674,9 @@ RelativePath=".\waypoint.h"> </File> <File + RelativePath=".\win32.h"> + </File> + <File RelativePath=".\music\win32_m.h"> </File> <File diff --git a/video/win32_v.c b/video/win32_v.c index a2f46378e..be105c480 100644 --- a/video/win32_v.c +++ b/video/win32_v.c @@ -668,9 +668,12 @@ static void FindResolutions(void) { uint n = 0; uint i; - DEVMODE dm; + DEVMODEA dm; - for (i = 0; EnumDisplaySettings(NULL, i, &dm) != 0; i++) { + /* XXX - EnumDisplaySettingsW crashes with unicows.dll on Windows95 + * Doesn't really matter since we don't pass a string anyways, but still + * a letdown */ + for (i = 0; EnumDisplaySettingsA(NULL, i, &dm) != 0; i++) { if (dm.dmBitsPerPel == 8 && IS_INT_INSIDE(dm.dmPelsWidth, 640, MAX_SCREEN_WIDTH + 1) && IS_INT_INSIDE(dm.dmPelsHeight, 480, MAX_SCREEN_HEIGHT + 1)) { uint j; |