mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 10:17:22 +01:00
* add LoadMethod to DalamudStartInfo * add to_wstring utility function * append full injector launch args for VEH * remove usage of std::chrono::zoned_time * fix injector arguments in crash handler restart * enable VEH on wine * remove dead wine detection code * write out tspack with std::fstream * fix off-by-one error in get_window_string() * remove usage of std::chrono when writing tspack * do not deadlock on crashing DalamudCrashHandler
65 lines
2.1 KiB
C++
65 lines
2.1 KiB
C++
#pragma once
|
|
|
|
struct DalamudStartInfo {
|
|
enum class WaitMessageboxFlags : int {
|
|
None = 0,
|
|
BeforeInitialize = 1 << 0,
|
|
BeforeDalamudEntrypoint = 1 << 1,
|
|
BeforeDalamudConstruct = 1 << 2,
|
|
};
|
|
friend void from_json(const nlohmann::json&, WaitMessageboxFlags&);
|
|
friend WaitMessageboxFlags operator &(WaitMessageboxFlags a, WaitMessageboxFlags b) {
|
|
return static_cast<WaitMessageboxFlags>(static_cast<int>(a) & static_cast<int>(b));
|
|
}
|
|
|
|
enum class DotNetOpenProcessHookMode : int {
|
|
ImportHooks = 0,
|
|
DirectHook = 1,
|
|
};
|
|
friend void from_json(const nlohmann::json&, DotNetOpenProcessHookMode&);
|
|
|
|
enum class ClientLanguage : int {
|
|
Japanese,
|
|
English,
|
|
German,
|
|
French,
|
|
};
|
|
friend void from_json(const nlohmann::json&, ClientLanguage&);
|
|
|
|
enum class LoadMethod : int {
|
|
Entrypoint,
|
|
DllInject,
|
|
};
|
|
friend void from_json(const nlohmann::json&, LoadMethod&);
|
|
|
|
LoadMethod DalamudLoadMethod = LoadMethod::Entrypoint;
|
|
std::string WorkingDirectory;
|
|
std::string ConfigurationPath;
|
|
std::string PluginDirectory;
|
|
std::string DefaultPluginDirectory;
|
|
std::string AssetDirectory;
|
|
ClientLanguage Language = ClientLanguage::English;
|
|
std::string GameVersion;
|
|
int DelayInitializeMs = 0;
|
|
std::string TroubleshootingPackData;
|
|
|
|
std::string BootLogPath;
|
|
bool BootShowConsole = false;
|
|
bool BootDisableFallbackConsole = false;
|
|
WaitMessageboxFlags BootWaitMessageBox = WaitMessageboxFlags::None;
|
|
bool BootWaitDebugger = false;
|
|
bool BootVehEnabled = false;
|
|
bool BootVehFull = false;
|
|
bool BootEnableEtw = false;
|
|
DotNetOpenProcessHookMode BootDotnetOpenProcessHookMode = DotNetOpenProcessHookMode::ImportHooks;
|
|
std::set<std::string> BootEnabledGameFixes{};
|
|
std::set<std::string> BootUnhookDlls{};
|
|
|
|
bool CrashHandlerShow = false;
|
|
bool NoExceptionHandlers = false;
|
|
|
|
friend void from_json(const nlohmann::json&, DalamudStartInfo&);
|
|
void from_envvars();
|
|
};
|
|
|
|
extern DalamudStartInfo g_startInfo;
|