aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDLL
AgeCommit message (Collapse)Author
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
2023-05-05Support loading plugins from subdirs (#460)cat_or_not
Support loading plugins from subdirs to allow for better organising plugins and easier mod-manager installation
2023-04-27Use structs for the Script Server Browser (#453)v1.14.2-rc1v1.14.2v1.14.1-rc1v1.14.1v1.14.0-rc1v1.14.0uniboi
* fix vector garbage data * use structs for script server browser * use sq struct api wrappers * use sqfloat return type for getvector * use const references for access * move fn to make the diff more readable (hopefully)
2023-04-23Fix initscript issue (#457)v1.13.2-rc2v1.13.2-rc1v1.13.2v1.13.1-rc1v1.13.1cat_or_not
Fix initscript issue that prevented Northstar from being run without any mods enabled/installed.
2023-04-19Remove leftover LoadPlugins declaration (#449)pg9182
Doesn't exist since 450d0b1ed437cf37b4309af952af8904f3f07768 (#343).
2023-04-19Fix parsing string ConVar/ConCommand.Flags from `mod.json` (#450)pg9182
Fix parsing string ConVar/ConCommand.Flags from mod.json The ParseConVarFlagsString function introduced in 64100065b55f79e76542ba689545c60e6fb0dcef (#373) is utterly broken. It only parses the first flag, logs misleading warnings, has an undefined return value in some codepaths, and is somewhat convoluted. Luckily, this doesn't appear to affect most (if not all) existing mods, as they all seem to be using integer values for Flags, which is taken as-is. https://github.com/search?q=path%3A**%2Fmod.json+ConVars+Flags&type=code
2023-04-19Fix incorrect script ConCommand argc (#446)Glacir
2023-04-18Fix DecodeJSON fatalParseErrors param (#443)EladNLG
Previously, DecodeJSON would log a warning and swallow the error silently, even if the second argument (fatalParseErrors) was true (default is false).
2023-04-18Fix getvector returning garbage data (#448)uniboi
* fix vector garbage data * change typedef to use IDA's types
2023-04-17Set default server auth failure reasonpg9182
Not all error paths set it.
2023-04-17Use detailed master server error messages when availablepg9182
The error.msg field has always been around, but we never used it.
2023-04-17Remove httplibpg9182
2023-04-17Replace HTTP auth server with Atlas connectionless packetpg9182
2023-04-17Add missing curl lib depspg9182
2023-04-17Implement Atlas sigreq1 connectionless packetpg9182
Consists of a JSON object including a type key and a HMAC-SHA256 signature using the gameserver-specific token from the masterserver as the key.
2023-04-17Add support for Atlas connectionless packetspg9182
2023-04-17Extract ProcessConnectionlessPacket hook to separate filepg9182
2023-04-11Plugin system v2 (#343)Emma Miler
* Some work * Rewrite gamestate presence * Add plugin system logger * Format changes * Format chjange * Fix gamestate stuff * some callback stuff * move around invite stuff * move invite to funcs * fix presence server data * Actually call InformSQVMCreated * bruh * Fix TODO's * Formatting * Fix filters * Add InformDLLLoads * Fix plugin handle always being 0 * Formatting * Fix merge issues * Formatting * Mods can add files compiled at SQVM init * Some Small Fixes * Add changes from review * Fix load failure * Add new squirrel functions * actually call InformSQVMDestroyed * add CreateObject function * answers to complaints * remove snake cases from GameStatePresence --------- Co-authored-by: cat_or_not <41955154+catornot@users.noreply.github.com>
2023-04-08Fix stringcmd limits causing unnecessary disconnects (#447)Jack
revert some changes made by #411
2023-03-31Bring back sq_getobject and sq_getthisentity for the client and ui vm (#428)cat_or_not
bring sq funcs back
2023-03-08Fix `sv_alltalk 1` (broken originally by respawn changes) (#291)BobTheBob
* fix sv_alltalk 1 (broken originally by respawn changes) * nvm i forgor to commit literally the main file * fix formatting * unsure why this was buidling but it shouldn't've been? fix build errors regardless * remove duplicate alltalk.cpp * add (experimental) potentially less jank patch * (now working) better patch for checking if alltalk is enabled * oops put a z in it boo womp * fixup formatting
2023-03-08Reject banned players during masterserver auth (#434)pg9182
* Reject banned players during masterserver auth This is backwards-compatible with old masterserver versions (it will be treated as a general authentication failure). * Reword server ban message