Update to rust-rocket 0.7.2
[mandelwow.git] / main.rs
diff --git a/main.rs b/main.rs
index 2bdcae815801a7a1958ed770f282be4e593c4d00..0cf1c18fce7db7f1a671c833373152252e9af75a 100644 (file)
--- a/main.rs
+++ b/main.rs
@@ -1,12 +1,12 @@
 use cgmath::conv::array4x4;
 use cgmath::{Euler, Matrix4, Rad, SquareMatrix, Vector3, Vector4, Zero};
 use glium::glutin::event::{ self, Event, VirtualKeyCode, WindowEvent };
-use glium::glutin::event_loop::{ ControlFlow };
+use glium::glutin::event_loop::ControlFlow;
 use glium::{Display, Program, Surface, uniform};
+use instant::Duration;
 use mandelwow_lib::*;
 use std::f32::consts::PI;
 use std::rc::Rc;
-use std::time::{Duration, Instant};
 
 #[cfg(target_os = "emscripten")]
 use std::os::raw::{c_int, c_void};
@@ -72,6 +72,7 @@ impl World {
         println!("xstep={} ystep={:?}", sea_xstep, sea_zstep);
 
         let mut sea = [[Vector3::zero(); SEA_ZSIZE]; SEA_XSIZE];
+        #[allow(clippy::needless_range_loop)]
         for x in 0..SEA_XSIZE {
             for z in 0..SEA_ZSIZE {
                 sea[x][z] = Vector3 {
@@ -85,11 +86,11 @@ impl World {
         World {
             mandelwow_program,
             mandelwow_bbox: BoundingBox::new(
-                display, &mandelwow_bounds, bounding_box_program.clone()),
+                display, &mandelwow_bounds, bounding_box_program),
             mandelwow_bounds,
             bounding_box_enabled: true,
 
-            shaded_cube: ShadedCube::new(display, shaded_program.clone()),
+            shaded_cube: ShadedCube::new(display, shaded_program),
             text: text::Text::new(display),
             sea,
 
@@ -248,7 +249,7 @@ fn main() {
             emscripten_GetProcAddress(addr.into_raw() as *const _) as *const _
         });
     gl.glGetInternalformativ(0, 0, 0, 0, 0);
-*/
+    */
 
     let mut soundplayer = sound::start();
 
@@ -273,7 +274,7 @@ fn main() {
 
     let mut timer = Timer::new();
     let mut camera = support::camera::CameraState::new();
-    let mut fullscreen = true;
+    let mut fullscreen = false;
 
     event_loop.run(move |event, _, control_flow| {
         let t = timer.t;
@@ -285,12 +286,16 @@ fn main() {
 
         camera.update();
 
-        *control_flow = ControlFlow::WaitUntil(Instant::now() + Duration::from_nanos(16_666_667));
+        *control_flow = ControlFlow::WaitUntil(timer.now + Duration::from_nanos(16_666_667));
         match event {
+            Event::MainEventsCleared => {
+                timer.update();
+                world.draw_frame(&display, &camera, t);
+            }
             Event::NewEvents(cause) => {
                 match cause {
                     event::StartCause::ResumeTimeReached { .. } | event::StartCause::Init => {
-                        world.draw_frame(&display, &camera, t);
+                        // FIXME
                     },
                     _ => {}
                 }
@@ -310,13 +315,13 @@ fn main() {
                                     VirtualKeyCode::P => timer.pause ^= true,
                                     VirtualKeyCode::PageUp => timer.t += 0.1,
                                     VirtualKeyCode::PageDown => timer.t -= 0.2,
-                                    VirtualKeyCode::F10 => screenshot(&display),
+                                    VirtualKeyCode::F10 => screenshot::take_screenshot(&display),
                                     VirtualKeyCode::F11 | VirtualKeyCode::Return => {
                                         fullscreen ^= true;
                                         let fs = if fullscreen {
-                                            let monitor_handle = display.gl_window().window()
-                                                .available_monitors().next().unwrap();
-                                            Some(glium::glutin::window::Fullscreen::Borderless(monitor_handle))
+                                            // let monitor_handle = display.gl_window().window()
+                                            //    .available_monitors().next().unwrap();
+                                            Some(glium::glutin::window::Fullscreen::Borderless(None))
                                         } else {
                                             None
                                         };
@@ -332,7 +337,5 @@ fn main() {
             },
             _ => (),
         }
-
-        timer.update();
     });
 }