Replaced model loader with a different implementation
Got it working including the displaying part that we had trouble with in the last few model loaders we tried
Added T3DModel class that is a container for loaded 3DS files and draws itself
Added T3DModel class variables to the car and tire classes so that the class will have its model
Changed Car display() function to draw the model using the models own draw function
Buffers should be swapped at the highest level function possible
Commented the additions and changes I made
Added a few new mementos and integrated them with existing ERacer implementation
IntroMememento is displayed immediately after the screen is initialized until after all non-screen initialization has finished. (I.E. the models have been loaded)
MenuMemento is loaded and displayed just before entering main program loop
GameMemento will be loaded based on the input during MenuMemento. Pause should probably be a function of the GameMemento and not a separate screen. Pressing 'p' should maybe pause the game and pressing ctrl + 'm' should maybe pause then bring up the menu.
TODO
Memory leak that I don't have time to remove today. Mementos create an unsigned int array that needs to be deleted in constructor
Migrate from Test class to implementation of loading Models before program loop and drawing models in GameMemento and MenuMemento classes
Finished Memento implementation in ERacer class with GameMemento basic but workable and extendable so we can add items for it to control
Develop interface between ERacer class and Mementos
Mementos are initially instantiated in ERacer initSingleton() function
pollingLoop() passes keyboard input to current memento
pollingLoop() also calls currentMemento update function to redisplay memento
Tightened up ERacer class' init and reshape functions
Developed Memento base class that can be extended into individual memento singletons
Conversion from Glaux to SDL - ModelLoader.cpp
AUX_RGBImageRec -> SDL_Surface
SDL_LoadBMP
pBitmap.data -> pBitmap.pixels
pBitmap.xValue -> pBitmap.w
pBitmap.yValue -> pBitmap.h
New TODO items
Create audio class using SDL's audio functions
Implement SDL timer functions
Test SDL code above to eliminate dependency ModelLoader on GLAUX. I know it compiles...but does it work? Since Tim hasn't got the ModelLoader working with Glaux I can't test this code.
Further worked on fine tuning SDL so that it compiles and runs
Eliminated all compile warnings and linker errors on Windows through tinkering with project linker and C++ settings
Had to remove a library that was causing linker errors
Worked out a couple errors that occured during execution
Spent way too much time trying to figure out why the sample project code to display a fullscreen selection window won't work in our game. Decided to just scrap it and allow resizing of the window
Worked on figuring out and implementing keyboard input polling. Pressing Alt+F4 now quits the application...good because there was no way to quit other than through TaskManager during fullscreen mode.