From 1783d5159bf72a4c7cb371ee366c5877442f76f3 Mon Sep 17 00:00:00 2001
From: /dev/urandom <johnfkennedy@mail.i2p>
Date: Sat, 15 Feb 2025 02:44:50 +0100
Subject: feat: timeouts

---
 src/main.rs | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

(limited to 'src')

diff --git a/src/main.rs b/src/main.rs
index 7ed8df1..0925bd4 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -11,17 +11,18 @@ use std::time::{Duration, SystemTime};
 
 use sdl2::{event::Event, keyboard::Keycode};
 
+#[cfg(not(feature = "notimeout"))]
+const TIMEOUT_DEATH: f64 = render::JUST_DVD + 20.0;
+
 pub fn main() {
   let sdl_context = sdl2::init().unwrap();
   let video_subsystem = sdl_context.video().unwrap();
 
-  let window = &mut video_subsystem
-    .window("Cosin25 Invite", 512, 256)
-    .position_centered()
-    // works lol:
-    // .resizable()
-    .build()
-    .unwrap();
+  let mut builder = video_subsystem.window("Cosin25 Invite", 512, 256);
+  builder.position_centered();
+  #[cfg(feature = "resizable")]
+  builder.resizable();
+  let window = &mut builder.build().unwrap();
 
   let mut canvas = window.clone().into_canvas().build().unwrap();
   let texture_creator = canvas.texture_creator();
@@ -38,6 +39,11 @@ pub fn main() {
       .expect("Time went back between frames");
     let time = f64::from(time.as_millis() as u32) / 1000.0;
 
+    #[cfg(not(feature = "notimeout"))]
+    if time > TIMEOUT_DEATH {
+      break 'running;
+    }
+
     render::render(&mut canvas, &texture_creator, time);
 
     for event in event_pump.poll_iter() {
-- 
cgit v1.2.3