@@ -1,4 +1,5 @@
#include "Graphics.h"
+#include "engine/main.h"
#include <SFML/Graphics.hpp>
#include "utility/misc.h"
@@ -34,6 +35,10 @@ void GRAPHICS::frame_end()
while(window.pollEvent(event))
{
+ if (event.type == sf::Event::Closed)
+ {
+ WalrusRPG::quit();
+ }
}
window.setView(view = sf::View(sf::FloatRect(0, 0, winsize.x, winsize.y)));
@@ -1,3 +1,4 @@
+#include "main.h"
#include "StateMachine.h"
#include "Timing.h"
@@ -79,8 +80,13 @@ int main(int argc, char *argv[])
StateMachine machine(new States::StateMap(0, 0, map));
machine.run();
+ quit();
+}
+
+void WalrusRPG::quit()
+{
Quirks::deinit();
Timing::deinit();
Graphics::deinit();
- return 0;
+ exit(0);
@@ -0,0 +1,9 @@
+#ifndef INCLUDE_MAIN_H
+#define INCLUDE_MAIN_H
+namespace WalrusRPG
+ void quit();
+#endif