key controls so that you can use the keyboard exclusively to play the game
Created a fullscreen selection screen that we are no longer using
Researched why toggling fullscreen didn't work and why maximizing the window caused the textures to disappear
found bug causing perpetual deceleration when going backwards
Created dashboard and preliminary images to make sure it worked...working on better images but difficult to find hi-res images of instruments online. Probably going to have to create it myself
Began looking at changing model loader so that it works on big endian machines but realized after awhile that it was way too much work and not that important
Had the display working perfectly displaying and resizing but James replaced all the screen init and display stuff so spent considerable amount of time figuring out how it works now and squishing SDL/OpenGL bugs
James also replaced all the memento stuff I did with a new system that i don't really understand
OpenAL was almost ready to implement until changes were made
Today
Worked in the early afternoon on OpenAL
Spent evening:
figuring out display changes and fixing bugs, still more to do
developing and implementing track format
expanding parser to parse tracks and track objects
code to limit main loop cycles to reduce processor cycles
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.