<feed xmlns='http://www.w3.org/2005/Atom'>
<title>zirc/src/player.zig, branch main</title>
<subtitle>Zig raycaster fun</subtitle>
<id>https://git.l-3.space/zirc/atom/src/player.zig?h=main</id>
<link rel='self' href='https://git.l-3.space/zirc/atom/src/player.zig?h=main'/>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/'/>
<updated>2021-10-10T20:00:55Z</updated>
<entry>
<title>Refactor: extract rendering code from Player struct into Renderer</title>
<updated>2021-10-10T20:00:55Z</updated>
<author>
<name>tslil clingman</name>
<email></email>
</author>
<published>2021-10-10T19:31:36Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/commit/?id=cb15709551921e111d2648f7d6545e4d0e3fdcd6'/>
<id>urn:sha1:cb15709551921e111d2648f7d6545e4d0e3fdcd6</id>
<content type='text'>
Some bonus off by ones and rounding corrections
</content>
</entry>
<entry>
<title>Off by ones!</title>
<updated>2021-10-10T16:58:17Z</updated>
<author>
<name>tslil clingman</name>
<email></email>
</author>
<published>2021-10-10T16:58:17Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/commit/?id=442f7210ea40f7f74b752575ee81b5f9394d6ea9'/>
<id>urn:sha1:442f7210ea40f7f74b752575ee81b5f9394d6ea9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed some artefacts for walls with both lower and upper parts</title>
<updated>2021-10-09T01:38:41Z</updated>
<author>
<name>tslil clingman</name>
<email></email>
</author>
<published>2021-10-09T01:38:41Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/commit/?id=1aad9b2a1c5e86c8c6ea635772db5ddb20af39ed'/>
<id>urn:sha1:1aad9b2a1c5e86c8c6ea635772db5ddb20af39ed</id>
<content type='text'>
I can't quite explain it, but something about the way floating point
numbers round meant that we weren't calculating consistent
distances (in pixels) for the length of the strip between the top of
the floor and the bottom of the ceiling in cells which had both.
</content>
</entry>
<entry>
<title>Variable height ceilings!</title>
<updated>2021-10-07T15:33:36Z</updated>
<author>
<name>tslil clingman</name>
<email></email>
</author>
<published>2021-10-07T15:25:09Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/commit/?id=d4f2376bb0ea219b79dac3f4f37b77342ca6ef4a'/>
<id>urn:sha1:d4f2376bb0ea219b79dac3f4f37b77342ca6ef4a</id>
<content type='text'>
Plus bonus graphical artefacts around the edges of such! In the end
the majority of this code was rather easy: take the upwards floor
drawing code and reflect it.

However, there were many edge-cases and plenty of off-by-one pixels
and rounding issues that didn't quite work the same way going down as
they do going up. Also the object drawing code used to take advantage
of the fact that the z-buffer was painted bottom-up only, so that
required change too.
</content>
</entry>
<entry>
<title>Of course i didn't need i32 ...</title>
<updated>2021-09-26T16:10:44Z</updated>
<author>
<name>tslil clingman</name>
<email></email>
</author>
<published>2021-09-26T16:10:44Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/commit/?id=8ddc801e21bb02d0de20351f692b48e2e19c94c4'/>
<id>urn:sha1:8ddc801e21bb02d0de20351f692b48e2e19c94c4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>There was really no reason to use a BoundedArray instead of an array</title>
<updated>2021-09-23T03:13:34Z</updated>
<author>
<name>tslil clingman</name>
<email></email>
</author>
<published>2021-09-23T03:12:19Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/commit/?id=48f51653ae90bdabb5bb738a5c78cd9a53f498a9'/>
<id>urn:sha1:48f51653ae90bdabb5bb738a5c78cd9a53f498a9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Switch to more accurate version</title>
<updated>2021-09-23T03:05:38Z</updated>
<author>
<name>tslil clingman</name>
<email></email>
</author>
<published>2021-09-23T03:05:38Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/commit/?id=d932cb0a1fd0235c8f298dd7f3acbf2864338903'/>
<id>urn:sha1:d932cb0a1fd0235c8f298dd7f3acbf2864338903</id>
<content type='text'>
Pre-emptive micro-optimisation is bad. There aren't that many sprites
pixels usually anyway.
</content>
</entry>
<entry>
<title>Colour blending</title>
<updated>2021-09-23T02:59:31Z</updated>
<author>
<name>tslil clingman</name>
<email></email>
</author>
<published>2021-09-23T02:46:47Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/commit/?id=9d25e1d69dede7d79ca9115a4ce4e65af49b8ddc'/>
<id>urn:sha1:9d25e1d69dede7d79ca9115a4ce4e65af49b8ddc</id>
<content type='text'>
Some amount of work went into finding appropriate integer arithmetic
formulae that were reasonably accurate. At this point i've settled for
the incorrect-but-faster version. The better-though-slower formulas
are still there in case i change my mind.

It would help to have an assumption such as, but not limited to, the
surfaces are always going to be fully opaque.
</content>
</entry>
<entry>
<title>Render objects by writing pixels</title>
<updated>2021-09-21T02:41:32Z</updated>
<author>
<name>tslil clingman</name>
<email></email>
</author>
<published>2021-09-21T02:38:04Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/commit/?id=a657cc828cdcbb07f460d53f78a12dfe00a57325'/>
<id>urn:sha1:a657cc828cdcbb07f460d53f78a12dfe00a57325</id>
<content type='text'>
This confines hardware acceleration to scaling and the background
sprite. Unfortunately it would seem that to do proper object
rendering (partial transparency) i'll have to implement colour mixing
myself.
</content>
</entry>
<entry>
<title>Corrected rendering bug</title>
<updated>2021-09-21T02:03:21Z</updated>
<author>
<name>tslil clingman</name>
<email></email>
</author>
<published>2021-09-21T01:17:01Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/commit/?id=276804c4b8db837e238880d4bc668ed6c65dd42a'/>
<id>urn:sha1:276804c4b8db837e238880d4bc668ed6c65dd42a</id>
<content type='text'>
</content>
</entry>
</feed>
