From ea965a4adf955d8a046959dd8c3c71f3d1ab3230 Mon Sep 17 00:00:00 2001 From: Darkvater Date: Tue, 28 Nov 2006 20:01:46 +0000 Subject: (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. --- openttd.vcproj | 9 ++++++--- 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"> + CharacterSet="1"> + + 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; -- cgit v1.2.3-54-g00ecf