summaryrefslogtreecommitdiffhomepage
path: root/src/l4dreset.c
AgeCommit message (Collapse)Author
2024-08-23Revise syntax macros and add a ton of branch hintsMichael Smith
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!
2024-05-22Support fast-forwarding 38 custom L4D2 campaignsHayden K
2024-05-21Deal with the stupid NVDTOR situationMichael Smith
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.
2024-01-21Rethink mem_loadoffset, and consequently, kill itMichael Smith
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.
2023-12-17Cancel fast-forward after the player disconnectsMichael Smith
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/).
2023-12-13Improve quickreset command descriptions a bitMichael Smith
2023-12-05Add fast-forward gaps for checking item spawnsMichael Smith
This complicates things greatly! Therefore, it's a separate commit to the baseline fast-forward functionality, to keep the confusing stuff relatively contained.
2023-12-04Add cutscene skipping to L4D quick resetMichael Smith
Also done with quite a lot of RE help from bill - thanks again!
2023-06-10Prune some comments and tidy up other minor thingsMichael Smith
2023-06-03Adapt vote reset code into fast campaign resettingMichael Smith
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.