1773 char *path = str_buffr; |
1773 char *path = str_buffr; |
1774 FiosMakeSavegameName(path, name); |
1774 FiosMakeSavegameName(path, name); |
1775 DeleteFile(path); |
1775 DeleteFile(path); |
1776 } |
1776 } |
1777 |
1777 |
|
1778 #define Windows_2000 5 |
|
1779 #define Windows_NT3_51 4 |
|
1780 |
|
1781 /* flags show the minimum required OS to use a given feature. Currently |
|
1782 only dwMajorVersion is used |
|
1783 MajorVersion MinorVersion |
|
1784 Windows Server 2003 5 2 |
|
1785 Windows XP 5 1 |
|
1786 Windows 2000 5 0 |
|
1787 Windows NT 4.0 4 0 |
|
1788 Windows Me 4 90 |
|
1789 Windows 98 4 10 |
|
1790 Windows 95 4 0 |
|
1791 Windows NT 3.51 3 51 |
|
1792 */ |
|
1793 |
1778 const DriverDesc _video_driver_descs[] = { |
1794 const DriverDesc _video_driver_descs[] = { |
1779 {"null", "Null Video Driver", &_null_video_driver, 0}, |
1795 {"null", "Null Video Driver", &_null_video_driver, 0}, |
1780 #if defined(WITH_SDL) |
1796 #if defined(WITH_SDL) |
1781 {"sdl", "SDL Video Driver", &_sdl_video_driver, 1}, |
1797 {"sdl", "SDL Video Driver", &_sdl_video_driver, 1}, |
1782 #endif |
1798 #endif |
1783 {"win32", "Win32 GDI Video Driver", &_win32_video_driver, 2}, |
1799 {"win32", "Win32 GDI Video Driver", &_win32_video_driver, Windows_NT3_51}, |
1784 {NULL} |
1800 {NULL} |
1785 }; |
1801 }; |
1786 |
1802 |
1787 const DriverDesc _sound_driver_descs[] = { |
1803 const DriverDesc _sound_driver_descs[] = { |
1788 {"null", "Null Sound Driver", &_null_sound_driver, 0}, |
1804 {"null", "Null Sound Driver", &_null_sound_driver, 0}, |
1789 #if defined(WITH_SDL) |
1805 #if defined(WITH_SDL) |
1790 {"sdl", "SDL Sound Driver", &_sdl_sound_driver, 1}, |
1806 {"sdl", "SDL Sound Driver", &_sdl_sound_driver, 1}, |
1791 #endif |
1807 #endif |
1792 {"win32", "Win32 WaveOut Driver", &_win32_sound_driver, 2}, |
1808 {"win32", "Win32 WaveOut Driver", &_win32_sound_driver, Windows_NT3_51}, |
1793 {NULL} |
1809 {NULL} |
1794 }; |
1810 }; |
1795 |
1811 |
1796 const DriverDesc _music_driver_descs[] = { |
1812 const DriverDesc _music_driver_descs[] = { |
1797 {"null", "Null Music Driver", &_null_music_driver, 0}, |
1813 {"null", "Null Music Driver", &_null_music_driver, 0}, |
1798 #ifdef WIN32_ENABLE_DIRECTMUSIC_SUPPORT |
1814 #ifdef WIN32_ENABLE_DIRECTMUSIC_SUPPORT |
1799 {"dmusic", "DirectMusic MIDI Driver", &_dmusic_midi_driver, 1}, |
1815 {"dmusic", "DirectMusic MIDI Driver", &_dmusic_midi_driver, Windows_2000}, |
1800 #endif |
1816 #endif |
1801 {"win32", "Win32 MIDI Driver", &_win32_music_driver, 2}, |
1817 // Win32 MIDI driver has higher priority then DMusic, so this one is chosen |
|
1818 {"win32", "Win32 MIDI Driver", &_win32_music_driver, Windows_NT3_51}, |
1802 {NULL} |
1819 {NULL} |
1803 }; |
1820 }; |
|
1821 |
|
1822 byte GetOSVersion() |
|
1823 { |
|
1824 OSVERSIONINFO osvi; |
|
1825 |
|
1826 ZeroMemory(&osvi, sizeof(OSVERSIONINFO)); |
|
1827 osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); |
|
1828 |
|
1829 if (GetVersionEx(&osvi)) { |
|
1830 DEBUG(misc, 2) ("Windows Version is %d", osvi.dwMajorVersion); |
|
1831 return (byte)osvi.dwMajorVersion; |
|
1832 } |
|
1833 |
|
1834 // 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"); |
|
1836 return Windows_NT3_51; |
|
1837 } |
1804 |
1838 |
1805 bool FileExists(const char *filename) |
1839 bool FileExists(const char *filename) |
1806 { |
1840 { |
1807 HANDLE hand = CreateFile(filename, 0, 0, NULL, OPEN_EXISTING, 0, NULL); |
1841 HANDLE hand = CreateFile(filename, 0, 0, NULL, OPEN_EXISTING, 0, NULL); |
1808 if (hand == INVALID_HANDLE_VALUE) return false; |
1842 if (hand == INVALID_HANDLE_VALUE) return false; |