/** * Copyright (c) 2021 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #pragma once #define GAMETIME_FIXED_STEP 0.016 #define GAMETIME_SMALLEST_STEP 0.001 typedef struct { /** * Current time (as a float of seconds since game start). * * When time is initialized this will start at a fixed value of 2/60ths of a * second, regardless of what engine the game is running. * * This is to avoid any divide by zero errors. */ float current; /** * Last Time (as a float of seconds since the game start). * * This value will start at 1/60th of a second regardless of engine the game * is running on to avoid divide by zero errors. */ float last; /** * Varying timestep that occured since the last frame. */ float delta; /** * Fixed timestep that is not affected by framerate but remains consistent. */ float fixedDelta; } gametime_t; extern gametime_t TIME_STATE;