aboutsummaryrefslogtreecommitdiff
path: root/gamedata/engine.txt
Commit message (Collapse)AuthorAgeFilesLines
* Improve L4D warp testing and add visualisationGravatar Willian Henrique 2024-08-301-0/+6
| | | | | | | | | | | | | | sst_l4d_testwarp will now unstick the player unless "staystuck" is specifed as an argument. Additionally, sst_l4d_previewwarp is added to show the positions checked by the unstuck logic as well as the line-of-sight traces performed. Committer's note: the actual box-drawing logic was essentially rewritten by me since I realised the order of drawing didn't matter at all. All the code-digging logic is more-or-less still what bill wrote, though. So, you could say we have joint authorship of this, I suppose. Not that that's a huge deal, but if anyone's ever curious or if it ever legally matters for some reason then, well, there you go.
* Add very basic client console messaging for L4D2Gravatar Michael Smith 2024-08-291-2/+5
| | | | | | | | This isn't totally ideal - it'd be nice to have a way to get colours working, at least for errors/warnings. But it might not really be possible to do that without custom networking stuff, so this will do for the forseeable future. The main goal is just to be able to have CON_SERVERSIDE commands actually give output to the relevant player.
* Fix mkentprops for real this time, probablyGravatar Michael Smith 2024-08-291-1/+1
| | | | | Last fix was apparently enough to make the release work, but not enough to actually work in general, lol. With any luck, it's actually good now.
* Fix PEntityOfEntIndex gamedata for Portal 4104Gravatar Matthew Wozniak 2024-08-231-1/+1
| | | | This enables the FOV feature to work correctly.
* Rewrite the gamedata and entprops systems entirelyGravatar Michael Smith 2024-08-231-0/+162
This removes the horrible janky old KeyValues parser and replaces it with a couple of trivial ad-hoc text parsers. In doing so, make the format of the actual gamedata files more human-friendly too. We also gain support for nested SendTables in mkentprops, which are required to get at various things like player velocity. And, the actual string matching is made more efficient (or, at least, more scalable) by way of a cool radix tree thing which generates a bunch of switch cases on distinct characters.