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 @@ <AdditionalDependencies>Minhook.x64.lib;r5net.lib;%(AdditionalDependencies)</AdditionalDependencies> </Link> <PostBuildEvent> - <Command>del $(SolutionDir)bin\$(Configuration)\r5dev.dll + <Command>del "$(SolutionDir)bin\$(Configuration)\r5dev.dll" rename "$(TargetPath)" "r5dev.dll"</Command> </PostBuildEvent> <PreBuildEvent> 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 00000000..f63d17a4 Binary files /dev/null and b/r5launcher/R5 Reloaded.ico differ 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 <string> #include <stdio.h> - +#include <iostream> #include <Windows.h> #include <detours.h> @@ -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 @@ <AdditionalDependencies>detours.lib;%(AdditionalDependencies)</AdditionalDependencies> </Link> <PostBuildEvent> - <Command> - </Command> + <Command>del "$(SolutionDir)bin\$(Configuration)\Run R5 Reloaded.exe" +rename "$(TargetPath)" "Run R5 Reloaded.exe"</Command> </PostBuildEvent> </ItemDefinitionGroup> <ItemGroup> @@ -174,6 +174,13 @@ </ItemGroup> <ItemGroup> <ClInclude Include="main.h" /> + <ClInclude Include="resource.h" /> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="r5launcher.rc" /> + </ItemGroup> + <ItemGroup> + <Image Include="R5 Reloaded.ico" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> 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 @@ <ClInclude Include="main.h"> <Filter>Header Files</Filter> </ClInclude> + <ClInclude Include="resource.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="r5launcher.rc"> + <Filter>Resource Files</Filter> + </ResourceCompile> + </ItemGroup> + <ItemGroup> + <Image Include="R5 Reloaded.ico"> + <Filter>Resource Files</Filter> + </Image> </ItemGroup> </Project> \ 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