Age | Commit message (Collapse) | Author |
|
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.
|
|
In both the engine and SST it's used in more places than just console
printing, so it makes more sense to give it a more appropriate nanme and
location.
|
|
|
|
|
|
|
|
I'd noticed this at some point but it didn't seem to matter, and now all
of sudden it does matter because magic. The hook just stopped working
suddenly.
|
|
Default gamedata values actually work the way they're supposed to now.
|
|
They're literally always defined thusfar, and it's always possible to
include specific headers for other stuff. So, rather than litter the
source with defines (which might not even work in the likes of os.h if
some other system header already decided to define/include stuff), let's
just define it at the build script level.
|
|
Turns out creating the input window on the main thread means it actually
gets events from the game's event loop on the main thread which means we
don't have to do our own event loop at all and in fact doing so is kind
of broken and causes thread lockups and leaks and other such nonsense.
|
|
It's archive so you can set m_rawinput 1, load SST via VDF and then
never think about it again.
|