101 Commits

Author SHA1 Message Date
Kawe Mazidjatari
f171d629d8 Disable '-forceborder' hook and light fix for launcher
Disabled as this code is only ran if the VideoConfig file is getting written. To fix this bug, the executable has to be patched. This will be documented and shipped in the next release.
2022-12-06 12:04:44 +01:00
Kawe Mazidjatari
ebf7bb5e0b Fix engine bug regarding forcing application borders
In Respawn's engine, the '-forceborder' command line parameter does the same thing as '-noborder'. '-forceborder' should remove the flags (nand) while '-noborder' should append the borderless flag. This code is an attempt to mitigate the problem. There was not enough bytes to assemble the nand operation for this code path without involving code caves or shifting.
2022-12-06 00:48:11 +01:00
Kawe Mazidjatari
484f6a779a Clear SDK Launcher console on launch
Clear session
2022-11-23 12:30:38 +01:00
Kawe Mazidjatari
4bc0aaf1e6 Fix launcher command line for client.dll
Launcher command line did not pass "-noworkerdll" which is required if the game is launched as game client only.
2022-10-20 14:23:24 +02:00
Kawe Mazidjatari
3dc330e5df Add minimize button to SDK launcher 2022-10-20 14:23:24 +02:00
Kawe Mazidjatari
bc3b580525 Add logic for preventing recursive SDK initialization
This allows for loading the game with the client.dll without loading the main worker/sdk dll. gamesdk.dll is imported by the game executable, so we cannot circumvent its loading without some hacks, so instead, we just check if -noworkerdll is passed and not perform any init if its present.
2022-10-09 12:41:22 +02:00
Kawe Mazidjatari
8880f4e7f0 Rename "Enable Development" to "Enable Developer" in SDK launcher
Renamed to "Developer" as this is the name of the cvar, and the global define within the script API. This should express the intention more clearly.
2022-10-07 22:33:37 +02:00
Kawe Mazidjatari
46d3819f63 Update sdklauncher.cpp 2022-10-03 01:23:00 +02:00
Kawe Mazidjatari
65f17cfa8e Remove extraneous semicolons from string concat in sdklauncher 2022-10-03 01:16:56 +02:00
Kawe Mazidjatari
b34446029b Set developer and cheats cvar when "Enable Cheats" is ticked
This is required for the in-game dev-menu to work.
2022-09-25 22:20:32 +02:00
Kawe Mazidjatari
524962ac44 Pass -dev from the launcher
Must be passed from the launcher, as this is removed from the configuration files for prod. Ticking the development box will pass '-dev' and '-devsdk'.
2022-09-22 22:25:32 +02:00
Kawe Mazidjatari
c269d297b8 Update basepanel.cpp 2022-09-21 20:41:10 +02:00
Kawe Mazidjatari
8e75c57f0d Use retail/dev naming convention
Renamed 'debug' cfg's to 'dev', refered anything in code as retail/dev/prod.
2022-09-21 20:40:34 +02:00
Kawe Mazidjatari
4fb39f13dd Increase 'Playlists file' text rect 2022-09-11 16:37:14 +02:00
Kawe Mazidjatari
fb7ab18a0b Minor spelling fixes 2022-09-11 00:19:31 +02:00
Kawe Mazidjatari
88b3336758 Many small code improvements and optimizations
* Use c++ methods as much as possible.
* Use enum types for accessing NavMesh objects from array.
* Use size_t for for loops when testing against size types.
* Don't compute strlen twice of more on the same string.
* Don't use unnecessary c string casts if there is a method with a std::string overload.
* Don't create string objects from string pointers if we could use them directly.
* Don't initialize RCON password twice on each change, and don't set if the new password equals the old.
2022-08-11 11:07:45 +02:00
Kawe Mazidjatari
e92b5d1300 General cleanup
Use c++ methods, remove unnecessary casts, unnecessary use of auto, etc..
2022-08-09 15:19:12 +02:00
Kawe Mazidjatari
d89967a5c2 Switch between -windowed and -fullscreen properly in launcher
Checking/Unchecking will now switch between them properly.
-forceborder does not work and the issue resides in the engine itself (it does the same bitshift operation as -windowed for some reason).
2022-08-04 12:56:05 +02:00
Kawe Mazidjatari
b3ed5d4052 Fix client.dll compile errors
Stripped more server only stuff from client.dll.
2022-07-21 15:13:48 +02:00
Kawe Mazidjatari
f0519efbb5 Fix SDKLauncher bug
Fix bug where SDK Launcher would display duplicate map names if server and client VPK's are installed within the same VPK directory.
2022-06-24 17:03:50 +02:00
Kawe Mazidjatari
5683a928d0 Default to no map and playlist 2022-06-14 01:44:13 +02:00
Kawe Mazidjatari
6c1f8da177 Launcher improvements
Load 'startup_launcher.cfg' when launching with the GUI launcher
2022-06-12 13:30:37 +02:00
Kawe Mazidjatari
6317888d57 Remove redundant includes 2022-06-06 23:11:01 +02:00
Kawe Mazidjatari
bbe885689a Add define for compiling launcher for dedicated servers
This sets the selected mode to server by default upon launch
2022-06-06 01:31:20 +02:00
Kawe Mazidjatari
e2bc64a65e Overlap edge of text box with send button 2022-06-06 01:16:40 +02:00
Kawe Mazidjatari
f1f0ca35f8 Merge branch 'master' into indev 2022-06-02 02:02:36 +02:00
PixieCore
6ea1a8bebc Executing commands from launcher. 2022-05-31 18:05:43 +02:00
Kawe Mazidjatari
f2472e9275 Fix dev menu not showing up when launching with sv_cheats 2022-05-30 22:28:03 +02:00
Kawe Mazidjatari
4a512522ab Set hostname via 'hostname' ConVar instead 2022-05-29 02:32:00 +02:00
Kawe Mazidjatari
306174afdf Fix typo 2022-05-28 16:12:56 +02:00
Kawe Mazidjatari
28ff12272f Cleanup 2022-05-27 14:39:43 +02:00
Kawe Mazidjatari
47d2e4c915 See description
* Added new function 'GetAvailablePlaylists' to all VM's.
* Moved function 'GetAvailableMaps' from UI VM to all VM's.
* Improved logic behind 'GetAvailableMaps'.
* Server browser and SQVM now rely on 'MOD_GetAllInstalledMaps'. This new function populates the global vector 'g_vAllMaps' with all installed maps.
* Improved 'KeyValues' structure to use union for shared members.
2022-05-27 02:08:51 +02:00
Kawe Mazidjatari
bf4d9d4ead Fix copy bug
Right click on element should now copy the selected index
2022-05-26 22:14:53 +02:00
Kawe Mazidjatari
e1799887d0 Finished GUI SDK Launcher
Implemented logic behind console frontend.
cleaned up sdklauncher.cpp (methods properly split up in class).
2022-05-26 22:04:50 +02:00
Kawe Mazidjatari
11652d015d SDK launcher progress
* Fixed compiler error when trying to compile SDK Launcher in debug (static lib was not compiled with static link runtime).
* Documented most stuff in basepanel.cpp
* Split some logic into dedicated functions in basepanel.cpp
* Implemented VDF parser from Matthias Moeller.
* Parse playlist file and load all playlists into the combo box.
2022-05-26 01:44:46 +02:00
Kawe Mazidjatari
4eaba9f5a2 Gui launcher work
Improved theme
Implemented dedicated server and client logic (gui side only)
2022-05-25 12:07:08 +02:00
Amos
d233262b79 Things 2022-05-24 19:26:05 +02:00
Kawe Mazidjatari
dacd307663 See description
* Finished designer code for launcher gui.
* Basic implementation of setting flags for host launch option.
* Check in 'CHostState::LoadConfig' if -launcher is below 1.. if condition is met the cfg's will be executed from 'CHostState::LoadConfig'.
* Added 'StringIsDigit' utility.
2022-05-24 02:23:37 +02:00
Kawe Mazidjatari
7225de1bd4 Finished designer code
Work in progress gui launcher
2022-05-23 19:14:12 +02:00
Kawe Mazidjatari
637041d5e7 Use 'fs' instead of 'std::filesystem' 2022-05-16 21:54:46 +02:00
Kawe Mazidjatari
f2a5c8ac68 See description
* Renamed 'r5apexsdkd64.dll' to 'gamesdk.dll'.
* Added required dedicated parameters to code instead.
* Bug fixes around CCommandLine class (fixed misaligned VTable indexes).
* SDK now supports being directly launched by the game executable.

The SDK launcher will pass '-launcher' to the game, which indicated its being launched by the launcher. If the game does not receive '-launcher', it assumes its being launched directly from the game executable, which will instead load 'startup_(dedi_)default.cfg'.

The sdk dll's are now added to the game's IAT by their dummy exports allowing for them to be loaded when the exe is loaded (the dll's do everything on init).
2022-04-16 00:30:46 +02:00
Amos
cf92d64a27 Use unicode character set instead of multi-byte 2022-03-04 16:06:36 +01:00
Amos
3f50736e48 Light cleanup 2022-01-22 15:42:35 +01:00
IcePixelx
88534a4c7f fixed release dedi setting debug settings. 2022-01-20 17:25:35 +01:00
Amos
7558ed1b5f Fix dedicated only launching in debug 2022-01-20 03:10:25 +01:00
Amos
03e700bac1 Move 'PrintLastError()' to utility.cpp 2022-01-19 23:14:50 +01:00
Amos
dd50004c61 Fix typo in sdklauncher.cpp
Thanks Julefox!
2022-01-19 19:03:59 +01:00
Amos
f695abc03f Update sdklauncher and reflect to readme 2022-01-16 12:48:56 +01:00
Amos
19f5010bd2 Fix compiler error + rename debug dll's
Rename for easier debugging and config separation
2022-01-09 16:29:36 +01:00
Amos
b514f928a6 Use a separate executable for dedicated server
The dedicated server still has directx dll imports which will cause issues with ReShade or 3DMigoto, or trying to load it on a headless machine with no directx installed. The imports have to be cleared to avoid issues. The most convenient approach is to do this with a separate exe rather then patching it in runtime.
2021-12-29 02:16:28 +01:00