#include <GL/glu.h>
#include <SDL/SDL.h>
-#include <vector>
-using std::vector;
-
#include "debug.h"
+#include "handleSignal.h"
#include "game.h"
#include "ticks.h"
-#include "graphics.h"
-#include "input/inputManager.h"
+#include "graphics/graphics.h"
+#include "input/inputManager.h"
/// ***** Private Method Headers *****
+
void init();
+void sighandler( int sig );
+
void run();
-void cleanUp();
+void clean();
void blockUpdate();
void updateFPSCounters();
-void input();
+void handleInput();
void update(float);
void draw();
-
-/// ***** MAIN Method *****
-int main()
-{
- init();
- run();
- cleanUp();
- return 0;
-}
-
-
/// ***** Private Variables *****
// variable used to determine if it is time to shutdown
long int last_Second;
-/// ***** Private Methods *****
+/// ***** MAIN Method *****
+int main()
+{
+ init();
+ run();
+ clean();
+ return 0;
+}
+
+/// ***** Initializers/Cleaners *****
+
void init()
{
- graphicsInit();
+ installSignal();
- gameInit();
+ graphics::init();
- // TODO
- // add a game state
+ game::init();
+
+ input::init();
#ifdef DEBUGGING
cout << "Initialization Complete" << endl;
#endif
+}
- // create starting entities
-
+void clean()
+{
#ifdef DEBUGGING
- cout << "World Created" << endl;
+ cout << "Cleaning up" << endl;
#endif
+
+ input::clean();
+
+ game::clean();
+
+ graphics::clean();
}
+/// ***** Private Methods *****
+
void run()
{
is_Running = true;
}
}
-void cleanUp()
-{
- gameClean();
-}
-
void blockUpdate()
{
long int start = tickCountMicro();
// run the updates
for (int i = 1; i <= iupdate_sum; i++)
{
- input();
+ handleInput();
update(time_step*i / 1000);
}
// remove the updates that where run from the sum
draw_Count = 0;
last_Second = tickCountMicro();
+
+#ifdef FPSUPS
+ cout << "ups:\t" << ups << endl;
+ cout << "fps:\t" << fps << endl;
+#endif
}
}
-void input()
+void handleInput()
{
- inputUpdate();
+ input::update();
- gameInput();
+ game::input();
- if(isPressed(SDLK_ESCAPE))
+ if(input::wasReleased(SDLK_ESCAPE))
is_Running = false;
}
{
update_Count++;
- gameUpdate(time_step);
+ game::update(time_step);
}
void draw()
{
draw_Count++;
- gameDraw();
+ game::draw();
SDL_GL_SwapBuffers();