summaryrefslogtreecommitdiffstats
path: root/game/client/world/voxel_anims.cc
blob: 185d46388b2f78faa24119e4817a12c865803023 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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;
    }
}