1
0
Fork 0

(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.
release/0.5
Darkvater 2006-11-28 20:01:46 +00:00
parent d8d210056d
commit dcbbda0cb9
2 changed files with 11 additions and 5 deletions

View File

@ -17,7 +17,7 @@
ConfigurationType="1" ConfigurationType="1"
UseOfMFC="0" UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE" ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="2" CharacterSet="1"
WholeProgramOptimization="TRUE"> WholeProgramOptimization="TRUE">
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
@ -97,7 +97,7 @@
ConfigurationType="1" ConfigurationType="1"
UseOfMFC="0" UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE" ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="2"> CharacterSet="1">
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
@ -121,7 +121,7 @@
Name="VCCustomBuildTool"/> Name="VCCustomBuildTool"/>
<Tool <Tool
Name="VCLinkerTool" 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" OutputFile=".\Debug/openttd.exe"
LinkIncremental="0" LinkIncremental="0"
SuppressStartupBanner="TRUE" SuppressStartupBanner="TRUE"
@ -673,6 +673,9 @@
<File <File
RelativePath=".\waypoint.h"> RelativePath=".\waypoint.h">
</File> </File>
<File
RelativePath=".\win32.h">
</File>
<File <File
RelativePath=".\music\win32_m.h"> RelativePath=".\music\win32_m.h">
</File> </File>

View File

@ -668,9 +668,12 @@ static void FindResolutions(void)
{ {
uint n = 0; uint n = 0;
uint i; 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) && if (dm.dmBitsPerPel == 8 && IS_INT_INSIDE(dm.dmPelsWidth, 640, MAX_SCREEN_WIDTH + 1) &&
IS_INT_INSIDE(dm.dmPelsHeight, 480, MAX_SCREEN_HEIGHT + 1)) { IS_INT_INSIDE(dm.dmPelsHeight, 480, MAX_SCREEN_HEIGHT + 1)) {
uint j; uint j;