<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mike/sst, branch v0.7-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.7-BETA</id>
<link rel='self' href='https://git.woz.blue/mike/sst/atom?h=v0.7-BETA'/>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/'/>
<updated>2024-08-26T00:52:43+00:00</updated>
<entry>
<title>Add update notes and bump zip version for release</title>
<updated>2024-08-26T00:52:43+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2024-08-26T00:52:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=33582641a9c01a6a3d62ae232f96c74299182885'/>
<id>urn:sha1:33582641a9c01a6a3d62ae232f96c74299182885</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add a quick hack fix for Portal 4104 demo playback</title>
<updated>2024-08-23T19:57:56+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2024-08-22T00:09:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=0ad204f21940745c35a665e3f367b9331322c3f4'/>
<id>urn:sha1:0ad204f21940745c35a665e3f367b9331322c3f4</id>
<content type='text'>
Thanks Evan Lin for doing the hard RE work to figure out the necessary
patch - I just reimplemented that here in about the dumbest way
possible.
</content>
</entry>
<entry>
<title>Fix PEntityOfEntIndex gamedata for Portal 4104</title>
<updated>2024-08-23T19:40:01+00:00</updated>
<author>
<name>Matthew Wozniak</name>
<email>sirtomato999@gmail.com</email>
</author>
<published>2024-08-21T23:05:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=484b72706964e05d15b3c0e114ea0502ba4a07db'/>
<id>urn:sha1:484b72706964e05d15b3c0e114ea0502ba4a07db</id>
<content type='text'>
This enables the FOV feature to work correctly.
</content>
</entry>
<entry>
<title>Rewrite the gamedata and entprops systems entirely</title>
<updated>2024-08-23T19:40:01+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2024-08-21T23:02:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=cf0354eb8e043fcd9c6c17756701972f948a16f1'/>
<id>urn:sha1:cf0354eb8e043fcd9c6c17756701972f948a16f1</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Fix an old and stupid woopsy in hud.h</title>
<updated>2024-08-23T19:37:37+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2024-08-04T16:56:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=78323e416f79ef9c26bbd742082627bc45e116c1'/>
<id>urn:sha1:78323e416f79ef9c26bbd742082627bc45e116c1</id>
<content type='text'>
This wasn't woz's fault - I did some wrangling of his code and
introduced this woopsy without noticing.

Thanks to aciidz also, for pointing it out recently.

Not touching the copyright years because it's such a stupidly trivial
thing - I can't really claim to have done anything substantial here.
</content>
</entry>
<entry>
<title>Revise syntax macros and add a ton of branch hints</title>
<updated>2024-08-23T19:37:37+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2024-08-03T22:40:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=83da606072ce272eb053d4e1497d77e647cfecae'/>
<id>urn:sha1:83da606072ce272eb053d4e1497d77e647cfecae</id>
<content type='text'>
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!
</content>
</entry>
<entry>
<title>Prevent errorlevel weirdness in compile.bat</title>
<updated>2024-08-21T23:01:06+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2024-08-03T15:14:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=acbd30e0427b16f885f96aed59881ec04eff25bc'/>
<id>urn:sha1:acbd30e0427b16f885f96aed59881ec04eff25bc</id>
<content type='text'>
This is an issue I've known about for a little while and kept forgetting
to fix here. It's not been a huge issue for anyone, but still, improving
correctness is always a good thing.

Essentially, if you run a batch file straight through cmd /c, rather
than interactively, exit /b with no number doesn't actually propagate
the errorlevel value correctly, which is obviously bad. To fix this,
just jump to the end on error and then explicitly return the errorlevel.
If everything succeeds, this will of course still return 0, as expected.

Special thanks go to Microsoft for writing this bug decades ago and
never fixing it, probably in the name of backwards compatibility.
</content>
</entry>
<entry>
<title>Rework OS abstractions</title>
<updated>2024-08-21T23:01:06+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2024-08-03T15:11:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=44902cb49cd51e2bb2f1cef05cb3c0e799b83434'/>
<id>urn:sha1:44902cb49cd51e2bb2f1cef05cb3c0e799b83434</id>
<content type='text'>
- As much as possible avoid dragging system headers into translation
  units. This should avoid namespace pollution and, hopefully, speed up
  builds a little bit.

- Avoid leaning on the UCRT so much on Windows - prefer native win32
  calls and native file handles except where doing so is inconvenient
  (in particular, for stat(), which we might try and replace later).

- Also, switch from SystemFunction036 to ProcessPrng on Windows. This
  requires us to generate a stub for bcryptprimitives.dll because
  Microsoft haven't bothered to provide a link library, but the function
  is better-documented and seems to be a more direct under-the-hood call
  as well. Apparently it's what's used by the major web browsers these
  days, which seems like a good indication it's stable and trusted.

- Lastly, remove a bunch of functions and macros and stuff that weren't
  actually being used. It seems good to try and keep the scope of
  OS-dependent stuff relatively contained and only add to it when
  actually required.
</content>
</entry>
<entry>
<title>Bump the version to 0.7, ahead of next release</title>
<updated>2024-08-05T20:03:27+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2024-08-05T20:00:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=01ec55edd9f767bebb1222c88f0e53e9cf8b2d59'/>
<id>urn:sha1:01ec55edd9f767bebb1222c88f0e53e9cf8b2d59</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Hotfix broken Portal 5135 autojump</title>
<updated>2024-05-28T00:44:59+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2024-05-28T00:41:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.woz.blue/mike/sst/commit/?id=604dbdc53b34c25e53b19e37ab33fc09cef9111e'/>
<id>urn:sha1:604dbdc53b34c25e53b19e37ab33fc09cef9111e</id>
<content type='text'>
The tf_arena_max_streak check turns out not to work on autoload since
the client isn't loaded yet so the cvar doesn't exist yet. Using the
server-side cvar tf_escort_score_rate appears to do for now.

Also bump the zip date again since I'm doing this after midnight :^)
</content>
</entry>
</feed>
