<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mike/sst/src/demorec.h, branch v0.18-BETA</title>
<subtitle>Source Speedrun Tools: practice tools and handy features for Source Engine games</subtitle>
<id>https://qdb.woz.blue/mike/sst/atom?h=v0.18-BETA</id>
<link rel='self' href='https://qdb.woz.blue/mike/sst/atom?h=v0.18-BETA'/>
<link rel='alternate' type='text/html' href='https://qdb.woz.blue/mike/sst/'/>
<updated>2026-10-10T03:23:05+00:00</updated>
<entry>
<title>Add very basic speedrun demo record helper</title>
<updated>2026-10-10T03:23:05+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2026-04-04T00:34:31+00:00</published>
<link rel='alternate' type='text/html' href='https://qdb.woz.blue/mike/sst/commit/?id=c219ee378c374ceaf576ac477ccbe34a73e65d94'/>
<id>urn:sha1:c219ee378c374ceaf576ac477ccbe34a73e65d94</id>
<content type='text'>
To be enhanced and extended later!
</content>
</entry>
<entry>
<title>Add type-safety to virtual calls and accessors</title>
<updated>2025-04-17T19:02:18+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2025-04-17T00:39:10+00:00</published>
<link rel='alternate' type='text/html' href='https://qdb.woz.blue/mike/sst/commit/?id=8a669bc96ffdb9d0f6f54e464da11e3375c80a55'/>
<id>urn:sha1:8a669bc96ffdb9d0f6f54e464da11e3375c80a55</id>
<content type='text'>
This probably should have been the design from the start.

It's still possible to use void pointers, and this is done in a couple
of places for simplicity, but wherever possible, we have actual structs
for things now.

Additionally, in places where vtables are fiddled with, e.g. vtable
hooks, we have actual struct definitions with vtable pointers so there's
need for pointer-casting horror.
</content>
</entry>
<entry>
<title>Remove years from copyright headers</title>
<updated>2025-04-07T20:31:32+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2025-04-07T20:31:32+00:00</published>
<link rel='alternate' type='text/html' href='https://qdb.woz.blue/mike/sst/commit/?id=58b495650f7613cdebfe78fff9de2b99556f1998'/>
<id>urn:sha1:58b495650f7613cdebfe78fff9de2b99556f1998</id>
<content type='text'>
They're legally unnecessary as far as I know, and kind of annoying to
maintain on a long-term basis.

This was done with the consent of all 3 other contributors, in case
anyone was wondering.
</content>
</entry>
<entry>
<title>Use C23 void-argument-free prototypes</title>
<updated>2025-04-06T15:41:13+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2025-03-10T20:37:28+00:00</published>
<link rel='alternate' type='text/html' href='https://qdb.woz.blue/mike/sst/commit/?id=daa55cade14146f04814cf8a7ad2028becf4db66'/>
<id>urn:sha1:daa55cade14146f04814cf8a7ad2028becf4db66</id>
<content type='text'>
In the future we can also consider moving to {} instead of {0} for
initialisers, but my old Clang (16) doesn't support this, so it might be
wise to wait longer on that one so people don't need too bleeding-edge
of a compiler just to build this thing.
</content>
</entry>
<entry>
<title>Make various preparations for upcoming features</title>
<updated>2023-08-02T20:02:31+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2023-07-29T13:32:06+00:00</published>
<link rel='alternate' type='text/html' href='https://qdb.woz.blue/mike/sst/commit/?id=9a0d8730fa977f666b5c12e4c5901e7d0391e245'/>
<id>urn:sha1:9a0d8730fa977f666b5c12e4c5901e7d0391e245</id>
<content type='text'>
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
</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://qdb.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>Add magical feature codegen system, at long last</title>
<updated>2022-08-10T21:40:52+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2022-07-31T15:02:10+00:00</published>
<link rel='alternate' type='text/html' href='https://qdb.woz.blue/mike/sst/commit/?id=5e921bf59373d79d27c322ff86e8b5a37b151e45'/>
<id>urn:sha1:5e921bf59373d79d27c322ff86e8b5a37b151e45</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Split custom demo data into its own file/feature</title>
<updated>2022-07-23T18:07:03+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2022-07-20T17:12:00+00:00</published>
<link rel='alternate' type='text/html' href='https://qdb.woz.blue/mike/sst/commit/?id=4721f53cb21dfa18dc787581fac0d2a25f0a9690'/>
<id>urn:sha1:4721f53cb21dfa18dc787581fac0d2a25f0a9690</id>
<content type='text'>
Copyright note: the stuff Bill wrote is all still in the other file.
</content>
</entry>
<entry>
<title>Spruce up text and fix some copyright years</title>
<updated>2022-03-19T04:36:59+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2022-03-19T04:36:59+00:00</published>
<link rel='alternate' type='text/html' href='https://qdb.woz.blue/mike/sst/commit/?id=e5cd34649c09a0a31cd27fc93efb7583de48b078'/>
<id>urn:sha1:e5cd34649c09a0a31cd27fc93efb7583de48b078</id>
<content type='text'>
Sometimes, you just want to Unicode.
</content>
</entry>
<entry>
<title>Add custom demo packet stuff</title>
<updated>2021-12-27T03:14:47+00:00</updated>
<author>
<name>Michael Smith</name>
<email>mikesmiffy128@gmail.com</email>
</author>
<published>2021-12-27T03:14:47+00:00</published>
<link rel='alternate' type='text/html' href='https://qdb.woz.blue/mike/sst/commit/?id=8eecc029568bbe8e2f3c0d9af218ad3f957251c9'/>
<id>urn:sha1:8eecc029568bbe8e2f3c0d9af218ad3f957251c9</id>
<content type='text'>
This is more old code that wasn't part of the initial release. Figure I
might as well throw it in for later.
</content>
</entry>
</feed>
