aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDLL
AgeCommit message (Collapse)Author
2023-11-27Load plugin dependencies from lib folder (#590)Maya
Disables recursive search for plugins in plugin folders and if it exists adds lib folder within plugin folder to DLL load dirs
2023-11-23Replace audio event fetching with hook (#603)Jan
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>
2023-11-22Move player auth to `CServer::ConnectClient` (#548)cat_or_not
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.
2023-11-22Improve replacing `xinput1_3` with `xinput9_1` (#583)Jan
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.
2023-11-21Add mod versions when logging that a mod has loaded (#596)v1.20.1-rc5v1.20.1Cyn
Prints the version of the mod when loaded succesfully
2023-11-21Don't log masterserver registration errors in the lobby (#543)Jack
The main purpose of this PR is to not flood the console with errors that aren't really errors, thus preventing various tickets or misleading users.
2023-11-17Update link for verified mods JSON file (#600)v1.20.1-rc4GeckoEidechse
File was moved with https://github.com/R2Northstar/VerifiedMods/pull/8
2023-11-06Plugins v3 (#472)v1.20.1-rc2v1.20.1-rc1v1.20.0-rc3v1.20.0cat_or_not
- nuked presence logic ( moved to the discord rpc plugin ) - more exposed sq functions - exposed dll addresses - `g_pCVar` is exposed - added "userdata" to plugin's async call - added runframe to plugins
2023-11-05Plugin related log error expecting more args (#591)v1.20.0-rc2GeckoEidechse
The related line expected 3 args but only 2 args are passed. Co-authored-by: cat_or_not <41955154+catornot@users.noreply.github.com>
2023-11-05Convar print commands (#539)v1.20.0-rc1H0L0
Adds various concommands such as - `convar_findByFlags` - `convar_list` - `convar_differences` - `convar_find` The first 3 listed above are already registered as concommands natively but didn't seem to do anything when tested. `convar_findByFlags` and `convar_find` were already implemented by Bob under the names `findflags` and `find` respectively but the names have been changed to reflect already existing convars.
2023-11-05Expose `Northstar.dll` version to squirrel (#558)Jack
Exposes the version number in the form of individual digits to script.
2023-11-03Inital native code for verified mod auto-downloading (#545)Rémy Raes
Allows client to download a mod archive from the Thunderstore API, and extract included mods in the remote mods folder of the current game profile. Not all mods can be automatically downloaded, as it would cause some security issues, and Thunderstore mod name cannot be deduced from actual mod name: to be eligible to auto-downloading, a mod must appear in the list of verified mods. Said list and complete mod verification procedure are described here: https://github.com/R2Northstar/VerifiedMods Exposes two commands to test the feature: - `fetch_verified_mods` retrieves verified mods list from the GitHub organization, and stores it locally; - `download_mod` does the actual mod downloading/extraction job.
2023-10-30Refactor `debugoverlay.cpp` (fix smart pistol lines) (#538)v1.19.11-rc7v1.19.111.19.XJack
Refactors `debugoverlay.cpp` based on primedev and fixes smart pistol lines in the process. Co-authored-by: F1F7Y <64418963+F1F7Y@users.noreply.github.com>
2023-10-23Replace field preprocessors with less hacky solutions (#492)Jan
This behavior is a lot simpler and less dependent on how constants are represented during the preprocessing step.
2023-10-16Use 4th digit in version number for CI build number (#541)v1.19.9-rc3v1.19.9-rc2v1.19.9-rc1v1.19.9Jack
Sets the 4th digit of the version number to the current CI run number. This is done to more easily link a binary back to the PR or commit it came from.
2023-10-15Fix proton detection output (#534)Jan
Fixes Proton detection logic printing incorrect basename
2023-10-15Add check for r2/maps folder (#575)H0L0
Adds a fix to check if `r2/maps` folder exists before trying to iterate through it.
2023-10-15Move plugin communication handler init out of plugin manager init (#581)Jack
Plugin state requires this to be initialised even if `-noplugins` is passed, but if `-noplugins` is passed, it doesn't get initialised. Moving this to `dllmain` guarantees that it is initialised properly and prevents #580
2023-10-10Fix incorrect help string text (#567)v1.19.6-rc2v1.19.6GeckoEidechse
Help strings for `ns_server_name` and `ns_server_desc` were swapped. Co-authored-by: BobTheBob <32057864+BobTheBob9@users.noreply.github.com>
2023-10-10Add `mileslog_enable` convar (#515)v1.19.6-rc1F1F7Y
Adds a convar to toggle whether we should log from the miles log func Most of these warnings are warnings about events being starved, in some cases slowing down the game due to the number of log calls.
2023-10-09Create mod entry in `enabledmods.json` if it doesn't exist (#410)Rémy Raes
Currently, when you add a new mod to your `mods/` directory, when there's no associated entry in the `enabledmods.json` file, it is considered enabled by default; mod entries are only written in `enabledmods.json` when toggling them via the mods interface. In this pull request, I propose to create mod entries in `enabledmods.json` on startup when detecting they don't exist.
2023-10-08Rewrite crash handler (#477)F1F7Y
The goal of this commit is to make the crash handler code more readable and fix some issues. - Format registers - Format Modules - Format stacktrace - Format mods - Create minidump
2023-10-07Reduce warnings due to calling conventions (#555)v1.19.5-rc1v1.19.5Jack
Fix instances of "anachronism used: modifiers on data are ignored"
2023-10-07Expose origin auth state and errors to squirrel (#468)Jack
Also moves `NSIsMasterServerAuthenticated` out of `scriptserverbrowser.cpp` because it didn't really fit there This will be used for showing failed origin auth errors in the game's UI
2023-10-06Write date to logs (#565)H0L0
Next to time also write date to log files.
2023-10-04Give `g_pMemAllocSingleton` a default value (#563)Jan
Give default value as standard does not define value if uninitialised.
2023-10-04Always allow the local player through the banlist (#540)v1.19.4-rc2v1.19.4-rc1v1.19.4Jack
Adds a check to always allow local player through banlist to aid with players accidentally banning themselves.
2023-10-03Revert "Add a safeguard to map command" (#561)v1.19.3-rc1v1.19.3GeckoEidechse
Revert "Add a safeguard to map command (#529)" This reverts commit cde626b041e72d749c54d0be8119fe3604bbf4f0.
2023-10-02Fix crash when running `disconnect %%s` (#554)v1.19.2-rc1v1.19.2Jack
Co-authored-by: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com>
2023-10-02Add a safeguard to map command (#529)cat_or_not
Adds safeguard to the `map` command that prevents it from executing if the requested map is invalid or no map argument is given.
2023-09-17Set `spewlog_enable` default value to `0` (#516)v1.19.1-rc1v1.19.1v1.19.0-rc1v1.19.0F1F7Y
2023-09-15Export Northstar version number in DLL (#542)v1.18.3-rc1v1.18.31.18.XJack
Export version number in `Northstar.dll`
2023-09-15Fix `CSquirrelVM::Init` hook in `server.dll` (#544)F1F7Y
Fix typo in offset
2023-09-15feat: Enforce Thunderstore format for remote mods (#535)Rémy Raes
* feat: enforce Thunderstore format for remote mods * refactor: remove remote mods directory from "classic" mod loading --------- Co-authored-by: GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com>
2023-07-29Turn VPKData into a opaque struct (#510)v1.18.1-rc1v1.18.1Jan
2023-07-29Validate package pattern before checking for plugins (#525)v1.18.0-rc1v1.18.0Jan
Adds missing validation check to ensure that the package folder the plugin is included in matches the `AUTHOR-MOD-VERSION` pattern.
2023-07-29Warn about the package dir, not the mod dir (#526)Jan
2023-07-28Remove `pch.cpp` and all `#include "pch.h"` occurrences (#519)F1F7Y
With the move to cmake there is no need for the `pch.cpp` files as it generates them automatically. Also removes leftover `#include "pch.h"` occurrences
2023-07-28Make sure `packages` dir exists when loading plugins (#523)F1F7Y
Create packages directory in `PluginManager::LoadPlugins()` to avoid crashing when trying to read non-existent directory
2023-07-28Fix plugins not loading (#522)F1F7Y
Fixes a regression introduced in #513
2023-07-27Add support for loading plugins from Thunderstore packages (#513)Jan
Adds support for loading plugins from `packages` directory which was missing from the original PR that introduced the `packages` directory.
2023-07-25Replace forward slashes with windows path separators (#514)Jan
Replace forward slashes with backward slashes in some string constants to make things more consistent.
2023-07-25Remove Vector3 Constructor (#494)Jan
- Packing was enabled because the compiler may add padding which we don't want. - Constructors were removed because they were either rather primitive or broken (the `pRawFloats` one). - Use of constructor was replaced with a simple cast, which works just as well.
2023-07-22Safe I/O 2 - Electric Boogaloo! (#404)EladNLG
* Safe I/O initial commit * Formatting * Formatting 2 * God help us all. * fix diffs part 1 * fix diffs 2 * Fix invalid filter file * Update NorthstarLauncher.vcxproj * Remove newline at EOF * fix the damn thing * God help the diffs * diff hate * diff hate the 2nd * Add comments since this code is unreadable Now, this code may look readable, but I barely understand what I did here myself. * Remove char limit and file definitions * Fix build * organization stuff * Fix build * More funcs, more stuff * format fix * oops, this is wrong. * fix a thing * Add max folder size (250MB) and add getallfiles * Fix build also size cap * reduce max folder size to 50MB * he forgor * i give up * aync edition????? * Fix max size bypass * fix it * Remove logs * Add max folder size launch arg * boop * FUCK SHIT * FUCKKKKKKKKKKK * Fix build * Fix crash * Fix error FINAL!!! * fix scriptjson.h not being found * fix scriptjson.h not appearing correctly * shit diffself * format fix * Fix indentation (thank you vscode) * Fix indentation again * adadasa * shit diffself adadasa Fix indentation (thank you vscode) Fix indentation again * format fix * Revert "shit diffself" This reverts commit b49a62b5b36784df1c01663cdec2e4e403279618. * Revert "Merge branch 'safe-io-rewrite' of https://github.com/EladNLG/NorthstarLauncher into safe-io-rewrite" This reverts commit 761eb8a1cb11ccf1dadf55f5be9a08700fe1d560, reversing changes made to 65549b2f799660d7fe7b5a53e81425922b996ea9. * Fix the diff finally * more diff fixes * Fix more diffs * Allow non-ascii characters that aren't NUL * format fix :( * this is untested and I don't wanna update the safe i/o test thing * fix build :( * fix mayhaps? * fix build * Fix lotsa stuff :D * FIxed :D * Rewrite error messages, rename CheckFileName to IsPathSafe * Shout out to clang-format! * oops, wrong error message :3 * SHOUT OUT TO CLANG-FORMAT!!! * Revert "SHOUT OUT TO CLANG-FORMAT!!!" This reverts commit c536384073528b4eee7c330dfab320a5527ff240. * :( * oop * Add failure callback (launcher) * unnecessary comment * holy shit format fix boooooo. BOOOOOO! * restrict path to ASCII * Fix ascii check I hate you all * reformat * Clang-format my beloved :) * Move the thing * Apply suggestions from code review Co-authored-by: Rémy Raes <contact@remyraes.com> * clang-format no like code suggestions :( * name change * doc'd * - Replace the mutex map with a single mutex for all file actions - Fix Load calls sometimes failing and not calling NSHandleLoadResult - Add NSGetTotalSpaceRemaining which checks how much space a mod has, in KB - Add contstant MAX_FOLDER_SIZE which holds the maximum save folder size, in KB * add safe-io stuff to cmake * surrounds IsPathSafe with a try/catch --------- Co-authored-by: Rémy Raes <contact@remyraes.com> Co-authored-by: uniboi <kami.0.katze@gmail.com>
2023-07-22Replace vendored libcurl and minhook with submodules (#500)v1.17.1-rc1Jan
* Replace vendored libcurl and minhook with submodules * Add cmake utility for checking submodules and initializing them * Update build instructions to use Git
2023-07-16Add OS, Wine and Proton logging (#502)Jan
Adds logging for OS, Wine, and Proton versions.
2023-07-16Add support for loading Thunderstore mods natively (#503)GeckoEidechse
Allows for loading Thunderstore mods directly from a separate directory called `packages`.
2023-07-07Improve logging for mods (#445)v1.16.3-rc2v1.16.3-rc1v1.16.3v1.16.2-rc1v1.16.2v1.16.1-rc1v1.16.11.16.XJack
- Removes the log spam of "changing mod search path" - Logs mods as they are loaded, alongside their ConVars, Scripts, ConCommands, etc. - Warns in the console about errors in the mod.json instead of silently skipping things
2023-07-07Memory class renaming (#469)F1F7Y
- Renames `MemoryAddress` to `CMemoryAddress` - Renames `CMemoryAddress::As` to `CMemoryAddress::RCast`
2023-07-02Basic mods blacklisting (#474)v1.16.0-rc2v1.16.0F1F7Y