Age | Commit message (Collapse) | Author |
|
Removes use of AUTOHOOK macro from dedicated.cpp
|
|
|
|
Adds nice thread names that can be visible in crash dumps, non-attachable debuggers and generally in all places where old method of throwing exceptions to attached debugger on game start wouldn't work
|
|
Updates the launcher code to deal with adjusted verified mods JSON structure from the default manifest source
The idea here is to allow installing mods from other sources than Thunderstore.
|
|
This reworks how rpaks are loaded, unloaded and tracked.
It allows for rpak reloading between map loads, meaning that skins and map overhauls could be enabled and disabled on the fly.
Previous methods of loading rpaks still work.
|
|
Remove AUTOHOOK_INIT
|
|
`SourceInteface` class goes back to icepick and is not good. We have a replacement, let's use it.
|
|
Adds more types of crashes to the `crash_test` concommand
|
|
Removes the AUTOHOOK macro from `host.cpp` and replaces it with HookAttach.
|
|
Refactor logic to move Squirrel types to their own respective files and extend existing layouts in the process where applicable.
Contains additional smaller fixes.
|
|
`SourceInteface` class goes back to icepick and is not good. We have a replacement, let's use it.
|
|
`SourceInteface` class goes back to icepick and is not good. We have a replacement, let's use it.
|
|
Removes AUTOHOOK macro from gl_matsysiface.cpp and replaces it with HookAttach
|
|
Replaces the AUTOHOOK macro in `sourceinterface.cpp` with HookAttach.
|
|
Removes AUTOHOOK macro from `languagehooks.cpp`.
|
|
Removes AUTOHOOK macro from `latencyflex.cpp`.
|
|
Removes AUTOHOOK macro from `hooks.cpp`.
|
|
Replace cases of autohook macro with manual hook calls
|
|
Remove use of AUTOHOOK macro from `modlocalisation.cpp`
|
|
Removes AUTOHOOK macro from `rejectconnectionfixes.cpp`.
|
|
Check optional headers size
Check size and address of the image directory
|
|
Removes AUTOHOOK macros from `debugoverlay.cpp` and replaces them with `HookAttach`.
|
|
Removes AUTOHOOK macros from `audio.cpp` and replaces them with `HookAttach`.
|
|
Manually hook DrawRUIFunc
Remove AUTOHOOK_INIT and AUTOHOOK_DISPATCH
|
|
Run callbacks for nested modules, and prevent running callbacks multiple times for the same module.
Manually hook BinkOpen
Remove AUTOHOOK_INIT and AUTOHOOK_DISPATCH
|
|
Manually hook AuthWithStryder
Manually hook Auth3PToken
Remove AUTOHOOK_INIT and AUTOHOOK_DISPATCH
|
|
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.
|
|
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.
|
|
|
|
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
|
|
Restores the `mat_crosshair_printmaterial` concommand by reimplementing it's callback. Adds `CMaterialGlue` and `CShaderGlue` classes.
|
|
|
|
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
|
|
This is a certified windows moment. Case insensitive but also not sometimes I guess
|
|
Cherry-picked from primedev and slightly modified
Co-authored-by: F1F7Y <filip.bartos07@proton.me>
|
|
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.
|
|
Adds a function that converts entities to SQObjects to the SquirrelManagers.
|
|
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).
|
|
Revert #741 and remove log message since it's not a big deal
|
|
for filesystem namespace instead of relying on implicit include
Co-authored-by: Jan <sentrycraft123@gmail.com>
|
|
`pushSQObject` does not exist
Co-authored-by: EladNLG <e1lad8955@gmail.com>
|
|
Verify JSON has attributes before trying to access them
|
|
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.
|
|
Add a Squirrel VM method to know if a given mod is remote or not.
|
|
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
|
|
Properly handle invalid cvar replications without blocking netmessage entirely and restore `ns_server_name` replication
|
|
|
|
The wsock proxy is so small and self contained that it really does not benefit from a precompiled header.
|
|
as its used once and does not warrant being in the precompiled header
|
|
Check for Console Window before allocating one and remove "console already exists" from error message, we know it doesn't
|