Skip to navigation

To-do list

I have documented every byte of the Revs game code, but that doesn't mean that I've fully understood every byte (though it's close). Almost every single aspect of the code is explained, but there are a few issues that could benefit from another look.

This page lists all of the outstanding issues of which I am aware. These are the notes I made as I analysed the source, so they are fairly terse and might not be terribly clear.

3D objects
----------

  • BuildPlayerCar: Why build 2 car objects (segmentIndex96 for 3D coords in xPlayerCoord, next segment for YawAngle angle in playerYawAngleHi)?
  • CompareSegments: Not sure what H is used for
  • BuildCarObjects (Part 2 of 3): Explain algorithm better for positioning car on track
  • SetObjectDetails: Explain the scaleUp/scaleDown maths
  • BuildRoadSign: Explain A < 64 test for moving on to next sign in section, and A < 110 for different collision distance

Brands Hatch
------------

Car geometry
------------

Dashboard
---------

Drawing objects
---------------

Drawing the track
-----------------

Drivers
-------

  • UpdateLapTimers: Explain current lap calculation, why is firstLapStarted incremented
  • UpdateLaps: Explain driverLapNumber BMI test, driver number being > current player in practice
  • AwardRacePoints: Explain multi-player algorithm
  • firstLapStarted: Why is this decremented in laps4?

Driving model
-------------

Keyboard
--------

Screen buffer
-------------

Text
----

Track geometry
--------------