diff options
Diffstat (limited to 'src/game/client/world/voxel_anims.cc')
| -rw-r--r-- | src/game/client/world/voxel_anims.cc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/game/client/world/voxel_anims.cc b/src/game/client/world/voxel_anims.cc new file mode 100644 index 0000000..3d7cfd4 --- /dev/null +++ b/src/game/client/world/voxel_anims.cc @@ -0,0 +1,33 @@ +#include "client/pch.hh" + +#include "client/world/voxel_anims.hh" + +#include "core/config/number.hh" + +#include "core/io/config_map.hh" + +#include "core/math/constexpr.hh" + +#include "client/globals.hh" + +static config::Unsigned base_framerate(16U, 1U, 16U); + +std::uint64_t world::voxel_anims::nextframe = 0U; +std::uint32_t world::voxel_anims::frame = 0U; + +void world::voxel_anims::init(void) +{ + globals::client_config.add_value("voxel_anims.base_framerate", base_framerate); + + world::voxel_anims::nextframe = 0U; + world::voxel_anims::frame = 0U; +} + +void world::voxel_anims::update(void) +{ + if(globals::curtime >= world::voxel_anims::nextframe) { + world::voxel_anims::nextframe = globals::curtime + + static_cast<std::uint64_t>(1000000.0 / static_cast<float>(base_framerate.get_value())); + world::voxel_anims::frame += 1U; + } +} |
