Room transitions used a convoluted state machine and handled in
multiple classes, which made it hard to understand what was going on.
Refactored so that almost the entire workflow is handled in one class
(RoomTransitionWorkflow). This also fixes a bug where the transition
after the splash screen faded in the splash screen itself instead of
the new room (this is because the display list didn’t mark the
background layer as dirty).
Room transitions used a convoluted state machine and handled in multiple classes, which made it hard to understand what was going on. Refactored so that almost the entire workflow is handled in one class (RoomTransitionWorkflow). This also fixes a bug where the transition after the splash screen faded in the splash screen itself instead of the new room (this is because the display list didn’t mark the background layer as dirty).