aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-08-29Fix module callbacks related crash (#790)v1.27.5-rc1Jack
Check optional headers size Check size and address of the image directory
2024-08-29Add code review and testing sections to pull request template (#791)GeckoEidechse
2024-08-28Remove uses of Autohook from `debugoverlay.cpp` (#786)v1.27.4-rc3v1.27.4Jack
Removes AUTOHOOK macros from `debugoverlay.cpp` and replaces them with `HookAttach`.
2024-08-28client: Remove uses of Autohook from `audio.cpp` (#777)Jack
Removes AUTOHOOK macros from `audio.cpp` and replaces them with `HookAttach`.
2024-08-28Document coding standards (#779)GeckoEidechse
Adds documentation explaining the coding standards to follow. Co-authored-by: F1F7Y <64418963+F1F7Y@users.noreply.github.com>
2024-08-27Remove uses of Autohook from `clientruihooks.cpp` (#783)v1.27.4-rc2Jack
Manually hook DrawRUIFunc Remove AUTOHOOK_INIT and AUTOHOOK_DISPATCH
2024-08-27Remove uses of Autohook from `clientvideooverrides.cpp` (#784)Jack
Run callbacks for nested modules, and prevent running callbacks multiple times for the same module. Manually hook BinkOpen Remove AUTOHOOK_INIT and AUTOHOOK_DISPATCH
2024-08-27Remove uses of Autohook from `clientauthhooks.cpp` (#782)Jack
Manually hook AuthWithStryder Manually hook Auth3PToken Remove AUTOHOOK_INIT and AUTOHOOK_DISPATCH
2024-08-27core: Remove unused `CModule` variable (#785)v1.27.4-rc1F1F7Y
Removes unused `CModule` var. CModule crashes when you give it a dll tha's been loaded as one of these: `LOAD_LIBRARY_AS_DATAFILE`, `LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE`, `LOAD_LIBRARY_AS_IMAGE_RESOURCE`. We have guards for this in libsys but not here.
2024-08-27hooking: run callbacks for imported modules (#780)v1.27.3-rc6v1.27.3Jack
Previously we only ran callbacks for modules loaded using WinAPI. This now also runs callbacks for modules imported by those loaded by WinAPI. This fixes callbacks for miles and bink dlls.
2024-08-26Add formatting commit to git-blame-ignore-revsv1.27.3-rc5GeckoEidechse
2024-08-26Format projectNorthstar
2024-08-26Format constructor initializers in a better way (#775)Jack
2024-08-25Fix manual hooks storing their name badly (#774)v1.27.3-rc4v1.27.3-rc3Jack
Fix manual hooks storing their name wrong and move to just using std::string since it's much more convenient and this isn't C
2024-08-25engine: restore `mat_crosshair_printmaterial` concommand (#763)F1F7Y
Restores the `mat_crosshair_printmaterial` concommand by reimplementing it's callback. Adds `CMaterialGlue` and `CShaderGlue` classes.
2024-08-23Add formatting commit to git-blame-ignore-revsGeckoEidechse
2024-08-23Format projectNorthstar
2024-08-23Formatting: Set short inline functions to be on one line (#771)Jack
Allow short inline functions to be on one line as otherwise short getters and setters are expanded way too much.
2024-08-23Try loading XInput 1.4 before trying to load 9.1.0 (#769)Barnaby
XInput 9.1.0 has some limitations to do with XInputGetCapabilities that may make the game behave differently when we use it as a replacement for XInput 1.3 XInput 1.4 doesn't have this issue, which means that if it works correctly we should always prioritise using this version over 9.1.0
2024-08-19Fix casing of `KERNEL32.DLL` (#768)v1.27.3-rc2v1.27.3-rc1Jack
This is a certified windows moment. Case insensitive but also not sometimes I guess
2024-08-18Refactor DLL callbacks (#665)Jack
Cherry-picked from primedev and slightly modified Co-authored-by: F1F7Y <filip.bartos07@proton.me>
2024-08-09Fix postload crash from missing `rpak.json` (#762)v1.27.2-rc2v1.27.2FourthVolt
Missing `rpak.json` would previously crash the game due to faulty boolean logic in the `if` statement. This change ensures that a missing `rpak.json` is handled gracefully.
2024-08-08Add option to manually run merge conflict label action (#760)v1.27.2-rc1GeckoEidechse
so that labels can easily be updated if need be
2024-08-08Add comment explaining time choice for cron job (#759)GeckoEidechse
2024-07-30Add CreateScriptInstance (#692)v1.27.1-rc1v1.27.1v1.27.0-rc1v1.27.0EladNLG
Adds a function that converts entities to SQObjects to the SquirrelManagers.
2024-07-30Only fetch MAD manifesto on server join (#751)Rémy Raes
Previously, the verified mods manifesto was fetched on game start without checking if the verified mod feature is enabled Squirrel-side; with this, the manifesto is only fetched when the user wants to download a mod (meaning they enabled the feature beforehand).
2024-07-28Fix logging sometimes not working (#754)v1.26.4-rc3v1.26.4Jack
Revert #741 and remove log message since it's not a big deal
2024-07-10Define `fs` alias in source file where used (#747)v1.26.4-rc2v1.26.4-rc1v1.26.3-rc3v1.26.3-rc2v1.26.3GeckoEidechse
for filesystem namespace instead of relying on implicit include Co-authored-by: Jan <sentrycraft123@gmail.com>
2024-07-10Fix typo in class member function (#750)GeckoEidechse
`pushSQObject` does not exist Co-authored-by: EladNLG <e1lad8955@gmail.com>
2024-07-10fix: Do not crash on unknown MAD manifesto format (#749)Rémy Raes
Verify JSON has attributes before trying to access them
2024-07-06Fix multiple audio file overrides (#677)v1.26.3-rc1v1.26.2v1.26.1-rc5v1.26.1-rc4v1.26.1Rémy Raes
This basically prevents audio files from being loaded into memory if matching audio event has already been overriden by a previous mod, preventing a crash from occurring. This means that audio mods now respect the load priority, i.e. mods with higher priority (= lower int value) will have priority over other mods on audio overrides.
2024-07-04Expose mods remote status to Squirrel VM (#684)v1.26.1-rc3v1.26.1-rc2v1.26.1-rc1v1.26.0-rc4v1.26.0-rc3v1.26.0Rémy Raes
Add a Squirrel VM method to know if a given mod is remote or not.
2024-07-04Make Script Errors from Northstar Callbacks Fatal (#698)v1.26.0-rc2EladNLG
Because: - Errors are incredibly confusing when non-fatal - there is no indicator that an error is happening - The error is unknown without a try/catch block - Errors cannot be tracked to a line, or file, and its location has to be figured out manually - They can throw a game into an unexpected state with no indicator, confusing both players AND developers
2024-07-04Properly handle invalid cvar replications without blocking netmessage (#408)v1.26.0-rc1BobTheBob
Properly handle invalid cvar replications without blocking netmessage entirely and restore `ns_server_name` replication
2024-06-28Remove unused typedefs from precompiled header (#737)v1.25.4-rc2v1.25.4Jan
2024-06-28Remove precompiled header from wsock proxy (#739)Jan
The wsock proxy is so small and self contained that it really does not benefit from a precompiled header.
2024-06-28Remove EXPORT macro from precompiled header (#738)Jan
as its used once and does not warrant being in the precompiled header
2024-06-28Check for Console Window before allocating one (#741)Jan
Check for Console Window before allocating one and remove "console already exists" from error message, we know it doesn't
2024-06-24Add missing object check in mod manager (#731)v1.25.4-rc1Jan
`HasMember` asserts `IsObject()` internally. In release builds this is not an issue but this does not work on Debug builds.
2024-06-23Fix const-qualified assignment in RapidJSON (#717)v1.25.3-rc3v1.25.3Jan
pulls in https://github.com/Tencent/rapidjson/pull/719 resolves https://github.com/Tencent/rapidjson/issues/2277
2024-06-23Restructure primelauncher cmake logic (#727)Jan
Move primelauncher cmake logic into its subdirectory allowing everything related to it to be self contained
2024-06-22Fix memalloc problems (#728)v1.25.3-rc2Jan
alloc declarations to work with CRT implement missing _recalloc_base and _msize
2024-06-22Use static MSVC Runtime Library (#718)v1.25.3-rc1Jan
I think its best if we use the static runtime to remove more dynamic dependencies that we can't anticipate.
2024-06-22Add overrides to `custom_sink_it_` methods (#708)Jan
the compiler knows we want to override here, since the original `custom_sink_it_` is virtual but we should be explicit to prevent any mistakes.
2024-06-20Remove useless `this` pointer check (#710)v1.25.2-rc1v1.25.2Jan
The standard states that this must always be a valid pointer so these checks are optimized out anyway. Sane compilers, such as clang, also complain about this and state that this is pointless.
2024-06-20Lowercase all linked libraries for building on Linux (#726)Jan
Microsoft, in their infinite wisdom, decided to suffix some libraries with `.Lib` instead of `.lib` This causes issues with cmake on Linux because it only looks for `.lib` which it won't be able to resolve because the file system is case sensitive. Microsoft does this for backwards compatibility, in cmake this is a limitation so the best solution is to bite the bullet and lowercase all libraries which setups such as wine-msvc and xwin already do.
2024-06-20Remove invalid memset in ServerPresence (#709)Jan
The use of sizeof is incorrect here since `this` is a pointer and sizeof is used on the pointer directly, instead of what the pointer points to. It seems to work without issue due to padding but could cause issues if an instanced class like `std::string` gets nulled.
2024-06-19Add missing case for switch cases in JSON deserialization function (#712)v1.25.1-rc2v1.25.1Jan
RapidJSON switch gets a new case for null, where we do nothing. Future enum values would result in a new warning.
2024-06-19Update `actions/upload-artifact` to v4 (#725)GeckoEidechse
v3 is outdated and will soon be deprecated Co-authored-by: Jan <sentrycraft123@gmail.com>
2024-06-19Add clang CI (#721)Jan
Builds Northstar with the Microsoft provided clang-cl build next to MSVC Release builds are unchanged and still only built with MSVC