aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDLL
AgeCommit message (Collapse)Author
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
2023-06-29Reorganize third-party dependencies into `thirdparty` directory (#491)F1F7Y
* rename `include` to `thirdparty` * remove duplicate minhook in wsock32 * move minhook into its own directory * move openssl lib into separate directories
2023-06-28Code cleanup (#478)v1.16.0-rc1v1.15.1-rc1v1.15.11.15.XJan
* turn implicit type casts into standard compliant explicit type casts * correct includes and library names * correct implicit use of std-namespaced functions * turn incomplete virtual implementations into pure virtuals (this also follows what the Source SDK tier0 header does) * define SqRecurseArgs ahead of implementation to fix templating problems * switch out removed getentity with getthisentity * fix calls to curl_easy_escape with wrong types * replace winapi-specific function with std starts_with function * format squirrel header
2023-06-28Replace dependent names with explicit template definition (#490)Jan
2023-06-28Fix const pointer const (#488)Jan
2023-06-28Remove pragma once from source file (#487)Jan
2023-06-28Use correctly typed values for variables (#486)Jan
2023-06-28Cast types in MAKEHOOK macro to follow C++ Standard (#489)Jan
2023-06-22Move to cmake (#467)v1.15.0-rc1F1F7Y
Moves the entire project to cmake as the build system
2023-06-07Restore `-noplugins` argument (#459)v1.14.3-rc1v1.14.31.14.Xcat_or_not
2023-06-07Fix `maps *` command, expose to squirrel (#442)F1F7Y