mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 10:17:22 +01:00
Remove legacy corrupted state exceptions entirely
This commit is contained in:
parent
9c80b72e5e
commit
fb61d72fae
8 changed files with 1 additions and 20 deletions
|
|
@ -124,7 +124,6 @@ void from_json(const nlohmann::json& json, DalamudStartInfo& config) {
|
||||||
config.BootVehEnabled = json.value("BootVehEnabled", config.BootVehEnabled);
|
config.BootVehEnabled = json.value("BootVehEnabled", config.BootVehEnabled);
|
||||||
config.BootVehFull = json.value("BootVehFull", config.BootVehFull);
|
config.BootVehFull = json.value("BootVehFull", config.BootVehFull);
|
||||||
config.BootEnableEtw = json.value("BootEnableEtw", config.BootEnableEtw);
|
config.BootEnableEtw = json.value("BootEnableEtw", config.BootEnableEtw);
|
||||||
config.BootDisableLegacyCorruptedStateExceptions = json.value("BootDisableLegacyCorruptedStateExceptions", config.BootDisableLegacyCorruptedStateExceptions);
|
|
||||||
config.BootDotnetOpenProcessHookMode = json.value("BootDotnetOpenProcessHookMode", config.BootDotnetOpenProcessHookMode);
|
config.BootDotnetOpenProcessHookMode = json.value("BootDotnetOpenProcessHookMode", config.BootDotnetOpenProcessHookMode);
|
||||||
if (const auto it = json.find("BootEnabledGameFixes"); it != json.end() && it->is_array()) {
|
if (const auto it = json.find("BootEnabledGameFixes"); it != json.end() && it->is_array()) {
|
||||||
config.BootEnabledGameFixes.clear();
|
config.BootEnabledGameFixes.clear();
|
||||||
|
|
@ -150,7 +149,6 @@ void DalamudStartInfo::from_envvars() {
|
||||||
BootVehEnabled = utils::get_env<bool>(L"DALAMUD_IS_VEH");
|
BootVehEnabled = utils::get_env<bool>(L"DALAMUD_IS_VEH");
|
||||||
BootVehFull = utils::get_env<bool>(L"DALAMUD_IS_VEH_FULL");
|
BootVehFull = utils::get_env<bool>(L"DALAMUD_IS_VEH_FULL");
|
||||||
BootEnableEtw = utils::get_env<bool>(L"DALAMUD_ENABLE_ETW");
|
BootEnableEtw = utils::get_env<bool>(L"DALAMUD_ENABLE_ETW");
|
||||||
BootDisableLegacyCorruptedStateExceptions = utils::get_env<bool>(L"DALAMUD_DISABLE_LEGACY_CORRUPTED_STATE_EXCEPTIONS");
|
|
||||||
BootDotnetOpenProcessHookMode = static_cast<DotNetOpenProcessHookMode>(utils::get_env<int>(L"DALAMUD_DOTNET_OPENPROCESS_HOOKMODE"));
|
BootDotnetOpenProcessHookMode = static_cast<DotNetOpenProcessHookMode>(utils::get_env<int>(L"DALAMUD_DOTNET_OPENPROCESS_HOOKMODE"));
|
||||||
for (const auto& item : utils::get_env_list<std::string>(L"DALAMUD_GAMEFIX_LIST"))
|
for (const auto& item : utils::get_env_list<std::string>(L"DALAMUD_GAMEFIX_LIST"))
|
||||||
BootEnabledGameFixes.insert(unicode::convert<std::string>(item, &unicode::lower));
|
BootEnabledGameFixes.insert(unicode::convert<std::string>(item, &unicode::lower));
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,6 @@ struct DalamudStartInfo {
|
||||||
bool BootVehEnabled = false;
|
bool BootVehEnabled = false;
|
||||||
bool BootVehFull = false;
|
bool BootVehFull = false;
|
||||||
bool BootEnableEtw = false;
|
bool BootEnableEtw = false;
|
||||||
bool BootDisableLegacyCorruptedStateExceptions = false;
|
|
||||||
DotNetOpenProcessHookMode BootDotnetOpenProcessHookMode = DotNetOpenProcessHookMode::ImportHooks;
|
DotNetOpenProcessHookMode BootDotnetOpenProcessHookMode = DotNetOpenProcessHookMode::ImportHooks;
|
||||||
std::set<std::string> BootEnabledGameFixes{};
|
std::set<std::string> BootEnabledGameFixes{};
|
||||||
std::set<std::string> BootUnhookDlls{};
|
std::set<std::string> BootUnhookDlls{};
|
||||||
|
|
|
||||||
|
|
@ -117,7 +117,6 @@ HRESULT WINAPI InitializeImpl(LPVOID lpParam, HANDLE hMainThreadContinue) {
|
||||||
const auto result = InitializeClrAndGetEntryPoint(
|
const auto result = InitializeClrAndGetEntryPoint(
|
||||||
g_hModule,
|
g_hModule,
|
||||||
g_startInfo.BootEnableEtw,
|
g_startInfo.BootEnableEtw,
|
||||||
false, // !g_startInfo.BootDisableLegacyCorruptedStateExceptions,
|
|
||||||
runtimeconfig_path,
|
runtimeconfig_path,
|
||||||
module_path,
|
module_path,
|
||||||
L"Dalamud.EntryPoint, Dalamud",
|
L"Dalamud.EntryPoint, Dalamud",
|
||||||
|
|
|
||||||
|
|
@ -131,11 +131,6 @@ public record DalamudStartInfo
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool BootEnableEtw { get; set; }
|
public bool BootEnableEtw { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets a value indicating whether to enable legacy corrupted state exceptions.
|
|
||||||
/// </summary>
|
|
||||||
public bool BootDisableLegacyCorruptedStateExceptions { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets a value choosing the OpenProcess hookmode.
|
/// Gets or sets a value choosing the OpenProcess hookmode.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@ int wmain(int argc, wchar_t** argv)
|
||||||
const auto result = InitializeClrAndGetEntryPoint(
|
const auto result = InitializeClrAndGetEntryPoint(
|
||||||
GetModuleHandleW(nullptr),
|
GetModuleHandleW(nullptr),
|
||||||
false,
|
false,
|
||||||
false,
|
|
||||||
runtimeconfig_path,
|
runtimeconfig_path,
|
||||||
module_path,
|
module_path,
|
||||||
L"Dalamud.Injector.EntryPoint, Dalamud.Injector",
|
L"Dalamud.Injector.EntryPoint, Dalamud.Injector",
|
||||||
|
|
|
||||||
|
|
@ -466,7 +466,6 @@ namespace Dalamud.Injector
|
||||||
// Set boot defaults
|
// Set boot defaults
|
||||||
startInfo.BootShowConsole = args.Contains("--console");
|
startInfo.BootShowConsole = args.Contains("--console");
|
||||||
startInfo.BootEnableEtw = args.Contains("--etw");
|
startInfo.BootEnableEtw = args.Contains("--etw");
|
||||||
startInfo.BootDisableLegacyCorruptedStateExceptions = args.Contains("--no-legacy-corrupted-state-exceptions");
|
|
||||||
startInfo.BootLogPath = GetLogPath(startInfo.LogPath, "dalamud.boot", startInfo.LogName);
|
startInfo.BootLogPath = GetLogPath(startInfo.LogPath, "dalamud.boot", startInfo.LogName);
|
||||||
startInfo.BootEnabledGameFixes = new()
|
startInfo.BootEnabledGameFixes = new()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ static wchar_t* GetRuntimePath()
|
||||||
result = GetEnvironmentVariableW(L"DALAMUD_RUNTIME", &buffer[0], result);
|
result = GetEnvironmentVariableW(L"DALAMUD_RUNTIME", &buffer[0], result);
|
||||||
return _wcsdup(buffer.c_str());
|
return _wcsdup(buffer.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Detect Windows first
|
// Detect Windows first
|
||||||
result = SHGetKnownFolderPath(FOLDERID_RoamingAppData, KF_FLAG_DEFAULT, nullptr, &_appdata);
|
result = SHGetKnownFolderPath(FOLDERID_RoamingAppData, KF_FLAG_DEFAULT, nullptr, &_appdata);
|
||||||
|
|
||||||
|
|
@ -89,7 +89,6 @@ static wchar_t* GetRuntimePath()
|
||||||
HRESULT InitializeClrAndGetEntryPoint(
|
HRESULT InitializeClrAndGetEntryPoint(
|
||||||
void* calling_module,
|
void* calling_module,
|
||||||
bool enable_etw,
|
bool enable_etw,
|
||||||
bool enable_legacy_corrupted_state_exception_policy,
|
|
||||||
std::wstring runtimeconfig_path,
|
std::wstring runtimeconfig_path,
|
||||||
std::wstring module_path,
|
std::wstring module_path,
|
||||||
std::wstring entrypoint_assembly_name,
|
std::wstring entrypoint_assembly_name,
|
||||||
|
|
@ -102,12 +101,6 @@ HRESULT InitializeClrAndGetEntryPoint(
|
||||||
int result;
|
int result;
|
||||||
SetEnvironmentVariable(L"DOTNET_MULTILEVEL_LOOKUP", L"0");
|
SetEnvironmentVariable(L"DOTNET_MULTILEVEL_LOOKUP", L"0");
|
||||||
|
|
||||||
if (enable_legacy_corrupted_state_exception_policy)
|
|
||||||
{
|
|
||||||
SetEnvironmentVariable(L"COMPlus_legacyCorruptedStateExceptionsPolicy", L"1");
|
|
||||||
SetEnvironmentVariable(L"DOTNET_legacyCorruptedStateExceptionsPolicy", L"1");
|
|
||||||
}
|
|
||||||
|
|
||||||
SetEnvironmentVariable(L"COMPLUS_ForceENC", L"1");
|
SetEnvironmentVariable(L"COMPLUS_ForceENC", L"1");
|
||||||
SetEnvironmentVariable(L"DOTNET_ForceENC", L"1");
|
SetEnvironmentVariable(L"DOTNET_ForceENC", L"1");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ void ConsoleTeardown();
|
||||||
HRESULT InitializeClrAndGetEntryPoint(
|
HRESULT InitializeClrAndGetEntryPoint(
|
||||||
void* calling_module,
|
void* calling_module,
|
||||||
bool enable_etw,
|
bool enable_etw,
|
||||||
bool enable_legacy_corrupted_state_exception_policy,
|
|
||||||
std::wstring runtimeconfig_path,
|
std::wstring runtimeconfig_path,
|
||||||
std::wstring module_path,
|
std::wstring module_path,
|
||||||
std::wstring entrypoint_assembly_name,
|
std::wstring entrypoint_assembly_name,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue