Age | Commit message (Collapse) | Author |
|
|
|
This isn't perfect logic - the standard crosshair has a lot more cases
where it's not displayed - but it's better than nothing and avoids
looking stupid as often.
In the process, also fix the IConVar virtual table being one entry too
small, which somehow wasn't a problem until it led to vtidx_IsInGame
here getting clobbered and causing hard-to-debug crashes. Woopsy!
|
|
|
|
|
|
|
|
I've resisted doing this for a long time but it's getting to the point
where blocking a release indefinitely is a real problem, and this
satisfies the original request from some leaderboard people to just make
SST identifiable in some way or another. It means the demo stuff can
happen at whatever pace it happens at and other stuff can happen
independently. Less stress and sadness.
Of course, it'll only be kept in as long as required, but there'll be
no rush to get rid of it for any particular release either.
|
|
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.
|
|
|
|
Woops! Thanks Uncrafted for reporting this.
|
|
|
|
I will probably forget to do this every year.
|
|
|
|
|
|
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.
|
|
|
|
Currently only supports Orange Box and Left 4 Dead branches. There's
quite a large amount of gamedata involved in making this work, and
figuring it out for the likes of Portal 2 doesn't seem like a major
priority at the moment.
|
|
Of course, this has only been used at build time for quite a while now.
Silly oversight!
The linker would have dropped it anyway so this will just avoid some
wasted effort.
|
|
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/).
|
|
|
|
This complicates things greatly! Therefore, it's a separate commit to
the baseline fast-forward functionality, to keep the confusing stuff
relatively contained.
|
|
|
|
|
|
Also done with quite a lot of RE help from bill - thanks again!
|
|
This fixes a crash in later L4D2 versions caused by the fact we were
unknowingly hooking Key_Event already. Now we hook it all the time on
purpose.
|
|
Thanks bill for spotting this issue. It was causing crashes on unload,
which is obviously no good.
|
|
This will be mostly useful for skipping cutscenes in Left 4 Dead games.
It may work in other games, but probably won't really be as useful.
Committer's note: this was adapted a fair bit from woz's original code,
hence the joint copyright, but he did most the hard work of figuring out
how to get this deep into the engine's call stack. Thanks!
bill also provided a fair bit of help figuring out missing gamedata and
fixing compatibility with L4D2 2147 and later. Also thanks!
|
|
|
|
Because why not.
|
|
|
|
|
|
- Add a couple of overdue -Werrors that make life easier
- Reshuffle cc/ld flags a bit, mainly around -fuse-ld=lld
|
|
|
|
This will save users having to install the VS runtime in order to load
the plugin. Turns out there was very little to implement to make this
work.
Turning off stack probing might cause spooky outcomes further down the
line but we'll burn that bridge when we get there.
|
|
Reminder not to actually use any of the code I write until it's at least
been included in a few releases of something. :^)
|
|
Nothing really works yet, but at least test.h and fastspin are fixed and
some of the issues with RTTI and libdl and stuff are maybe kind of
sorted, subject to more testing later.
The main issue now seems to be the cvar interface not quite lining up
and crashing pretty much immediately. That'll probably take a lot more
debugging to figure out, which likely still won't be a priority for
quite a while.
|
|
Thinks, bill.
|
|
Apparently there's slightly longer code for whatever reason which made
32 too conservative of a search window. Easy fix!
|
|
|
|
|
|
|
|
A lot of this is random WIP from a while back, at least a month ago, and
is being committed now to get it out of the way so that other patches
can be brought in and integrated against it without causing headaches.
Also rolled into this commit is a way to distinguish plugin_unload from
exiting the game. This is required for another soon-to-be-integrated
feature to avoid crashing on exit, and could in theory also be used to
speed up unloading on exit in future. While we're at it, this also
avoids the need to linearly scan through the plugin list to do the
old branch unloading fix, because we can.
Rough summary of the other smaller stuff I can remember doing:
- Rework bitbuf a bit
- Add some cryptographic nonsense in ac.c (not final at all)
- Introduce the first couple of "chunklets" libraries as a sort-of
subproject of this one
- Tidy up random small bits and bobs
- Add source for a small keypair generation tool
- Rework democustom to be very marginally more useful
|
|
Basically for documentation purposes and to ensure it exists outside of
my own server; this was a VERY write-only script and is already in
fairly wide use so I don't expect to edit it very much.
|
|
Absolutely no idea how long this has been broken for!
|
|
|
|
|
|
It's very very likely to actually get used in the next release, I swear.
This reverts commit 7893ef46f85eb5a6021d6ab763ca84e382e64954.
|
|
There's a solid chance this actually gets used this time. Plus, there's
breaking changes, so it makes sense to update before writing any actual
code for it.
The RNG module is also manually fixed up; upstream wasn't moved to the
new Monocypher APIs which might be because the authors don't seem to
think it's even a good idea to use anything other than arc4random().
Maybe I'd kind of agree with that if not for both Linux and Windows not
having arc4random(), and none of SSTs use cases requiring it either
(none of the crypto code is gonna be multithreaded and certainly none of
it is gonna fork).
|
|
|
|
That sorting function was a bit wonky, so make it just a little bit
wonky instead. chibicc would produce confusing lex errors if given a
stray single quote somewhere, so make it give non-confusing errors.
Also get rid of canonicalize_newline() because it's unnecessary for SST
so long as Windows Git isn't left in its default misconfigured state.
|
|
|