win32.c
changeset 287 121d79bcd34c
parent 223 0e5cc5a65df6
child 298 0123c0489940
equal deleted inserted replaced
286:b22e852634e4 287:121d79bcd34c
   485 		y = (GetSystemMetrics(SM_CYSCREEN)-h)>>1;
   485 		y = (GetSystemMetrics(SM_CYSCREEN)-h)>>1;
   486 
   486 
   487 		if (_wnd.main_wnd) {
   487 		if (_wnd.main_wnd) {
   488 			SetWindowPos(_wnd.main_wnd, 0, x, y, w, h, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOZORDER);
   488 			SetWindowPos(_wnd.main_wnd, 0, x, y, w, h, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOZORDER);
   489 		} else {
   489 		} else {
   490 			_wnd.main_wnd = CreateWindow("TTD", "OpenTTD", style, x, y, w, h, 0, 0, _inst, 0);
   490 			char Windowtitle[50] = "OpenTTD ";
       
   491 			#ifdef WITH_REV_HACK
       
   492 				// also show revision number/release in window title
       
   493 				extern const char _openttd_revision[];
       
   494 				strncat(Windowtitle, _openttd_revision, sizeof(Windowtitle)-(strlen(Windowtitle) + 1));
       
   495 			#endif
       
   496 			_wnd.main_wnd = CreateWindow("TTD", Windowtitle, style, x, y, w, h, 0, 0, _inst, 0);
   491 			if (_wnd.main_wnd == NULL)
   497 			if (_wnd.main_wnd == NULL)
   492 				error("CreateWindow failed");
   498 				error("CreateWindow failed");
   493 		}
   499 		}
   494 	}
   500 	}
   495 }
   501 }
  1777 
  1783 
  1778 #define Windows_2000		5
  1784 #define Windows_2000		5
  1779 #define Windows_NT3_51	4
  1785 #define Windows_NT3_51	4
  1780 
  1786 
  1781 /* flags show the minimum required OS to use a given feature. Currently
  1787 /* flags show the minimum required OS to use a given feature. Currently
  1782 	 only dwMajorVersion is used
  1788 	 only dwMajorVersion and dwMinorVersion (WindowsME) are used
  1783 														MajorVersion	MinorVersion
  1789 														MajorVersion	MinorVersion
  1784 		Windows Server 2003					5							 2
  1790 		Windows Server 2003					5							 2				dmusic
  1785 		Windows XP									5							 1
  1791 		Windows XP									5							 1				dmusic
  1786 		Windows 2000								5							 0
  1792 		Windows 2000								5							 0				dmusic
  1787 		Windows NT 4.0							4							 0
  1793 		Windows NT 4.0							4							 0				win32
  1788 		Windows Me									4							90
  1794 		Windows Me									4							90				dmusic
  1789 		Windows 98									4							10
  1795 		Windows 98									4							10				win32
  1790 		Windows 95									4							 0
  1796 		Windows 95									4							 0				win32
  1791 		Windows NT 3.51							3							51
  1797 		Windows NT 3.51							3							51				?????
  1792 */
  1798 */
  1793 
  1799 
  1794 const DriverDesc _video_driver_descs[] = {
  1800 const DriverDesc _video_driver_descs[] = {
  1795 	{"null", "Null Video Driver",				&_null_video_driver,		0},
  1801 	{"null", "Null Video Driver",				&_null_video_driver,		0},
  1796 #if defined(WITH_SDL)
  1802 #if defined(WITH_SDL)
  1825 
  1831 
  1826 	ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
  1832 	ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
  1827 	osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
  1833 	osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
  1828 
  1834 
  1829 	if (GetVersionEx(&osvi)) {
  1835 	if (GetVersionEx(&osvi)) {
  1830 		DEBUG(misc, 2) ("Windows Version is %d", osvi.dwMajorVersion);
  1836 		DEBUG(misc, 2) ("Windows Version is %d.%d", osvi.dwMajorVersion, osvi.dwMinorVersion);
  1831 		return (byte)osvi.dwMajorVersion;
  1837 		// WinME needs directmusic too (dmusic, Windows_2000 mode), all others default to OK
       
  1838 		if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 90) { return Windows_2000;} // WinME
       
  1839 
       
  1840 		return osvi.dwMajorVersion;
  1832 	}
  1841 	}
  1833 
  1842 
  1834 	// GetVersionEx failed, but we can safely assume at least Win95/WinNT3.51 is used
  1843 	// GetVersionEx failed, but we can safely assume at least Win95/WinNT3.51 is used
  1835 	DEBUG(misc, 0) ("Windows version retrieval failed, defaulting to level 4");
  1844 	DEBUG(misc, 0) ("Windows version retrieval failed, defaulting to level 4");
  1836 	return Windows_NT3_51;
  1845 	return Windows_NT3_51;