r5sdk/r5dev/sdklauncher/sdklauncher.h

43 lines
1.2 KiB
C
Raw Normal View History

2021-08-01 02:25:29 -07:00
#pragma once
//-----------------------------------------------------------------------------
// Launch and inject specified dll based on launchmode
//-----------------------------------------------------------------------------
enum class eLaunchMode : int
2021-08-01 02:25:29 -07:00
{
Merge indev into master. (#44) * Added separate function to resolve relative addresses in address.h * Added new patterns to the print function. * Updated IsFlagSet hooks. * Cleaned up code to properly mask off Dev and Cheat flags. * Added separate define from _DEBUG so you can define it in release builds for people without C++ Debug Restributeables. * Removed un-used define in hooks.h * Fixed potential crashes in r5net and added debug prints. * Potential crashes were when in certain post functions the returned status wasn't 200. * Changed map-select drop down menu, now it displays 'Map Name + Season' instead of file-name. (#41) * Host Server shows normal map names * Changed a few stuff... * redid some stuff that isn't crucial * Update CCompanion.cpp * Update CCompanion.cpp * Updated mapname displaying. * Moved "ServerMap" as a static object into CCompanion::HostServerSection(). Co-authored-by: IcePixelx <41352111+PixieCore@users.noreply.github.com> * prevent squirrel compiler errors from killing game process (#43) * Read description for all changes. * Added ability to register custom ConVar. * Added 2 custom ConVars to open the CGameConsole and CCompanion Windows. * Changed ResolveRelativeAddress. * Added Config System for the Gui. * Added ImGui::Hotkey. * Added the ability to change 2 hotkeys for opening the window for CGameConsole and CCompanion. * Changed pattern for Squirrel_CompilerError to use a String. * Added IMemAlloc::AllocWrapper to patterns.h * Changes in description. * Added icon to launcher.exe * Launcher.exe gets remnamed to Run R5 Reloaded.exe in launcher release compilation configuration. * Extended argument buffer for starting the game in launcher.exe. * Added exception printing if in the custom ConVars an invalid value gets passed. * Wrong return. * Added shortcut with launch params. * Fixed prints. Co-authored-by: Marcii0 <58266292+Marcii0@users.noreply.github.com> Co-authored-by: BobTheBob <32057864+BobTheBob9@users.noreply.github.com>
2021-08-19 15:26:44 +02:00
LM_NULL,
LM_DEBUG_GAME, // Debug worker DLL.
LM_RELEASE_GAME, // Release worker DLL.
LM_DEBUG_DEDI, // Debug dedicated DLL.
LM_RELEASE_DEDI // Release dedicated DLL.
2021-08-01 02:25:29 -07:00
};
//-----------------------------------------------------------------------------
// [TODO] Launch with FCVAR_DEVELOPMENTONLY and FCVAR_CHEATS disabled/enabled
//-----------------------------------------------------------------------------
enum class eLaunchState : int
2021-08-01 02:25:29 -07:00
{
LS_NULL,
2021-08-01 02:25:29 -07:00
LS_NOCHEATS, // Disabled cheats
LS_CHEATS, // Enable cheats
LS_DEBUG // Enable debug
};
class CLauncher
{
public:
CLauncher()
{
m_svCurrentDir = fs::current_path().u8string();
}
bool Setup(eLaunchMode lMode, eLaunchState lState);
bool Launch();
private:
string m_svWorkerDll;
string m_svGameExe;
string m_svCmdLine;
string m_svCurrentDir;
};
inline CLauncher* g_pLauncher = new CLauncher();