Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
interpolate.qh
Go to the documentation of this file.
1/*
2 * Copyright (c) 2011 Rudolf Polzer
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to
6 * deal in the Software without restriction, including without limitation the
7 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
8 * sell copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
20 * IN THE SOFTWARE.
21 */
22#pragma once
23
24float autocvar_cl_lerpexcess; // TODO: int?
25
26.int iflags;
27const int IFLAG_VELOCITY = BIT(0);
28const int IFLAG_ANGLES = BIT(1);
29const int IFLAG_AUTOANGLES = BIT(2);
30const int IFLAG_VALID = BIT(3);
31const int IFLAG_PREVALID = BIT(4);
32const int IFLAG_TELEPORTED = BIT(5);
33const int IFLAG_AUTOVELOCITY = BIT(6);
34const int IFLAG_V_ANGLE = BIT(7);
35const int IFLAG_V_ANGLE_X = BIT(8);
36const int IFLAG_ORIGIN = BIT(9);
38
39// InterpolateOrigin can interpolate many things, not just origin;
40// set the appropriate flag(s) to this.iflags before
41// InterpolateOrigin_Note(this) and after InterpolateOrigin_Undo(this)
42
43// call this BEFORE reading an entity update
45
46// call this AFTER receiving an entity update
48
49// call this when the entity got teleported, before InterpolateOrigin_Note
51
52// call this BEFORE drawing
#define BIT(n)
Only ever assign into the first 24 bits in QC (so max is BIT(23)).
Definition bits.qh:8
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
const int IFLAG_AUTOVELOCITY
const int IFLAG_PREVALID
const int IFLAG_V_ANGLE_X
const int IFLAG_V_ANGLE
const int IFLAG_VELOCITY
void InterpolateOrigin_Undo(entity this)
snap origin to iorigin2 (actual origin)
float autocvar_cl_lerpexcess
const int IFLAG_VALID
const int IFLAG_AUTOANGLES
void InterpolateOrigin_Reset(entity this)
const int IFLAG_INTERNALMASK
void InterpolateOrigin_Note(entity this)
const int IFLAG_ANGLES
const int IFLAG_ORIGIN
void InterpolateOrigin_Do(entity this)
set origin based on iorigin1 (old pos), iorigin2 (desired pos), and time
const int IFLAG_TELEPORTED
int iflags