Added an Attitude class which inherits from Tuple and provides extra functions for Moment and Attitude physics stuff.
Physics engine much much improved with more-realistic physics.
Parser loads cars and tires and has layout done for loading tracks or whatever
Switching around model loaders for 3ds has led to problems. We had a working one but Ryan "fixed" it and now it doesn't work. This has absorbed a lot of my time
Power-ups are not yet implemented
Objects are more or less ready
Ported texture loading to SDL
Week 3
Goals
World Partitioning
User control
Stack based display / input control
A working / playable game (maybe boring though)
Accomplished
Designed a QuadTree class to partition the world (simply) into 2d blocks.
Designed a Track class to store a given track.
Created a Camera class to support each of two basic views (chase and interior)
Was waiting for GameMemento class to actually do something but decided to do it myself, so now it handles timing and passes along updates to its constituents (track, car and camera).
Memento's were returning a pointer the memento after every keyboard call. It would sometimes want to return after an update as well, or possibly a mouse input. Also, all the mementos were exposed as singletons. So, I made a MementoHandler to handle memento operations and avoid exposing implementation details. There is no longer a need to ever return a pointer to a memento.
Improved car physics so that each tire stores a boolean _contact variable. An update is different for each tire if it's in contact with something or not.
Created a Screen class to wrap arround SDL stuff. Ryan's code wasn't working in Linux, and we wanted SDL for its cross platform capabilities. Screen operations are now simplified (like fullscreen toggling, although fullscreen is buggy in Windows). Also, it works perfectly well in both Windows and Linux.
Fixed up the model loader. For example, it now looks for texture files in the same directory as the model. The code we got online did not have a working destructor, so I added one.
Wrote code to convert from a loaded 3ds model (which supports drawing to the screen) to a list of Surfaces which are used for collision, not drawing. This way we can have a uniform model format, even if it's for different purposes.