summaryrefslogtreecommitdiffstats
path: root/src/game/shared/entity/velocity.hh
blob: 8dccf090a7b8fd53fa534d9e60d9ad5d9293f06c (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
// SPDX-License-Identifier: BSD-2-Clause
// Copyright (c) 2025 Kirill Dmitrievich
// File: velocity.hh
// Description: Velocity component

#ifndef SHARED_ENTITY_VELOCITY_HH
#define SHARED_ENTITY_VELOCITY_HH
#pragma once

class Dimension;

struct Velocity {
    glm::fvec3 value;

public:
    // Updates entities Transform values
    // according to velocities multiplied by fixed_frametime.
    // NOTE: This system was previously called inertial
    static void fixed_update(Dimension* dimension);
};

namespace client
{
// Client-side only - interpolated and previous velocity
struct VelocityIntr final : public Velocity {};
struct VelocityPrev final : public Velocity {};
} // namespace client

#endif