diff --git a/source-code/data/plugins/config.ini b/source-code/data/plugins/config.ini index 9242523..8ce9e90 100644 --- a/source-code/data/plugins/config.ini +++ b/source-code/data/plugins/config.ini @@ -21,6 +21,8 @@ Command_Line= [Patches] #Enable or disable mouse cursor Cursor=1 +#Use 2 channels instead of 4 (when not using DivaSound) +Stereo=1 #Hide "CREDIT(S)"/"FREE PLAY" Hide_Freeplay=0 #Show "FREE PLAY" instead of "CREDIT(S)" diff --git a/source-code/source/plugins/Launcher/framework.h b/source-code/source/plugins/Launcher/framework.h index 6d5dc2b..d18ba3e 100644 --- a/source-code/source/plugins/Launcher/framework.h +++ b/source-code/source/plugins/Launcher/framework.h @@ -164,6 +164,7 @@ ConfigOptionBase* optionsArray[] = { new OptionMetaSpacer(8), new BooleanOption(L"cursor", PATCHES_SECTION, CONFIG_FILE, L"Cursor", L"Enable or disable the mouse cursor.", true, false), + new BooleanOption(L"stereo", PATCHES_SECTION, CONFIG_FILE, L"Stereo", L"Use 2 channels instead of 4 (when not using DivaSound).", true, false), new BooleanOption(L"hide_volume", PATCHES_SECTION, CONFIG_FILE, L"Hide Volume Buttons", L"Hide the volume and SE control buttons.", false, false), new BooleanOption(L"no_pv_ui", PATCHES_SECTION, CONFIG_FILE, L"Disable PV UI", L"Remove the photo controls during PV playback.", false, false), new BooleanOption(L"hide_pv_watermark", PATCHES_SECTION, CONFIG_FILE, L"Hide PV Watermark", L"Hide the watermark that's usually shown in PV viewing mode.", false, false), diff --git a/source-code/source/plugins/Launcher/ui.h b/source-code/source/plugins/Launcher/ui.h index bc1e3e3..2731af2 100644 --- a/source-code/source/plugins/Launcher/ui.h +++ b/source-code/source/plugins/Launcher/ui.h @@ -382,7 +382,6 @@ namespace Launcher { // // tabControl // - this->tabControl->Appearance = System::Windows::Forms::TabAppearance::FlatButtons; this->tabControl->Controls->Add(this->tabPage_Resolution); this->tabControl->Controls->Add(this->tabPage_Patches); this->tabControl->Controls->Add(this->tabPage_Playerdata); @@ -402,10 +401,10 @@ namespace Launcher { this->tabPage_Resolution->Controls->Add(this->labelGPU); this->tabPage_Resolution->Controls->Add(this->groupBox_InternalRes); this->tabPage_Resolution->Controls->Add(this->groupBox_ScreenRes); - this->tabPage_Resolution->Location = System::Drawing::Point(4, 25); + this->tabPage_Resolution->Location = System::Drawing::Point(4, 22); this->tabPage_Resolution->Name = L"tabPage_Resolution"; - this->tabPage_Resolution->Padding = System::Windows::Forms::Padding(3, 3, 3, 3); - this->tabPage_Resolution->Size = System::Drawing::Size(286, 281); + this->tabPage_Resolution->Padding = System::Windows::Forms::Padding(3); + this->tabPage_Resolution->Size = System::Drawing::Size(286, 284); this->tabPage_Resolution->TabIndex = 0; this->tabPage_Resolution->Text = L"Resolution"; // @@ -447,9 +446,9 @@ namespace Launcher { this->tabPage_Patches->BackColor = System::Drawing::Color::FromArgb(static_cast(static_cast(64)), static_cast(static_cast(64)), static_cast(static_cast(64))); this->tabPage_Patches->Controls->Add(this->panel_Patches); - this->tabPage_Patches->Location = System::Drawing::Point(4, 25); + this->tabPage_Patches->Location = System::Drawing::Point(4, 22); this->tabPage_Patches->Name = L"tabPage_Patches"; - this->tabPage_Patches->Size = System::Drawing::Size(286, 281); + this->tabPage_Patches->Size = System::Drawing::Size(286, 284); this->tabPage_Patches->TabIndex = 1; this->tabPage_Patches->Text = L"Options"; // @@ -466,9 +465,9 @@ namespace Launcher { this->tabPage_Playerdata->BackColor = System::Drawing::Color::FromArgb(static_cast(static_cast(64)), static_cast(static_cast(64)), static_cast(static_cast(64))); this->tabPage_Playerdata->Controls->Add(this->panel_Playerdata); - this->tabPage_Playerdata->Location = System::Drawing::Point(4, 25); + this->tabPage_Playerdata->Location = System::Drawing::Point(4, 22); this->tabPage_Playerdata->Name = L"tabPage_Playerdata"; - this->tabPage_Playerdata->Size = System::Drawing::Size(286, 281); + this->tabPage_Playerdata->Size = System::Drawing::Size(286, 284); this->tabPage_Playerdata->TabIndex = 3; this->tabPage_Playerdata->Text = L"Player"; // @@ -485,10 +484,10 @@ namespace Launcher { this->tabPage_Components->BackColor = System::Drawing::Color::FromArgb(static_cast(static_cast(64)), static_cast(static_cast(64)), static_cast(static_cast(64))); this->tabPage_Components->Controls->Add(this->panel_Components); - this->tabPage_Components->Location = System::Drawing::Point(4, 25); + this->tabPage_Components->Location = System::Drawing::Point(4, 22); this->tabPage_Components->Name = L"tabPage_Components"; - this->tabPage_Components->Padding = System::Windows::Forms::Padding(3, 3, 3, 3); - this->tabPage_Components->Size = System::Drawing::Size(286, 281); + this->tabPage_Components->Padding = System::Windows::Forms::Padding(3); + this->tabPage_Components->Size = System::Drawing::Size(286, 284); this->tabPage_Components->TabIndex = 2; this->tabPage_Components->Text = L"Components"; // @@ -505,10 +504,10 @@ namespace Launcher { this->tabPage_Plugins->BackColor = System::Drawing::Color::FromArgb(static_cast(static_cast(64)), static_cast(static_cast(64)), static_cast(static_cast(64))); this->tabPage_Plugins->Controls->Add(this->panel_Plugins); - this->tabPage_Plugins->Location = System::Drawing::Point(4, 25); + this->tabPage_Plugins->Location = System::Drawing::Point(4, 22); this->tabPage_Plugins->Name = L"tabPage_Plugins"; - this->tabPage_Plugins->Padding = System::Windows::Forms::Padding(3, 3, 3, 3); - this->tabPage_Plugins->Size = System::Drawing::Size(286, 281); + this->tabPage_Plugins->Padding = System::Windows::Forms::Padding(3); + this->tabPage_Plugins->Size = System::Drawing::Size(286, 284); this->tabPage_Plugins->TabIndex = 3; this->tabPage_Plugins->Text = L"Plugins"; // diff --git a/source-code/source/plugins/Patches/dllmain.cpp b/source-code/source/plugins/Patches/dllmain.cpp index ecb5c1b..c94c06c 100644 --- a/source-code/source/plugins/Patches/dllmain.cpp +++ b/source-code/source/plugins/Patches/dllmain.cpp @@ -22,14 +22,14 @@ void hookedTAA(DWORD *a1, int a2) a1[3] = 0; //a1[3] = a2; a1[348] = -1082130432; a1[950] = 1; - std::cout << "[Patches] TAA disabled!" << std::endl; + std::cout << "[Patches] TAA disabled" << std::endl; } void hookedMLAA(__int64 a1, int a2) { *(DWORD*)(a1 + 16) = 0; //*(DWORD*)(a1 + 16) = a2; *(DWORD*)(a1 + 3800) = 1; - std::cout << "[Patches] MLAA disabled!" << std::endl; + std::cout << "[Patches] MLAA disabled" << std::endl; } const LPCWSTR CONFIG_FILE = L".\\config.ini"; @@ -170,6 +170,15 @@ void ApplyPatches() { auto nOGLPatchB = GetPrivateProfileIntW(L"patches", L"opengl_patch_b", FALSE, CONFIG_FILE); auto nTAA = GetPrivateProfileIntW(L"graphics", L"taa", TRUE, CONFIG_FILE); auto nMLAA = GetPrivateProfileIntW(L"graphics", L"mlaa", TRUE, CONFIG_FILE); + auto nStereo = GetPrivateProfileIntW(L"patches", L"stereo", TRUE, CONFIG_FILE); + + // The old stereo patch... + // Use 2 channels instead of 4 + if (nStereo) + { + InjectCode((void*)0x0000000140A860C0, { 0x02 }); + printf("[Patches] Stereo patch enabled\n"); + } // Disable AA if (!(nTAA && nMLAA)) @@ -181,14 +190,14 @@ void ApplyPatches() { { std::cout << "[Patches] Hooking TAA..." << std::endl; DetourAttach(&(PVOID&)originalTAA, (PVOID)hookedTAA); - std::cout << "[Patches] TAA hooked!" << std::endl; + std::cout << "[Patches] TAA hooked" << std::endl; hookedTAA((DWORD*)0x1411AB670, 0); } if (!nMLAA) { std::cout << "[Patches] Hooking MLAA..." << std::endl; DetourAttach(&(PVOID&)originalMLAA, (PVOID)hookedMLAA); - std::cout << "[Patches] MLAA hooked!" << std::endl; + std::cout << "[Patches] MLAA hooked" << std::endl; hookedMLAA(5387236976, 0); // make constructor/init not set MLAA