Bumps the vendored silver-bun library to the newest commit in upstream
Co-authored-by: F1F7Y <filip.bartos07@proton.me>
Co-authored-by: IcePixelx <41352111+IcePixelx@users.noreply.github.com>
- moves `WSockProxy` to `wsockproxy/CmakeLists`
- remove exepath stuff from dllmain
+ its still done in loader.cpp because its used when reporting failure
- Disabled any Thread Library calls
+ we don't need to know about threads at all in the proxy
- yoink `wsock32.asm` into outer space
+ turns out, we can just call the function in a void shim since that wont touch the registers
- stop copying `wsock32.dll` to the game directory
+ this should improve the state of things when using the EA App
Adds support for rendering navmeshes in-game using debug overlay
Cherry-picked from primedev, originally written by F1F7Y
Co-authored-by: F1F7Y <filip.bartos07@proton.me>
Co-authored-by: Maya <11448698+RoyalBlue1@users.noreply.github.com>
Replaces the current plugin api with source interfaces.
- backwards compatible
- no more json in binaries (wtf)
- does not rely on structs from third party libraries (wtf)
- actually initializes variables
- no more basically unused classes
The launcher exposes almost everything required by plugins in interfaces that allow for backwards compatibility.
The only thing that's passed to a plugin directly is the northstar dll HWND and a struct of data that's different for each plugin.
- delete `structs.h`
- completely remove VPKFileEntry (its completely unused)
- convert all other instances of `OFFSET_STRUCT` to normal structs (this was automated and may be wrong)
- Update `m_bZooming` type from `uint32_t` to `bool`
Old `-vanilla` behaviour is now handled by `-nonorthstardll`.
New squirrel constant called `VANILLA`. Set to true when in vanilla compatibility mode.
Differences when in vanilla compatibility mode:
- Doesn't restrict server commands (same as `-norestrictservercommands`)
- Doesn't block FairFight screenshot functions
- Doesn't do Atlas-related stuff (except for mainmenupromos)
Adds safeguard to the `map` command that prevents it from executing if the requested map is invalid or no map argument is given.
Retry of #529
Co-authored-by: cat_or_not <41955154+catornot@users.noreply.github.com>
Takes the previous audio event code, which relied on reading out a register using masm, and replaces it with a new hook.
Adapted from NorthstarPrime https://github.com/F1F7Y/NorthstarPrime
Co-authored-by: F1F7Y <filip.bartos07@proton.me>
Fixes bots crashing servers when they are the first to connect to it. Also moves player auth to `CServer::ConnectClient`. This allows the removal of `iNextPlayerUid` and `pNextPlayerToken` which were the cause of issues previously since they were not initialized by bots.
The previous logic incorrectly loaded compared the whole argument, which may be a path, to the string literal.
This fix checks if the argument ends with the string literal instead.