Remove legacy corrupted state exceptions entirely

This commit is contained in:
goaaats 2025-03-28 00:51:59 +01:00
parent 9c80b72e5e
commit fb61d72fae
8 changed files with 1 additions and 20 deletions

View file

@ -124,7 +124,6 @@ void from_json(const nlohmann::json& json, DalamudStartInfo& config) {
config.BootVehEnabled = json.value("BootVehEnabled", config.BootVehEnabled);
config.BootVehFull = json.value("BootVehFull", config.BootVehFull);
config.BootEnableEtw = json.value("BootEnableEtw", config.BootEnableEtw);
config.BootDisableLegacyCorruptedStateExceptions = json.value("BootDisableLegacyCorruptedStateExceptions", config.BootDisableLegacyCorruptedStateExceptions);
config.BootDotnetOpenProcessHookMode = json.value("BootDotnetOpenProcessHookMode", config.BootDotnetOpenProcessHookMode);
if (const auto it = json.find("BootEnabledGameFixes"); it != json.end() && it->is_array()) {
config.BootEnabledGameFixes.clear();
@ -150,7 +149,6 @@ void DalamudStartInfo::from_envvars() {
BootVehEnabled = utils::get_env<bool>(L"DALAMUD_IS_VEH");
BootVehFull = utils::get_env<bool>(L"DALAMUD_IS_VEH_FULL");
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"));
for (const auto& item : utils::get_env_list<std::string>(L"DALAMUD_GAMEFIX_LIST"))
BootEnabledGameFixes.insert(unicode::convert<std::string>(item, &unicode::lower));

View file

@ -62,7 +62,6 @@ struct DalamudStartInfo {
bool BootVehEnabled = false;
bool BootVehFull = false;
bool BootEnableEtw = false;
bool BootDisableLegacyCorruptedStateExceptions = false;
DotNetOpenProcessHookMode BootDotnetOpenProcessHookMode = DotNetOpenProcessHookMode::ImportHooks;
std::set<std::string> BootEnabledGameFixes{};
std::set<std::string> BootUnhookDlls{};

View file

@ -117,7 +117,6 @@ HRESULT WINAPI InitializeImpl(LPVOID lpParam, HANDLE hMainThreadContinue) {
const auto result = InitializeClrAndGetEntryPoint(
g_hModule,
g_startInfo.BootEnableEtw,
false, // !g_startInfo.BootDisableLegacyCorruptedStateExceptions,
runtimeconfig_path,
module_path,
L"Dalamud.EntryPoint, Dalamud",

View file

@ -131,11 +131,6 @@ public record DalamudStartInfo
/// </summary>
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>
/// Gets or sets a value choosing the OpenProcess hookmode.
/// </summary>

View file

@ -27,7 +27,6 @@ int wmain(int argc, wchar_t** argv)
const auto result = InitializeClrAndGetEntryPoint(
GetModuleHandleW(nullptr),
false,
false,
runtimeconfig_path,
module_path,
L"Dalamud.Injector.EntryPoint, Dalamud.Injector",

View file

@ -466,7 +466,6 @@ namespace Dalamud.Injector
// Set boot defaults
startInfo.BootShowConsole = args.Contains("--console");
startInfo.BootEnableEtw = args.Contains("--etw");
startInfo.BootDisableLegacyCorruptedStateExceptions = args.Contains("--no-legacy-corrupted-state-exceptions");
startInfo.BootLogPath = GetLogPath(startInfo.LogPath, "dalamud.boot", startInfo.LogName);
startInfo.BootEnabledGameFixes = new()
{

View file

@ -46,7 +46,7 @@ static wchar_t* GetRuntimePath()
result = GetEnvironmentVariableW(L"DALAMUD_RUNTIME", &buffer[0], result);
return _wcsdup(buffer.c_str());
}
// Detect Windows first
result = SHGetKnownFolderPath(FOLDERID_RoamingAppData, KF_FLAG_DEFAULT, nullptr, &_appdata);
@ -89,7 +89,6 @@ static wchar_t* GetRuntimePath()
HRESULT InitializeClrAndGetEntryPoint(
void* calling_module,
bool enable_etw,
bool enable_legacy_corrupted_state_exception_policy,
std::wstring runtimeconfig_path,
std::wstring module_path,
std::wstring entrypoint_assembly_name,
@ -102,12 +101,6 @@ HRESULT InitializeClrAndGetEntryPoint(
int result;
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"DOTNET_ForceENC", L"1");

View file

@ -4,7 +4,6 @@ void ConsoleTeardown();
HRESULT InitializeClrAndGetEntryPoint(
void* calling_module,
bool enable_etw,
bool enable_legacy_corrupted_state_exception_policy,
std::wstring runtimeconfig_path,
std::wstring module_path,
std::wstring entrypoint_assembly_name,