Commit graph

490 commits

Author SHA1 Message Date
Jack
9f9e3a906f
Improve logging for mods (#445)
- 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-07 17:11:43 +02:00
F1F7Y
513705e33f
Memory class renaming (#469)
- Renames `MemoryAddress` to `CMemoryAddress`
- Renames `CMemoryAddress::As` to `CMemoryAddress::RCast`
2023-07-07 12:28:35 +02:00
GeckoEidechse
043fb83d8f
Improve ShouldLoadNorthstar() logic readability (#499) 2023-07-02 09:54:01 -04:00
F1F7Y
10cb6e53ac
Basic mods blacklisting (#474) 2023-07-02 13:24:41 +02:00
GeckoEidechse
e4de2f3145
Update gitattributes vendored code path (#496) 2023-07-01 20:06:37 -04:00
F1F7Y
71f0ee98cc
Reorganize third-party dependencies into thirdparty directory (#491)
* rename `include` to `thirdparty`
* remove duplicate minhook in wsock32
* move minhook into its own directory
* move openssl lib into separate directories
2023-06-29 21:10:24 -04:00
Jan
efd907105c
Code cleanup (#478)
* 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-28 23:22:33 -04:00
Jan
b5c4e4e7ed
Replace dependent names with explicit template definition (#490) 2023-06-28 23:19:34 -04:00
F1F7Y
2bd882e9aa
Add RelWithDebInfo configuration (#483) 2023-06-28 23:16:30 -04:00
Jan
d7f8dd7612
Fix const pointer const (#488) 2023-06-28 23:12:19 -04:00
Jan
d50739ac01
Remove pragma once from source file (#487) 2023-06-28 23:11:46 -04:00
Jan
de970c559c
Use correctly typed values for variables (#486) 2023-06-28 23:11:30 -04:00
Jan
58a2324828
Cast types in MAKEHOOK macro to follow C++ Standard (#489) 2023-06-28 23:10:08 -04:00
F1F7Y
23594f24d3
Update release action to match push action (#476) 2023-06-22 21:56:40 +02:00
F1F7Y
89996405ee
Move to cmake (#467)
Moves the entire project to cmake as the build system
2023-06-22 11:47:46 +02:00
cat_or_not
9cf27a61fd
Restore -noplugins argument (#459) 2023-06-07 18:57:19 -04:00
F1F7Y
6fe1805914
Fix maps * command, expose to squirrel (#442) 2023-06-07 18:54:53 -04:00
cat_or_not
6857b93f62
Support loading plugins from subdirs (#460)
Support loading plugins from subdirs to allow for better organising plugins and easier mod-manager installation
2023-05-05 18:20:51 +02:00
uniboi
6fa48abd33
Use structs for the Script Server Browser (#453)
* 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-27 14:55:06 +02:00
cat_or_not
c50441f67a
Fix initscript issue (#457)
Fix initscript issue that prevented Northstar from being run without any mods enabled/installed.
2023-04-23 13:10:50 +02:00
pg9182
7c2b56b1e9
Replace set-output in GitHub Actions workflows (#452)
`set-output` is being deprecated as per https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2023-04-22 02:34:48 +02:00
pg9182
10b6839d9c
Remove leftover LoadPlugins declaration (#449)
Doesn't exist since 450d0b1ed4 (#343).
2023-04-19 18:06:43 -04:00
pg9182
34af81a7d8
Fix parsing string ConVar/ConCommand.Flags from mod.json (#450)
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
2023-04-19 18:05:59 -04:00
Glacir
e1dcf7a6b6
Fix incorrect script ConCommand argc (#446) 2023-04-19 09:43:46 -04:00
EladNLG
4e341f156b
Fix DecodeJSON fatalParseErrors param (#443)
Previously, DecodeJSON would log a warning and swallow the error silently, even if the second argument (fatalParseErrors) was true (default is false).
2023-04-18 19:28:07 -04:00
uniboi
ca45fcc4c5
Fix getvector returning garbage data (#448)
* fix vector garbage data
* change typedef to use IDA's types
2023-04-18 18:49:46 -04:00
pg9182
c173e8fad8 Set default server auth failure reason
Not all error paths set it.
2023-04-17 14:53:23 -04:00
pg9182
009482fcb8 Use detailed master server error messages when available
The error.msg field has always been around, but we never used it.
2023-04-17 14:53:23 -04:00
pg9182
b1aed577e4 Remove httplib 2023-04-17 14:50:10 -04:00
pg9182
87bd14cbe8 Replace HTTP auth server with Atlas connectionless packet 2023-04-17 14:50:10 -04:00
pg9182
45819c0ef2 Add missing curl lib deps 2023-04-17 14:50:10 -04:00
pg9182
35e91aa120 Implement Atlas sigreq1 connectionless packet
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-17 14:50:10 -04:00
pg9182
29c6aeca11 Add support for Atlas connectionless packets 2023-04-17 14:50:10 -04:00
pg9182
2c889a0bc0 Extract ProcessConnectionlessPacket hook to separate file 2023-04-17 14:50:10 -04:00
Emma Miler
450d0b1ed4
Plugin system v2 (#343)
* 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-11 20:49:16 +02:00
Jack
72da1da5b4
Fix stringcmd limits causing unnecessary disconnects (#447)
revert some changes made by #411
2023-04-08 21:14:00 +02:00
GeckoEidechse
d7637c7ab5
Bump download-artifact action to v3 (#444)
v2 is deprecated
2023-04-07 21:24:30 +02:00
cat_or_not
35696d3f9e
Bring back sq_getobject and sq_getthisentity for the client and ui vm (#428)
bring sq funcs back
2023-03-31 00:16:39 +02:00
GeckoEidechse
5d946ca2c1
CI create release and upload files on tag (#439)
* 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
2023-03-19 19:56:29 +01:00
BobTheBob
7720e51493
Fix sv_alltalk 1 (broken originally by respawn changes) (#291)
* 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-08 01:55:12 +01:00
pg9182
06221fab6b
Reject banned players during masterserver auth (#434)
* 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
2023-03-08 01:37:42 +01:00
EladNLG
6f4c6f3e95
me when case inconsistency (#437)
one line fix baby!
2023-03-07 20:27:15 +00:00
pg9182
ecb83ef17e
Fix build errors due to declaration order in scripthttprequesthandler (#430) 2023-03-05 10:55:29 -05:00
BobTheBob
32165afe41
Add FUNCTION_AT and VAR_AT macros (#416)
* add FUNCTION_AT and VAR_AT macros

* fix build issues oops

* fix formatting

* add PREDEFINED_VAR_AT

* change func name

* fixup formatting

* update to use DEFINED_VAR_AT
2023-02-23 00:19:48 +00:00
BobTheBob
6aaac4cd45
Implement dedi_sendPrintsToClient (#418)
* add CGlobals class and g_pGlobals, and update scripts to support

* don't automatically enable antispeedhack (oops)

* add dedicated.cpp

* format

* bad push oops

* reformat again

* implement dedi_sendPrintsToClient

* update formatting
2023-02-22 23:08:44 +00:00
BobTheBob
8468f509d4
Add additional properties to CBasePlayer (#329)
* add additional properties to CBasePlayer

* fixup names

* use hex offsets
2023-02-22 22:26:56 +00:00
p0358
9b1e2a0f48
Force-include pch.h to all files, remove explicit includes (#393)
* force-include "pch.h" in all units, as it will error if it's not included anyways

* remove #include "pch.h" from all files as it's not needed anymore now

* fix size of NSUserAgent to be consistent (it's 256 in version.cpp, caused compile error)

* Re-add explicit pch.h include to pch.cpp (and ran clang-format)

* drop pch.h inclusion from new files
2023-02-14 14:04:42 +00:00
BobTheBob
95b41b6f8c
Add CGlobals class and g_pGlobals, and update code to support (#411)
* add CGlobals class and g_pGlobals, and update scripts to support

* don't automatically enable antispeedhack (oops)

* add dedicated.cpp

* format

* bad push oops

* reformat again
2023-02-12 21:15:00 +00:00
Erlite
b61ed18a86
Add Destroy callback for squirrel scripts. (#383)
* Add Destroy callback for squirrel scripts.

* Switch _call() to Call()
2023-02-09 00:44:44 +00:00
BobTheBob
b77baa4d09
Do not load streaming files on dedicated server (#412)
dont load streaming files on dedicated server
2023-02-07 01:02:30 +00:00