<feed xmlns='http://www.w3.org/2005/Atom'>
<title>zirc/src/main.zig, branch main</title>
<subtitle>Zig raycaster fun</subtitle>
<id>https://git.l-3.space/zirc/atom/src/main.zig?h=main</id>
<link rel='self' href='https://git.l-3.space/zirc/atom/src/main.zig?h=main'/>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/'/>
<updated>2021-10-12T15:35:17Z</updated>
<entry>
<title>No need to recalculate the index inside each loop</title>
<updated>2021-10-12T15:35:17Z</updated>
<author>
<name>tslil clingman</name>
<email></email>
</author>
<published>2021-10-12T15:35:17Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/commit/?id=1a00dd2342292e545d3aa26c2c0eadc80caedf5c'/>
<id>urn:sha1:1a00dd2342292e545d3aa26c2c0eadc80caedf5c</id>
<content type='text'>
Here's hoping Zig is smart enough (TM) to constant-ify all of these
@floatToInt(type, PlaneXXX) values.
</content>
</entry>
<entry>
<title>Fix many texture bugs, access memory in increasing order everywhere</title>
<updated>2021-10-12T02:56:39Z</updated>
<author>
<name>tslil clingman</name>
<email></email>
</author>
<published>2021-10-12T01:55:39Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/commit/?id=b21e399bd09577d2eef78d81c0db642ba4c390b7'/>
<id>urn:sha1:b21e399bd09577d2eef78d81c0db642ba4c390b7</id>
<content type='text'>
- switch z_buffer to use screen space coordinates (why does y increase
  downward!)
- extract pointless (re)calculations from inside hot loops, in
  particular from object drawing but also to the extent allowed by
  applicable law from floor and ceiling drawing
</content>
</entry>
<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>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>remap controls</title>
<updated>2021-09-27T01:32:03Z</updated>
<author>
<name>tslil clingman</name>
<email></email>
</author>
<published>2021-09-27T01:30:04Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/commit/?id=72dcaf8b2f811d0d1525592b2a1a63327b2fbc7a'/>
<id>urn:sha1:72dcaf8b2f811d0d1525592b2a1a63327b2fbc7a</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>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>Render walls by pixels, instead of using hard. accel. sprites</title>
<updated>2021-09-21T00:58:03Z</updated>
<author>
<name>tslil clingman</name>
<email></email>
</author>
<published>2021-09-21T00:54:57Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/commit/?id=354ac874c570eda2d8d17e1709f8e40d7a79f623'/>
<id>urn:sha1:354ac874c570eda2d8d17e1709f8e40d7a79f623</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Corrected movement</title>
<updated>2021-09-16T17:04:19Z</updated>
<author>
<name>tslil clingman</name>
<email></email>
</author>
<published>2021-09-16T17:02:52Z</published>
<link rel='alternate' type='text/html' href='https://git.l-3.space/zirc/commit/?id=ff054cad993bb89a2179358a71681ce45a9cccf3'/>
<id>urn:sha1:ff054cad993bb89a2179358a71681ce45a9cccf3</id>
<content type='text'>
</content>
</entry>
</feed>
