(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.
--- a/openttd.vcproj Tue Nov 28 19:58:13 2006 +0000
+++ b/openttd.vcproj Tue Nov 28 20:01:46 2006 +0000
@@ -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
--- a/video/win32_v.c Tue Nov 28 19:58:13 2006 +0000
+++ b/video/win32_v.c Tue Nov 28 20:01:46 2006 +0000
@@ -668,9 +668,12 @@
{
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;