dtinth/open2jam — pull request #5 by dtinth (2012-09-10 06:54:50+00:00)
Title: Refactor the judgment system.

This patch refactors the Judgment and Timing system.

* The two classes, DistanceRender and TimeRender, have been combined into a single class "__Render__", delegating the way it judges notes to a __JudgmentStrategy__.

Also included with this patch is 3 other patches:

Autosyncing and Display Lag
---------------------------------------
A system to compensate the display latency to help the player get better judgment. For more information, see pull request #3.

TimingData class instead of IntervalTree
------------------------------------------------------
The IntervalTree class has been removed and is replaced with a simple TimingData class which is merely an array of BPM changes, with methods to quickly calculate beats from the elapsed time (in milliseconds). For more information, see pull request #4.