<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mike/sst/gamedata, branch v0.5-BETA</title>
<subtitle>Source Speedrun Tools: practice tools and handy features for Source Engine games</subtitle>
<id>https://git.woz.blue/mike/sst/atom?h=v0.5-BETA</id>
<link rel='self' href='https://git.woz.blue/mike/sst/atom?h=v0.5-BETA'/>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/'/>
<updated>2023-06-03T12:25:12+00:00</updated>
<entry>
<title>Adapt vote reset code into fast campaign resetting</title>
<updated>2023-06-03T12:25:12+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2023-06-02T16:03:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=602a18977d500ad068fd63fbedcafb630c29ee72'/>
<id>urn:sha1:602a18977d500ad068fd63fbedcafb630c29ee72</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Add command to reset L4D2 vote cooldowns</title>
<updated>2023-05-21T21:11:16+00:00</updated>
<author>
<name>Willian Henrique</name>
<email>wsimanbrazil@yahoo.com.br</email>
</author>
<published>2023-05-08T21:38:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=c2bb37238d02e1634242607a9079c5033138ced7'/>
<id>urn:sha1:c2bb37238d02e1634242607a9079c5033138ced7</id>
<content type='text'>
In most versions of L4D2, players cannot call a vote (e.g. switch
campaign, change difficulty, restart campaign) more than once every 3
minutes. This makes resetting on a first map a pain, usually requiring
reloading the map to reset the vote state.

This new sst_l4d_vote_cooldown_reset command empties the list of
structures tracking vote callers, allowing all players to vote again
immediately. This should make resetting runs a lot easier on versions
without unlimited votes.
</content>
</entry>
<entry>
<title>Implement APIs to control demo recording</title>
<updated>2023-05-04T23:06:17+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2023-05-04T23:04:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=3ff6d47277fc0e39053584d8889240cab446a72a'/>
<id>urn:sha1:3ff6d47277fc0e39053584d8889240cab446a72a</id>
<content type='text'>
This is a surprise tool that will help us later!
</content>
</entry>
<entry>
<title>Fix deferred init for Portal 2 compatibility</title>
<updated>2023-01-15T15:17:51+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2022-12-26T14:29:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=a4afb6714f67c029310c0853ff47fdef354e2e72'/>
<id>urn:sha1:a4afb6714f67c029310c0853ff47fdef354e2e72</id>
<content type='text'>
Thanks Bill for figuring out what the problem was.
</content>
</entry>
<entry>
<title>Add basic mouse input scaling</title>
<updated>2022-12-25T11:03:50+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2022-12-25T11:03:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=9a09c605402e6ff74f93f7fe7afc50ccc785acc3'/>
<id>urn:sha1:9a09c605402e6ff74f93f7fe7afc50ccc785acc3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add stuff to track keypresses</title>
<updated>2022-07-23T18:07:03+00:00</updated>
<author>
<name>Willian Henrique</name>
<email>wsimanbrazil@yahoo.com.br</email>
</author>
<published>2022-07-16T17:08:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=b53b780e1b14e174204457765b4a0a72b6d2924f'/>
<id>urn:sha1:b53b780e1b14e174204457765b4a0a72b6d2924f</id>
<content type='text'>
Committer's note: this is somewhat adapted from Bill's original code,
written a while back, but he gets full credit for actually doing the
hard part.
</content>
</entry>
<entry>
<title>Properly solve load order issues via deferred init</title>
<updated>2022-05-19T11:57:55+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2022-05-19T11:51:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=c83de76ad2f59927cf01bcfbae18a5d598159bb7'/>
<id>urn:sha1:c83de76ad2f59927cf01bcfbae18a5d598159bb7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add a quick stopgap hack for Portal purposes</title>
<updated>2022-05-19T11:54:33+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2022-05-16T21:15:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=fb9720610488c2d8da1bd77739b01d8275735b49'/>
<id>urn:sha1:fb9720610488c2d8da1bd77739b01d8275735b49</id>
<content type='text'>
People want to be able to write a scheduled-release passphrase to demos
to prove that said demos were recorded during a timeboxed event. Ideally
this is something that'd be part of the custom demo data and general RTA
run management stuff that's planned, but of course that doesn't exist
yet. When it does exist, we'd probably want rid of this nonsense, so
it's marked hidden and I don't plan to document it anywhere "official."
It's just here for people who really need it in the short term.
</content>
</entry>
<entry>
<title>Fix GetEngineBuildNumber and entity property stuff</title>
<updated>2022-05-15T22:05:41+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2022-05-15T22:05:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=9009f75bf5fd33e13abae5762d31968b39f233c3'/>
<id>urn:sha1:9009f75bf5fd33e13abae5762d31968b39f233c3</id>
<content type='text'>
I still haven't bothered to flesh out all the possible indices for
GetEngineBuildNumber but we're back to being able to use it to detect
The Last Stand (as a result of some old version testing Aciidz did -
thanks again!). This means we can do away with the terrible map file-
based hotfix. Also, turns out sst_l4d_testwarp doesn't work if the
plugin gets loaded early via VDF because certain SendTable offsets start
out negated, so we work around that too now.
</content>
</entry>
<entry>
<title>Properly finish refactoring con to use gamedata</title>
<updated>2022-05-13T15:01:38+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2022-05-13T15:01:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=831862bec84dde31a0568ec8a2f2b0170e18a973'/>
<id>urn:sha1:831862bec84dde31a0568ec8a2f2b0170e18a973</id>
<content type='text'>
</content>
</entry>
</feed>
