This release completes what I wanted to do for a long time - use linear algebra for all the transforms in the game! This allows for some fun things like panning the camera around and doing tilt properly. It also simplifies the game logic (in a crazy kind of way) so that the core logic doesn't have to worry about rotations.
I tried implementing this a few years ago but ran into roadblocks, then abandoned the idea altogether. Since I'm active in this codebase again, I figured I'd give it a second shot!
Also, despite using the additional math for the matrix transformations, the Nspire release still runs great!
New features for this release:
- all: New title menu before the level select
- all: Camera pans and color transitions between most states
- switch: You can now use "X" to rotate right, like the 3ds
Under the hood features:
- all: Drivers cleaned up to officially use "Pimpl"
- all: Drivers no longer make excessive pointer de-references and instead direct calls to the Impl itself
- all: Drivers now have "Surface" classes that contain core rendering logic, split out from Platform
- all: Game uses new SurfaceGame class, which implements software matrix transforms
- all: Code cleanup, where applicable
Note: This was a large refactor. Please report any bugs found with this new release. Thanks!