- 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.
* 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 b49a62b5b3.
* Revert "Merge branch 'safe-io-rewrite' of https://github.com/EladNLG/NorthstarLauncher into safe-io-rewrite"
This reverts commit 761eb8a1cb, reversing
changes made to 65549b2f79.
* 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 c536384073.
* :(
* 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>
* Replace vendored libcurl and minhook with submodules
* Add cmake utility for checking submodules and initializing them
* Update build instructions to use Git
Looks for `Northstar.dll` in the specified profile directory using `-profile=<dir>`. If it doesn't exist it defaults to the `Northstar.dll` in the root directory.
This allows for having a separate DLL for each profile.
- 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
* rename `include` to `thirdparty`
* remove duplicate minhook in wsock32
* move minhook into its own directory
* move openssl lib into separate directories
* 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
* 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)
Fix parsing string ConVar/ConCommand.Flags from mod.json
The ParseConVarFlagsString function introduced in 64100065b5 (#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
* CI create release and upload files on tag
On tag creation, this creates a new release and uploads the corresponding compiled launcher and debug files.
* Remove leftover `ls`
* Remove condition to not build RCs
Release candidates should also be built and uploaded. The condition for not building them was a leftover from copy-pasting code.
* Move condition to parent
* Make sure files are in root of zip
Previously they were in a subfolder inside the zip
* Remove leftover content from copy/paste
* 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
* 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