]> git.localhorst.tv Git - l2e.git/blobdiff - src/app/State.h
added option for sped up integration
[l2e.git] / src / app / State.h
index 84082aeb8f322bf5a956378ef6aaecce57051447..31a4ae0462220a62e5c87d50f7d5920794e83d16 100644 (file)
@@ -39,6 +39,9 @@ public:
        /// Draw a picture of the world.
        virtual void Render(SDL_Surface *) = 0;
 
+       /// Number of milliseconds per simulation frame.
+       Uint32 Timestep() const { return timestep; }
+
 protected:
        /// Get a handle to the application this state is running on.
        /// Do not call this while the state is off the stack (e.g. in c'tor/d'tor)
@@ -46,6 +49,9 @@ protected:
        Application &Ctrl();
        const Application &Ctrl() const;
 
+       /// Set the number of milliseconds per simulation frame.
+       void Timestep(Uint32 t) { timestep = t; }
+
 private:
        /// Do some setup that needs an application and/or screen handle and thus
        /// can not be done by the constructor.
@@ -63,23 +69,24 @@ private:
        /// Adapt the state's graphics to given dimensions.
        /// NOTE: currently, this is only called for the stack top and not
        ///       propagated on stack changes.
-       ///       Will be fixed soom ;).
+       ///       Will be fixed sometime ;).
        virtual void OnResize(int width, int height) = 0;
 
 public:
        /// Timers handle intended for graphics, sync'ed with render time.
        /// These timers are only updated for the stack top and thus appear paused
-       /// when the state is visible (roughly).
+       /// when the state is invisible (roughly).
        Timers<Uint32> &GraphicsTimers() { return graphicsTimers; }
        /// Timers handle intended for graphics, sync'ed with world time.
        /// These timers are only updated for the stack top and thus appear paused
-       /// when the state is visible (roughly).
+       /// when the state is invisible (roughly).
        Timers<Uint32> &PhysicsTimers() { return physicsTimers; }
 
 private:
        Application *ctrl;
        Timers<Uint32> graphicsTimers;
        Timers<Uint32> physicsTimers;
+       Uint32 timestep;
 
 };