From dcf89588e6dea8f9b2c7f03ce9b394d877b79e2a Mon Sep 17 00:00:00 2001 From: ConfiG <cgytrus@cgyt.ru> Date: Mon, 31 Jul 2023 19:18:58 +0300 Subject: [PATCH] link to xinput1_3 instead of xinput1_4 allows use in windows 7 without workarounds --- installer/windows/Language Files/EnglishExtra.nsh | 2 +- installer/windows/Language Files/FinnishExtra.nsh | 2 +- installer/windows/Language Files/RussianExtra.nsh | 2 +- installer/windows/installer.nsi | 2 +- loader/launcher/windows/proxyLoader.c | 12 +++++------- 5 files changed, 9 insertions(+), 11 deletions(-) diff --git a/installer/windows/Language Files/EnglishExtra.nsh b/installer/windows/Language Files/EnglishExtra.nsh index f2829cae..93f69e6d 100644 --- a/installer/windows/Language Files/EnglishExtra.nsh +++ b/installer/windows/Language Files/EnglishExtra.nsh @@ -9,7 +9,7 @@ ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Setup will guide you through the i ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Setup will guide you through the uninstallation of $(^NameDA).$\r$\n$\r$\nBefore starting the uninstallation, make sure Geometry Dash is not running.$\r$\n$\r$\n$_CLICK" !pragma warning default 6030 -${LangFileString} GEODE_TEXT_SYSTEM_XINPUT_MISSING " was not found. Geode is only compatible with Windows 8 and newer." +${LangFileString} GEODE_TEXT_SYSTEM_XINPUT_MISSING " was not found. Geode is only compatible with Windows 7 and newer." ${LangFileString} GEODE_TEXT_MH_ALREADY_INSTALLED "This path already has Mega Hack v6/v7 installed!$\r$\nGeode doesn't work with MHv6/v7 (MHv8 WILL be compatible with Geode).$\r$\nPlease, uninstall it before proceeding." ${LangFileString} GEODE_TEXT_MOD_LOADER_ALREADY_INSTALLED "This path already has another mod loader installed!$\r$\nGeode doesn't work with any other mod loader.$\r$\nPlease, uninstall it before proceeding." ${LangFileString} GEODE_TEXT_GD_MISSING "$\r$\n$\r$\nThis path does not have Geometry Dash installed!" diff --git a/installer/windows/Language Files/FinnishExtra.nsh b/installer/windows/Language Files/FinnishExtra.nsh index e6a9de1f..7d35c28f 100644 --- a/installer/windows/Language Files/FinnishExtra.nsh +++ b/installer/windows/Language Files/FinnishExtra.nsh @@ -5,7 +5,7 @@ ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Saat tarvittavia ohjeita sitä muk ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Saat tarvittavia ohjeita sitä mukaa kuin $(^NameDA) -ohjelman poisto edistyy.$\r$\n$\r$\nVarmistathan ennen poistamista, että Geometry Dash ei ole käynnissä.$\r$\n$\r$\n$_CLICK" !pragma warning default 6030 -${LangFileString} GEODE_TEXT_SYSTEM_XINPUT_MISSING " ei löytynyt asennettuna koneesta. Geode on yhteensopiva ainoastaan Windows 8 ja uudempien versioiden kanssa." +${LangFileString} GEODE_TEXT_SYSTEM_XINPUT_MISSING " ei löytynyt asennettuna koneesta. Geode on yhteensopiva ainoastaan Windows 7 ja uudempien versioiden kanssa." ${LangFileString} GEODE_TEXT_MH_ALREADY_INSTALLED "Valitussa kansiossa on jo Mega Hack v6/v7 asennettuna.$\r$\nGeode ei ole yhteensopiva MHv6/v7 kanssa (MHv8 on ensimmäinen yhteensopiva versio Geoden kanssa).$\r$\nPoistathan Mega Hackin ennen Geoden asentamista." ${LangFileString} GEODE_TEXT_MOD_LOADER_ALREADY_INSTALLED "Valitussa kansiossa on jo joitain modeja asennettuna.$\r$\nGeode ei ole yhteensopiva .DLL-muotoisten modien tai niiden lataajien kanssa.$\r$\nPoistathan .DLL-muotoiset modit ja niiden lataajat ennen Geoden asentamista." ${LangFileString} GEODE_TEXT_GD_MISSING "$\r$\n$\r$\nValitussa kansiossa ei ole Geometry Dash -peliä asennettuna." diff --git a/installer/windows/Language Files/RussianExtra.nsh b/installer/windows/Language Files/RussianExtra.nsh index 1e4658fe..6f6fa8d8 100644 --- a/installer/windows/Language Files/RussianExtra.nsh +++ b/installer/windows/Language Files/RussianExtra.nsh @@ -5,7 +5,7 @@ ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Эта программа уста ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Эта программа удалит $(^NameDA) из вашего компьютера.$\r$\n$\r$\nПеред началом удаления убедитесь, что Geometry Dash не запущен.$\r$\n$\r$\n$_CLICK" !pragma warning default 6030 -${LangFileString} GEODE_TEXT_SYSTEM_XINPUT_MISSING " не найден. Geode совместим только с Windows 8 и выше." +${LangFileString} GEODE_TEXT_SYSTEM_XINPUT_MISSING " не найден. Geode совместим только с Windows 7 и выше." ${LangFileString} GEODE_TEXT_MH_ALREADY_INSTALLED "По этому пути уже установлен Mega Hack v6/v7!$\r$\nGeode не работает с MHv6/v7 (MHv8 БУДЕТ совместим Geode).$\r$\nПожалуйста, удалите его перед продолжением." ${LangFileString} GEODE_TEXT_MOD_LOADER_ALREADY_INSTALLED "По этому пути уже установлен другой загрузчик модов!$\r$\nGeode не работает с другими загрузчиками модов.$\r$\nПожалуйста, удалите его перед продолжением." ${LangFileString} GEODE_TEXT_GD_MISSING "$\r$\n$\r$\nПо этому пути не установлен Geometry Dash!" diff --git a/installer/windows/installer.nsi b/installer/windows/installer.nsi index b5446770..96b4a34b 100644 --- a/installer/windows/installer.nsi +++ b/installer/windows/installer.nsi @@ -251,7 +251,7 @@ FunctionEnd Function .onInit !insertmacro MUI_LANGDLL_DISPLAY - StrCpy $0 "$WINDIR\System32\XInput1_4.dll" + StrCpy $0 "$WINDIR\System32\xinput1_3.dll" IfFileExists $0 findGamePath 0 MessageBox MB_ICONSTOP|MB_OK "$0$(GEODE_TEXT_SYSTEM_XINPUT_MISSING)" Abort diff --git a/loader/launcher/windows/proxyLoader.c b/loader/launcher/windows/proxyLoader.c index d6d9d95f..9fa605af 100644 --- a/loader/launcher/windows/proxyLoader.c +++ b/loader/launcher/windows/proxyLoader.c @@ -1,14 +1,12 @@ #include <Windows.h> #include <stdio.h> -#pragma comment(linker, "/export:XInputGetState=xinput1_4.XInputGetState") -#pragma comment(linker, "/export:XInputSetState=xinput1_4.XInputSetState") -#pragma comment(linker, "/export:XInputGetCapabilities=xinput1_4.XInputGetCapabilities") +#pragma comment(linker, "/export:XInputGetState=xinput1_3.XInputGetState") +#pragma comment(linker, "/export:XInputSetState=xinput1_3.XInputSetState") +#pragma comment(linker, "/export:XInputGetCapabilities=xinput1_3.XInputGetCapabilities") +#pragma comment(linker, "/export:XInputGetDSoundAudioDeviceGuids=xinput1_3.XInputGetDSoundAudioDeviceGuids") __declspec(dllimport) void fake(); -DWORD XInputGetDSoundAudioDeviceGuids(DWORD user, GUID* render, GUID* capture) { +void impasta() { fake(); - return ERROR_BAD_ARGUMENTS; } - -#pragma comment(linker, "/export:XInputGetDSoundAudioDeviceGuids=_XInputGetDSoundAudioDeviceGuids")