Commit Graph

597 Commits

Author SHA1 Message Date
Emma Miler 9e469ac28b
Squirrel bridge v3 (#310)
* Initial

* Move squirrelmanager to virtual base class

* Implement changes from code review

* Formatting

* Update squirrel.cpp

* Formatting shit

* Fix filters

* Fix up

Use new squirrel autobind syntax
Move from `std::vector` to `std::queue` for message buffer
Add `NSTestMessageBuffer`

* Update squirrel.cpp

* Update squirrel.h

* Remove inline virtual final because this is stupid

I probably had a bit of a brain fart when this was written

* Moved to running ProcessMessages in-engine

* Remove TestMessageBuffer

* Formatting

* Rename pushSQObject -> pushobject

* Rename some stuff

* Update squirrel.h

* Formattting

* Remove unneeded global access

* Oops
2022-11-20 23:38:42 +00:00
Erlite 70b71ba3d3
Fix DecodeJSON() not returning SQRESULT_NOTNULL. (#330) 2022-11-20 22:33:23 +00:00
Jack ff48d3c499
Fix broken chat hooks due to missing `AUTOHOOK_DISPATCH()` (#335) 2022-11-17 01:15:46 +01:00
Emma Miler 06b088d9a1
Fix logging (#333)
I forgot to update this piece of code to make it so that the file sink gets pushed to all loggers instead of only the `[NORTHSTAR]` one
2022-11-16 00:24:38 +01:00
Emma Miler 5cd63250b6
Fix slow keyvalues building (#331)
* Fix slow keyvalues building

* Update crashhandler.cpp

* Fix it
2022-11-15 00:47:32 +01:00
Emma Miler 0c6d1f4e79
New syntax for reversed structs (#324)
* Initial commit

Co-Authored-By: BobTheBob <32057864+BobTheBob9@users.noreply.github.com>

* Format change

* Revert `VPKData` definition

* Add `FIELDS` macro

Co-authored-by: BobTheBob <32057864+BobTheBob9@users.noreply.github.com>
2022-11-14 00:11:59 +00:00
Emma Miler 2139e0ec6d
New crashhandler (#325)
* New crashhandler

* Formatting

* Add version number to crash log

* Fix Xmm dumping

* Update crashhandler.cpp

* Fix formatting

* Moved to using reinterpret_cast and foreground messagebox

* Update crashhandler.cpp
2022-11-14 00:05:57 +00:00
BobTheBob 02a473ed10
fix accidentally broken project filters from merge conflict (#327) 2022-11-13 21:54:10 +00:00
Maya 23fda0b842
Squirrel functions auto bind (#299)
* Add defines to auto add squirrel funcs

it brokey

* Make it Work

changed all squirrel function definitions to this system

* Add defines to auto add squirrel funcs

it brokey
Co-authored-by: Emma-Miler <27428383+emma-miler@users.noreply.github.com>

* Make it Work

changed all squirrel function definitions to this system

Co-authored-by: Emma-Miler <27428383+emma-miler@users.noreply.github.com>

* Formatting

* Good old Formatting commit

* HelloGecko

* Formatting Finalv2ForRealThisTime

* idk anymore

* i hate formatting

* Rename some

* Rename macro

* Change function names to more human-readable

* Revert to using old ScriptContext definition

* Formatting

Co-authored-by: RoyalBlue1 <realEmail@veryRealURL.com>
Co-authored-by: Emma-Miler <27428383+emma-miler@users.noreply.github.com>
Co-authored-by: Emma Miler <emma.pi@protonmail.com>
Co-authored-by: BobTheBob <32057864+BobTheBob9@users.noreply.github.com>
2022-11-13 03:01:14 +00:00
BobTheBob d237401bb9
allow kb_act.lst to be compiled from multiple mods (#298)
* allow kb_act.lst to be compiled from multiple mods

* fixup formatting

* add a couple extra comments because i really did not add enough
2022-11-13 00:26:46 +00:00
Emma Miler bf09852285
Logging improvements + Colours (new) (#320)
* log colours :)

* commend the freopen stuff (it causes problems)

* formatting

* add explanatory comment

* gaming maybe

* move set pattern

* ok this works now i think

* trailing space :)

* Revert "Merge branch 'main' into log-colours"

This reverts commit d40b6496b7, reversing
changes made to a98bcc22e8.

* Revert "Revert "Merge branch 'main' into log-colours""

This reverts commit da792245b1.

* fix shit maybe

* fix shit but better

* initial, still WIP

* Add GetContextName_Short

* colours for in game console

* working, time to improve code

* rename var + add a colour or two

* whoops

* change rpak filesystem to RP NATIVE

* add RP NATIVE and NORTHSTAR tags

* clang-format off because formatting

* formatting 2

* formatting 3: the formattening

* bruh

* revert unnecessary change

* improve comment

* Set console title to show profile

* pain

* Made code not shit

* Formatting and remove warning box

* Update main.cpp

* Formatting

* More format changes

* Again

* Fix small things from code review

* Remove empty line

* renamed NATIVE_EN -> NATIVE_ENGINE

* Update logging.cpp

* Update sourceconsole.cpp

Co-authored-by: ASpoonPlaysGames <66967891+ASpoonPlaysGames@users.noreply.github.com>
2022-11-12 14:39:39 +00:00
BobTheBob ab5db7fde2
allow vmts do be loaded from disk (#292) 2022-11-12 14:16:38 +00:00
Jack a02ccdddde
[COOP] load sp_ rpaks on dedi (#283)
* load sp_ rpaks on dedi

* formatting to please the formatting check gods

* fix build failure

* what in the formatting
2022-11-12 13:52:21 +00:00
Emma Miler 3514e4478a
Restore `-waitfordebugger` flag (#321)
* Update main.cpp

* Update NorthstarLauncher/main.cpp

Co-authored-by: GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com>

Co-authored-by: GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com>
2022-11-12 13:46:57 +00:00
H0L0theBard e8334b4a55
remove dev only from mat_colorcorrection (#326) 2022-11-12 13:35:26 +00:00
Emma Miler 6f46d0ec44
Fix player count server presence (again) (#323)
* Update serverauthentication.cpp

* Fix oopsie

* Format
2022-11-06 02:42:58 +01:00
Emma Miler 44be87347b
Fix player count in server presence (#322) 2022-11-06 02:11:40 +01:00
BobTheBob a0455d177a
Fix `status` hooks (#316) 2022-11-03 21:19:06 +01:00
BobTheBob c8181a1719
add KeyValues class (#303) 2022-10-31 23:15:26 +00:00
Emma Miler d3adc57460
Update crashhandler.cpp (#297) 2022-10-31 23:12:47 +00:00
H0L0theBard ed383c982f
remove dev-only flag from save_enable (#315)
* remove dev-only flag from save_enable

* Moved to sys/engine settings
2022-10-31 23:12:15 +00:00
Maya 9df904da17
Improve authentication flow (#306)
* Check Name for Invalid Chars

Co-authored-by: Emma-Miler <27428383+emma-miler@users.noreply.github.com>

* Remove `m_bRequireClientAuth ` and add logging

* Format changes

* Remove debugging code

* Add return values for CBaseClient_Connect

* Update serverauthentication.cpp

* Format changes

* Fix singleplayer

* Add comment about singleplayer

* Format

* Update serverauthentication.cpp

* Update serverauthentication.cpp

* Update serverauthentication.cpp

Co-authored-by: RoyalBlue1 <realEmail@veryRealURL.com>
Co-authored-by: Emma-Miler <27428383+emma-miler@users.noreply.github.com>
2022-10-28 02:17:54 +02:00
Emma Miler 4c99e6f02d
Update serverauthentication.cpp (#307) 2022-10-27 18:30:50 -04:00
BobTheBob f233b4b75b
fix reading of cvar net_data_block_enabled (#302) 2022-10-23 18:02:55 +01:00
BobTheBob 6bca5d1db5
change accidentally broken m_UID offset (#301) 2022-10-23 17:41:40 +01:00
BobTheBob 4d9f64176b
fix typo in ConVar::SetValue( const char* ) (#296)
* fix typo in ConVar::SetValue( const char* ) (except this time dont fuck
up on git!!)

* readd delete
2022-10-22 23:09:56 +01:00
Maya c5520a53bd
Fix using wrong dll load for patching bik loading (#295) 2022-10-22 21:28:32 +01:00
Jack 5a0f03a299
Allow rpaks to use starpaks that are in the mod's folder (#279)
* this works

* read starpak entires from rpak headers

* formatting

* move logging to after function

* Use str.empty instead of str != ""

* change allocatedNewPath to std::string

* merge conflict resolution part 2

* change to use int + add comment

* better comments + init variable

* path syntax + another comment

* use goto to exit loop + improve commenting

* implement requested changes

* remove accidental diff

* explanatory comment
2022-10-22 01:55:52 +01:00
BobTheBob ca6269431c
Fixup more cvars (#294)
* fixup more cvar flags, mainly devonly ones that shouldn't be devonly

* fix formatting
2022-10-22 00:56:49 +01:00
BobTheBob9 64450087ea fix up formatting 2022-10-21 00:22:59 +01:00
BobTheBob9 0c729c609c fix up squirrel sq_getentity defs 2022-10-21 00:17:48 +01:00
BobTheBob 841881af9e
big refactor (#171)
* use in-file macros rather than global funcs for registering dll load callbacks

* move more things to macros

* fix debug crashes

* move sqvm funcs to sq managers

* get rid of context file

* refactor some squirrel stuff and ingame compilation error message

* move tier0 and playlist funcs to namespaces

* uiscript_reset concommand: don't loop forever if compilation fails

* improve showing console for ui script compile errors

* standardise concommand func naming in c++

* use lambdas for dll load callbacks so intellisense shits itself less

* use cvar change callbacks for unescaping ns_server_name and ns_server_desc

* add proper helpstrings to masterserver cvars

* add cvar help and find

* allow parsing of convar flags from string

* normalise mod fs paths to be lowercase

* move hoststate to its own file and add host_init hooks

* better IsFlagSet def

* replace files in ReadFromCache

* rename g_ModManager to g_pModManager

* formatting changes

* make cvar print work on dedi, move demo fix stuff, add findflags

* add proper map autocompletes and maps command

* formatting changes

* separate gameutils into multiple r2 headers

* Update keyvalues.cpp

* move sqvm funcs into wrappers in the manager class

* remove unnecessary header files

* lots of cleanup and starting moving to new hooking macros

* update more stuff to new hook macros

* rename project folder (:tf: commit log)

* fix up postbuild commands to use relative dir

* almost fully replaced hooking lib

* completely remove old hooking

* add nsprefix because i forgot to include it

* move exploit prevention and limits code out of serverauthentication, and have actual defs for CBasePlayer

* use modular ServerPresence system for registering servers

* add new memory lib

* accidentally pushed broke code oops

* lots of stuff idk

* implement some more prs

* improve rpakfilesystem

* fix line endings on vcxproj

* Revert "fix line endings on vcxproj"

This reverts commit 4ff7d022d2602c2dba37beba8b8df735cf5cd7d9.

* add more prs

* i swear i committed these how are they not there

* Add ability to load Datatables from files (#238)

* first version of kinda working custom datatables

* Fix copy error

* Finish custom datatables

* Fix Merge

* Fix line endings

* Add fallback to rpak when ns_prefere_datatable_from_disk is true

* fix typo

* Bug fixess

* Fix Function Registration hook

* Set convar value

* Fix Client and Ui VM

* enable server auth with ms agian

* Add Filters

* FIx unused import

* Merge remote-tracking branch 'upsteam/bobs-big-refactor-pr' into datatables

Co-authored-by: RoyalBlue1 <realEmail@veryRealURL.com>

* Add some changes from main to refactor (#243)

* Add PR template

* Update CI folder location

* Delete startup args txt files

* Fix line endings (hopefully) (#244)

* Fix line endings (hopefully)

* Fix more line endings

* Update refactor (#250)

* Add PR template

* Update CI folder location

* Delete startup args txt files

* Add editorconfig file (#246)

* Add editorconfig file

It's a cross-editor compatible config file that defines certain editor
behaviour (e.g. adding/removing newline at end of file)

It is supported by major editors like Visual Studio (Code) and by
version control  providers like GitHub.

Should end the constant adding/removing of final newline in PRs

* More settings

- unicode by default
- trim newlines
- use tabs for indentation (ugh)

* Ignore folder rename (#245)

* Hot reload banlist on player join (#233)

* added banlist hotreload

* fix formatting

* didnt append, cleared whole file oopsie

* unfuckedunban not rewriting file

* fixed not checking for new line

Co-authored-by: ScureX <47725553+ScureX@users.noreply.github.com>

* Refactor cleanup (#256)

* Fix indentation

* Fix path in clang-format command in readme

* Refactor cleanup (some formatting fixes) (#257)

* Fix some formatting

* More formatting fixes

* add scriptdatatable.cpp rewrite

* Some formatting fixes (#260)

* More formatting stuff (#261)

* various formatting changes and fixes

* Fix changed icon (#264)

* clang format, fix issues with server registration and rpak loading

* fix more formatting

* update postbuild step

* set launcher directory and error on fail creating log files

* change some stuff in exploitfixes

* only unrestrict dev commands when commandline flag is present

* fix issues with cvar flag commit

* fixup command flags better and reformat

* bring up to date with main

* fixup formatting

* improve cvar flag fixup and remove temp thing from findflags

* set serverfilter better

* avoid ptr decay when setting auth token

* add more entity functions

* Fix the MS server registration issues. (#285)

* Port ms presence reporter to std::async

* Fix crash due to std::optional being assigned nullptr.

* Fix formatting.

* Wait 20 seconds if MS returns DUPLICATE_SERVER.

* Change PERSISTENCE_MAX_SIZE to fix player authentication (#287)

The size check added in the refactor was incorrect:

- 56306: expected pdata size based on the pdef
- 512: allowance for trailing junk (r2 adds 137 bytes of trailing junk)
- 100: for some wiggle room

Co-Authored-By: pg9182 <96569817+pg9182@users.noreply.github.com>

* change miscserverscript to use actual entity arguments rather than
player index jank

* Fix token clearing hook (#290)

A certain someone forgot to put an `0x` in front of their hex number, meaning the offset is wrong.
This would cause token to be leaked again

Co-authored-by: Maya <malte.hoermeyer@web.de>
Co-authored-by: RoyalBlue1 <realEmail@veryRealURL.com>
Co-authored-by: GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com>
Co-authored-by: ScureX <47725553+ScureX@users.noreply.github.com>
Co-authored-by: Erlite <ys.aameziane@gmail.com>
Co-authored-by: Emma Miler <emma.pi@protonmail.com>
Co-authored-by: pg9182 <96569817+pg9182@users.noreply.github.com>
2022-10-17 23:26:07 +01:00
Emma Miler dc0934d29c
Clear token when not needed anymore (#282)
Also blocks migrateme
2022-10-04 00:09:44 +02:00
Emma Miler c3b61514ee
Replace XInput library with updated one (#278)
* Replace XInput library with updated one

This code adds better compatibility with newer controllers and different controller types

Also adds ASLR to the loaded library

* Formatting
2022-09-25 01:36:41 +02:00
BobTheBob 122f84f14d
Standardise concommand func naming in C++ (#277)
part of refactor
2022-09-20 11:57:57 +02:00
p0358 5dd0949213
Set current directory properly (#275) 2022-09-19 01:56:21 +02:00
p0358 70fbe2b884
Display error if logs path isn't writeable (#274) 2022-09-19 01:56:12 +02:00
GeckoEidechse ec465149a6 Revert "Add log colours because they are pretty (#237)"
This reverts commit a97f1f07bb.
2022-09-13 11:29:01 +02:00
GeckoEidechse 4d6452865e
Rename some members of MasterServerManager (#266)
This is basically 9ab7c43c34 from refactor but without the debug build crash fix as that was introduced in a commit in refactor not present on main

Co-authored-by: BobTheBob <32057864+BobTheBob9@users.noreply.github.com>
2022-09-07 23:16:19 +01:00
BobTheBob 7aa2008ea5
Check LSX for Origin launch (#263) 2022-09-03 01:44:06 +01:00
GeckoEidechse b715404147 Add newline
also part of refactor merge :^)
2022-09-02 02:19:54 +02:00
GeckoEidechse 40e54f2235 Update comment
also part of refactor merge :^)
2022-09-02 02:19:41 +02:00
BobTheBob da41696db7
Carry over some formatting changes from refactor (#259) 2022-09-02 01:29:55 +02:00
BobTheBob 9c5c0e5c67
Change prints to C++ style (#258) 2022-09-02 01:12:06 +02:00
GeckoEidechse f12e5c02a6 Fix typo
Yes this is also part of refactor :3
2022-08-25 01:31:31 +02:00
BobTheBob f8885bc12e
Rename `configurables.cpp` to `nsprefix.cpp` (#253) 2022-08-25 01:27:26 +02:00
BobTheBob c3d20c8409
Rename `IsDedicated()` to `IsDedicatedServer()` (#252) 2022-08-25 00:53:45 +02:00
GeckoEidechse cf9743e9b8
Change file name case sensitivity to lower case (#249)
To mirror how it is in refactor PR
2022-08-24 23:30:30 +01:00
GeckoEidechse a37ef3ee98
Ignore folder rename (#245) 2022-08-24 23:36:27 +02:00
GeckoEidechse 2913fa5473
Add newlines at end of file (#247)
Co-authored-by: Northstar <northstar@northstar.tf>
2022-08-24 22:35:45 +01:00