From 0e171fca6a4662225f1da32e1b12e5450b338c1a Mon Sep 17 00:00:00 2001 From: IcePixelx <41352111+PixieCore@users.noreply.github.com> Date: Thu, 19 Aug 2021 14:32:52 +0200 Subject: [PATCH] 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. --- r5dev/r5dev.vcxproj | 2 +- r5dev/src/gameclasses.cpp | 4 +- r5launcher/R5 Reloaded.ico | Bin 0 -> 12674 bytes r5launcher/main.cpp | 64 ++++++++++++++++++----- r5launcher/main.h | 7 +-- r5launcher/r5launcher.rc | 71 ++++++++++++++++++++++++++ r5launcher/r5launcher.vcxproj | 11 +++- r5launcher/r5launcher.vcxproj.filters | 13 +++++ r5launcher/resource.h | 16 ++++++ 9 files changed, 166 insertions(+), 22 deletions(-) create mode 100644 r5launcher/R5 Reloaded.ico create mode 100644 r5launcher/r5launcher.rc create mode 100644 r5launcher/resource.h diff --git a/r5dev/r5dev.vcxproj b/r5dev/r5dev.vcxproj index 3b562f80..f41f62bf 100644 --- a/r5dev/r5dev.vcxproj +++ b/r5dev/r5dev.vcxproj @@ -151,7 +151,7 @@ Minhook.x64.lib;r5net.lib;%(AdditionalDependencies) - del $(SolutionDir)bin\$(Configuration)\r5dev.dll + del "$(SolutionDir)bin\$(Configuration)\r5dev.dll" rename "$(TargetPath)" "r5dev.dll" diff --git a/r5dev/src/gameclasses.cpp b/r5dev/src/gameclasses.cpp index d1dd6cb0..21f47c22 100644 --- a/r5dev/src/gameclasses.cpp +++ b/r5dev/src/gameclasses.cpp @@ -26,7 +26,7 @@ namespace GameGlobals } catch (std::exception& e) { - std::cout << " [+CGameConsole+] Please don't input a character that isn't a number into cgameconsole :(.\n"; + std::cout << " [+CGameConsole+] Please don't input a character that isn't a number into cgameconsole :(." << e.what() << std::endl; } } @@ -50,7 +50,7 @@ namespace GameGlobals } catch (std::exception& e) { - std::cout << " [+CCompanion+] Please don't input a character that isn't a number into ccompanion :(.\n"; + std::cout << " [+CCompanion+] Please don't input a character that isn't a number into ccompanion :(." << e.what() << std::endl; }; } } diff --git a/r5launcher/R5 Reloaded.ico b/r5launcher/R5 Reloaded.ico new file mode 100644 index 0000000000000000000000000000000000000000..f63d17a45def313b3c5b7ce636ed64a5ce778e61 GIT binary patch literal 12674 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 literal 0 HcmV?d00001 diff --git a/r5launcher/main.cpp b/r5launcher/main.cpp index cd0c0ae3..189d4128 100644 --- a/r5launcher/main.cpp +++ b/r5launcher/main.cpp @@ -1,6 +1,6 @@ #include #include - +#include #include #include @@ -40,7 +40,7 @@ bool LaunchR5Apex(LAUNCHMODE lMode, LAUNCHSTATE lState) BOOL result; FILE* sLaunchParams; - CHAR sArgumentBuffer[1024] = { 0 }; + CHAR sArgumentBuffer[2048] = { 0 }; CHAR sCommandDirectory[MAX_PATH]; LPSTR sCommandLine = sCommandDirectory; @@ -173,23 +173,59 @@ bool LaunchR5Apex(LAUNCHMODE lMode, LAUNCHSTATE lState) /////////////////////////////////////////////////////////////////////////////// int main(int argc, char* argv[], char* envp[]) { - for (int i = 1; i < argc; ++i) + std::cout << "If you choose Dev as start parameter do not host servers into the Server Browser\n\n" + << "Every command will be and people can execute any script on your server.\n\n" + << "Use release for normal playing.\n\n" + << "Dev should only be used for testing purposes.\n\n"; + + std::cout << "Enter 1 for Dev Build. Enter 2 for Release Build:\n"; + + std::string input = std::string(); + + if (std::cin >> input) { - std::string arg = argv[i]; - if ((arg == "-dedicated") || (arg == "-dedi")) + try { - LaunchR5Apex(LAUNCHMODE::LM_DEDI, LAUNCHSTATE::LS_CHEATS); - Sleep(2000); - return EXIT_SUCCESS; + LAUNCHMODE iinput = (LAUNCHMODE)std::stoi(input); + switch (iinput) + { + case LAUNCHMODE::LM_DEBUG: + { + LaunchR5Apex(LAUNCHMODE::LM_DEBUG, LAUNCHSTATE::LS_CHEATS); + Sleep(2000); + return EXIT_SUCCESS; + } + case LAUNCHMODE::LM_GAME: + { + LaunchR5Apex(LAUNCHMODE::LM_GAME, LAUNCHSTATE::LS_CHEATS); + Sleep(2000); + return EXIT_SUCCESS; + } + case LAUNCHMODE::LM_DEDI: + { + LaunchR5Apex(LAUNCHMODE::LM_DEDI, LAUNCHSTATE::LS_CHEATS); + Sleep(2000); + return EXIT_SUCCESS; + } + default: + { + std::cout << "R5 Reloaded asked for a number between 1 and 2 :(.\n"; + Sleep(2000); + return EXIT_FAILURE; + } + } } - if ((arg == "-debug") || (arg == "-dbg")) + catch (std::exception& e) { - LaunchR5Apex(LAUNCHMODE::LM_DEBUG, LAUNCHSTATE::LS_CHEATS); - Sleep(2000); - return EXIT_SUCCESS; + std::cout << "R5 Reloaded asked for a number and not a letter or anything of that sort :(." << e.what() << std::endl; + Sleep(5000); + return EXIT_FAILURE; } } - LaunchR5Apex(LAUNCHMODE::LM_GAME, LAUNCHSTATE::LS_CHEATS); - Sleep(2000); + + std::cout << "R5 Reloaded needs an input to launch :(.\n"; + + Sleep(5000); + return EXIT_SUCCESS; } \ No newline at end of file diff --git a/r5launcher/main.h b/r5launcher/main.h index cf6f177b..c65bbd46 100644 --- a/r5launcher/main.h +++ b/r5launcher/main.h @@ -5,9 +5,10 @@ //----------------------------------------------------------------------------- enum class LAUNCHMODE : int { - LM_GAME, // Dev DLL - LM_DEDI, // Dedi DLL - LM_DEBUG // Debug DLL + LM_NULL, + LM_DEBUG, // Debug DLL + LM_GAME, // Release DLL + LM_DEDI // Dedi DLL }; //----------------------------------------------------------------------------- diff --git a/r5launcher/r5launcher.rc b/r5launcher/r5launcher.rc new file mode 100644 index 00000000..5d31049c --- /dev/null +++ b/r5launcher/r5launcher.rc @@ -0,0 +1,71 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// German (Germany) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU) +LANGUAGE LANG_GERMAN, SUBLANG_GERMAN +#pragma code_page(1252) + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_ICON1 ICON "R5 Reloaded.ico" + +#endif // German (Germany) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/r5launcher/r5launcher.vcxproj b/r5launcher/r5launcher.vcxproj index 9e0a8685..b478581e 100644 --- a/r5launcher/r5launcher.vcxproj +++ b/r5launcher/r5launcher.vcxproj @@ -165,8 +165,8 @@ detours.lib;%(AdditionalDependencies) - - + del "$(SolutionDir)bin\$(Configuration)\Run R5 Reloaded.exe" +rename "$(TargetPath)" "Run R5 Reloaded.exe" @@ -174,6 +174,13 @@ + + + + + + + diff --git a/r5launcher/r5launcher.vcxproj.filters b/r5launcher/r5launcher.vcxproj.filters index 35284662..f00d890a 100644 --- a/r5launcher/r5launcher.vcxproj.filters +++ b/r5launcher/r5launcher.vcxproj.filters @@ -23,5 +23,18 @@ Header Files + + Header Files + + + + + Resource Files + + + + + Resource Files + \ No newline at end of file diff --git a/r5launcher/resource.h b/r5launcher/resource.h new file mode 100644 index 00000000..13375343 --- /dev/null +++ b/r5launcher/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by r5launcher.rc +// +#define IDI_ICON1 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif