aboutsummaryrefslogtreecommitdiff
path: root/src/l4dreset.c
Commit message (Collapse)AuthorAgeFilesLines
* Revise syntax macros and add a ton of branch hintsGravatar Michael Smith 2024-08-231-17/+17
| | | | | | | | | My new programming style is branch hints. All non-confusing branches must be hinted when I can be bothered. It's faster, sometimes, maybe. Also, start trying to use more signed sizes in at least some of the places where it makes sense. Unsigned sizes are surprisingly error-prone!
* Support fast-forwarding 38 custom L4D2 campaignsGravatar Hayden K 2024-05-221-17/+109
|
* Deal with the stupid NVDTOR situationGravatar Michael Smith 2024-05-211-7/+1
| | | | | | | Bill suggested using abi.h for this. Not sure if it's 100% ideal to need to pull in the whole header for this one macro but it's arguably better than most alternatives and definitely better than just continuing to duplicate it ad nauseam.
* Rethink mem_loadoffset, and consequently, kill itGravatar Michael Smith 2024-01-211-7/+7
| | | | | | | | | Suggested by bill. Having something semantically pointer-sized that's only ever used for stuff that's always 32-bit doesn't really make sense. Note that I intentionally did not add a copyright line for myself in hud.c because, I mean, come on. I'll just say I waive any claim to that tiny trivial change.
* Cancel fast-forward after the player disconnectsGravatar Michael Smith 2023-12-171-10/+21
| | | | | | | | Avoids spurious and confusing fast-forward behaviour in the event of resetting a run, then disconnecting early and deciding to load some other map. Also fixes a stupid typo (s/propand/propane/).
* Improve quickreset command descriptions a bitGravatar Michael Smith 2023-12-131-2/+2
|
* Add fast-forward gaps for checking item spawnsGravatar Michael Smith 2023-12-051-38/+110
| | | | | | This complicates things greatly! Therefore, it's a separate commit to the baseline fast-forward functionality, to keep the confusing stuff relatively contained.
* Add cutscene skipping to L4D quick resetGravatar Michael Smith 2023-12-041-14/+201
| | | | Also done with quite a lot of RE help from bill - thanks again!
* Prune some comments and tidy up other minor thingsGravatar Michael Smith 2023-06-101-24/+15
|
* Adapt vote reset code into fast campaign resettingGravatar Michael Smith 2023-06-031-0/+243
This is kind of a breaking change but the other code was obviously never released or relied on by anyone - it will be pushed at the same time as this in fact. It still seems worth having the original committed separately to show the progression of development of the feature, however. Technically the standalone vote cooldown resetting could also be added back if ever desired however there doesn't seem to be that much of a use case for that at the moment. This feature ought to be a lot more convenient now as it allows for resetting back to a set starting point no matter where the player is in a run. It isn't universally useful as All Campaigns Legacy solo runs require switching to a different type of server and Main Campaigns co-op runs require restarting the game after Swamp Fever to work around the god mode bug, however it is still useful in a good few situations. Unfortunately this turned out to be pretty complex to implement, first requiring a bunch of interop with valve's rather wacky KeyValues stuff, and then requiring a bunch of especially difficult reverse engineering of L4D1 v1.0.0.5 because it doesn't use said KeyValues stuff and does something else completely different instead. A side effect of all this work is that the nag removal hack is now part of the KeyValues stuff in kvsys.c, which is kind of a comfier place for it than just kind of dumped in the middle of sst.c.