summaryrefslogtreecommitdiff
path: root/src/game/physics/movement.h
blob: 47aa97d24c99f81f57fac9956901358af5dd0168 (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
34
35
36
37
#pragma once

#include "../../util/aabb.h"
#include "../world/bsp.h"
#include "../player.h"
#include "../vars.h"

extern CVAR* mv_gravity;
extern CVAR* mv_friction;
extern CVAR* mv_accelerate;
extern CVAR* mv_airaccelerate;
extern CVAR* mv_wallboost;
extern CVAR* mv_maxspeed;


struct GAME_MOVEMENT {
  PLAYER* pl;
  PLAYER_INPUT* input;
  GAME_DATA* game;

  VEC3 velocity;
  VEC3 pos;
  VEC3 angle;
  F32  maxspeed;
  F32  walkspeed;
  AABB aabb;
  BSP* bsp;

  F32  out_step;
};

extern void gmove_init( GAME_DATA* game );
extern void gmove_set_player( PLAYER* player );
extern void gmove_tick();
extern void gmove_process_move();

extern GAME_MOVEMENT* gmove;