add launcher info for most plugins, add launcher build date for plugins
(DivaMovie excluded to avoid conflicts when merging changes to that later)
This commit is contained in:
@@ -165,4 +165,12 @@ namespace PluginConfig
|
|||||||
PluginConfigOption* options;
|
PluginConfigOption* options;
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
// note: this is actually the build date of PluginConfigApi -- make sure this isn't cached for CI
|
||||||
|
extern "C" __declspec(dllexport) LPCWSTR GetBuildDate(void)
|
||||||
|
{
|
||||||
|
WCHAR utf16buf[128];
|
||||||
|
MultiByteToWideChar(CP_UTF8, 0, __DATE__, -1, utf16buf, 128);
|
||||||
|
return _wcsdup(utf16buf);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -311,6 +311,7 @@ struct PluginInfo {
|
|||||||
std::wstring filename;
|
std::wstring filename;
|
||||||
std::wstring name;
|
std::wstring name;
|
||||||
std::wstring description;
|
std::wstring description;
|
||||||
|
std::wstring builddate;
|
||||||
std::vector<ConfigOptionBase*> configopts;
|
std::vector<ConfigOptionBase*> configopts;
|
||||||
};
|
};
|
||||||
std::vector<PluginInfo> LoadPlugins()
|
std::vector<PluginInfo> LoadPlugins()
|
||||||
@@ -341,6 +342,7 @@ std::vector<PluginInfo> LoadPlugins()
|
|||||||
|
|
||||||
auto nameFunc = (LPCWSTR(*)())GetProcAddress(thisplugin.handle, "GetPluginName");
|
auto nameFunc = (LPCWSTR(*)())GetProcAddress(thisplugin.handle, "GetPluginName");
|
||||||
auto descFunc = (LPCWSTR(*)())GetProcAddress(thisplugin.handle, "GetPluginDescription");
|
auto descFunc = (LPCWSTR(*)())GetProcAddress(thisplugin.handle, "GetPluginDescription");
|
||||||
|
auto dateFunc = (LPCWSTR(*)())GetProcAddress(thisplugin.handle, "GetBuildDate");
|
||||||
auto optsFunc = (PluginConfig::PluginConfigArray(*)())GetProcAddress(thisplugin.handle, "GetPluginOptions");
|
auto optsFunc = (PluginConfig::PluginConfigArray(*)())GetProcAddress(thisplugin.handle, "GetPluginOptions");
|
||||||
|
|
||||||
if (nameFunc != NULL)
|
if (nameFunc != NULL)
|
||||||
@@ -353,6 +355,13 @@ std::vector<PluginInfo> LoadPlugins()
|
|||||||
else
|
else
|
||||||
thisplugin.description = (thisplugin.filename + L" Plugin").c_str();
|
thisplugin.description = (thisplugin.filename + L" Plugin").c_str();
|
||||||
|
|
||||||
|
if (dateFunc != NULL)
|
||||||
|
thisplugin.builddate = dateFunc();
|
||||||
|
else
|
||||||
|
thisplugin.builddate = L"Unknown";
|
||||||
|
|
||||||
|
thisplugin.description += L"\n\nVersion: " + thisplugin.builddate;
|
||||||
|
|
||||||
if (optsFunc != NULL)
|
if (optsFunc != NULL)
|
||||||
thisplugin.configopts = PluginConfig::GetConfigOptionVec(optsFunc());
|
thisplugin.configopts = PluginConfig::GetConfigOptionVec(optsFunc());
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
@@ -96,7 +96,7 @@
|
|||||||
<ConformanceMode>true</ConformanceMode>
|
<ConformanceMode>true</ConformanceMode>
|
||||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||||
<LanguageStandard>stdcpp17</LanguageStandard>
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||||
<AdditionalIncludeDirectories>..\..\..\dependencies\freeglut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\..\..\dependencies\PluginConfigApi;..\..\..\dependencies\freeglut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
<ConformanceMode>true</ConformanceMode>
|
<ConformanceMode>true</ConformanceMode>
|
||||||
<PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>
|
||||||
</PrecompiledHeaderFile>
|
</PrecompiledHeaderFile>
|
||||||
<AdditionalIncludeDirectories>..\..\..\dependencies\freeglut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\..\..\dependencies\PluginConfigApi;..\..\..\dependencies\freeglut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<LanguageStandard>stdcpp17</LanguageStandard>
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
#include <filesystem>
|
#include <filesystem>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
|
#include "PluginConfigApi.h"
|
||||||
|
|
||||||
void InjectCode(void* address, const std::vector<uint8_t> data);
|
void InjectCode(void* address, const std::vector<uint8_t> data);
|
||||||
void ApplyPatches();
|
void ApplyPatches();
|
||||||
@@ -322,3 +323,16 @@ void InjectCode(void* address, const std::vector<uint8_t> data)
|
|||||||
memcpy(address, data.data(), byteCount);
|
memcpy(address, data.data(), byteCount);
|
||||||
VirtualProtect(address, byteCount, oldProtect, nullptr);
|
VirtualProtect(address, byteCount, oldProtect, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
using namespace PluginConfig;
|
||||||
|
|
||||||
|
extern "C" __declspec(dllexport) LPCWSTR GetPluginName(void)
|
||||||
|
{
|
||||||
|
return L"Patches";
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" __declspec(dllexport) LPCWSTR GetPluginDescription(void)
|
||||||
|
{
|
||||||
|
return L"Applies patches/tweaks to the game before it starts.\nThis plugin is required.";
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
@@ -96,7 +96,7 @@
|
|||||||
<ConformanceMode>true</ConformanceMode>
|
<ConformanceMode>true</ConformanceMode>
|
||||||
<PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>
|
||||||
</PrecompiledHeaderFile>
|
</PrecompiledHeaderFile>
|
||||||
<AdditionalIncludeDirectories>..\..\..\dependencies\freeglut\include;..\..\..\dependencies\detours\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\..\..\dependencies\PluginConfigApi;..\..\..\dependencies\freeglut\include;..\..\..\dependencies\detours\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<LanguageStandard>stdcpp17</LanguageStandard>
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
@@ -135,7 +135,7 @@
|
|||||||
<PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>
|
||||||
</PrecompiledHeaderFile>
|
</PrecompiledHeaderFile>
|
||||||
<LanguageStandard>stdcpp17</LanguageStandard>
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||||
<AdditionalIncludeDirectories>..\..\..\dependencies\freeglut\include;..\..\..\dependencies\detours\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\..\..\dependencies\PluginConfigApi;..\..\..\dependencies\freeglut\include;..\..\..\dependencies\detours\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
|
|||||||
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
|
|
||||||
|
#include "PluginConfigApi.h"
|
||||||
|
|
||||||
using namespace std::chrono;
|
using namespace std::chrono;
|
||||||
|
|
||||||
int hookedCreateWindow(const char* title, void(__cdecl* exit_function)(int))
|
int hookedCreateWindow(const char* title, void(__cdecl* exit_function)(int))
|
||||||
@@ -238,3 +240,15 @@ BOOL APIENTRY DllMain(HMODULE hModule,
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
using namespace PluginConfig;
|
||||||
|
|
||||||
|
extern "C" __declspec(dllexport) LPCWSTR GetPluginName(void)
|
||||||
|
{
|
||||||
|
return L"Render";
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" __declspec(dllexport) LPCWSTR GetPluginDescription(void)
|
||||||
|
{
|
||||||
|
return L"Applies window mode/size and FPS limiting.";
|
||||||
|
}
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
<PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>
|
||||||
</PrecompiledHeaderFile>
|
</PrecompiledHeaderFile>
|
||||||
<LanguageStandard>stdcpp17</LanguageStandard>
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||||
<AdditionalIncludeDirectories>..\..\..\dependencies\detours\include;..\..\..\dependencies\freeglut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\..\..\dependencies\PluginConfigApi;..\..\..\dependencies\detours\include;..\..\..\dependencies\freeglut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
<PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>
|
||||||
</PrecompiledHeaderFile>
|
</PrecompiledHeaderFile>
|
||||||
<LanguageStandard>stdcpp17</LanguageStandard>
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||||
<AdditionalIncludeDirectories>..\..\..\dependencies\detours\include;..\..\..\dependencies\freeglut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\..\..\dependencies\PluginConfigApi;..\..\..\dependencies\detours\include;..\..\..\dependencies\freeglut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
@@ -225,6 +225,7 @@
|
|||||||
<ClInclude Include="Input\Mouse\MouseState.h" />
|
<ClInclude Include="Input\Mouse\MouseState.h" />
|
||||||
<ClInclude Include="Input\Xinput\Xinput.h" />
|
<ClInclude Include="Input\Xinput\Xinput.h" />
|
||||||
<ClInclude Include="Input\Xinput\XinputState.h" />
|
<ClInclude Include="Input\Xinput\XinputState.h" />
|
||||||
|
<ClInclude Include="pluginconfig.h" />
|
||||||
<ClInclude Include="Utilities\EnumBitwiseOperations.h" />
|
<ClInclude Include="Utilities\EnumBitwiseOperations.h" />
|
||||||
<ClInclude Include="Utilities\Math.h" />
|
<ClInclude Include="Utilities\Math.h" />
|
||||||
<ClInclude Include="Utilities\Operations.h" />
|
<ClInclude Include="Utilities\Operations.h" />
|
||||||
|
|||||||
@@ -195,6 +195,9 @@
|
|||||||
<ClInclude Include="Components\ScoreSaver.h">
|
<ClInclude Include="Components\ScoreSaver.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="pluginconfig.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="dllmain.cpp">
|
<ClCompile Include="dllmain.cpp">
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "Constants.h"
|
#include "Constants.h"
|
||||||
#include "framework.h"
|
#include "framework.h"
|
||||||
|
#include "pluginconfig.h"
|
||||||
#include "Input/Mouse/Mouse.h"
|
#include "Input/Mouse/Mouse.h"
|
||||||
#include "Input/Xinput/Xinput.h"
|
#include "Input/Xinput/Xinput.h"
|
||||||
#include "Input/Keyboard/Keyboard.h"
|
#include "Input/Keyboard/Keyboard.h"
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#include "PluginConfigApi.h"
|
||||||
|
|
||||||
|
using namespace PluginConfig;
|
||||||
|
|
||||||
|
extern "C" __declspec(dllexport) LPCWSTR GetPluginName(void)
|
||||||
|
{
|
||||||
|
return L"TLAC";
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" __declspec(dllexport) LPCWSTR GetPluginDescription(void)
|
||||||
|
{
|
||||||
|
return L"Provides keyboard/mouse/controller input, player data management, bug fixes for running on more PCs, etc.\nThis plugin is required.";
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user