changeset 28:1cc6b8c0acd2

fixed window close
author zzzzrrr <mason.green@gmail.com>
date Mon, 30 Mar 2009 12:48:45 -0400
parents d63faa81a5e4
children da11cc30423f
files melee/melee.d render/render.d
diffstat 2 files changed, 6 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/melee/melee.d	Mon Mar 30 12:41:29 2009 -0400
+++ b/melee/melee.d	Mon Mar 30 12:48:45 2009 -0400
@@ -129,7 +129,6 @@
         ai = new AI(ship2, objectList);
         
         render = new Render(world, ship1, ship2, human, settings);
-        render.keys();
         
         objectList.add(planet);
         objectList.add(ship1);
@@ -138,7 +137,7 @@
     
     void run() {
         // Main game loop
-        while (running && !human.quit) {
+        while (running && !human.quit && render.running) {
             
             float delta = timer.stop;
             timer.start;
--- a/render/render.d	Mon Mar 30 12:41:29 2009 -0400
+++ b/render/render.d	Mon Mar 30 12:48:45 2009 -0400
@@ -98,6 +98,7 @@
     bool full = false;
     Settings settings;
     Ship ship1, ship2;
+    bool running = true;
     
     this(bzWorld world, Ship s1, Ship s2, Human h, Settings settings) {
         
@@ -126,6 +127,9 @@
         glfwSetWindowTitle("OpenMelee");
         glfwEnable(GLFW_STICKY_KEYS);
         
+        GLFWkeyfun cbfun;
+        cbfun = &key;
+        glfwSetKeyCallback(cbfun);
     }
     
     ~this() {
@@ -137,12 +141,7 @@
         glfwSwapInterval(1);
         draw();
         glfwSwapBuffers();
-    }
-    
-    void keys() {
-        GLFWkeyfun cbfun;
-        cbfun = &key;
-        glfwSetKeyCallback(cbfun);
+        running = cast(bool) glfwGetWindowParam(GLFW_OPENED);
     }
 
     void drawCircle(bzVec2 center, float radius, bool water = false, float theta = float.nan)