2019-10-06 22:40:52 +00:00
|
|
|
// SONIC ROBO BLAST 2
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Copyright (C) 1993-1996 by id Software, Inc.
|
|
|
|
// Copyright (C) 1998-2000 by DooM Legacy Team.
|
|
|
|
// Copyright (C) 1999-2000 by Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze, Andrey Budko (prboom)
|
|
|
|
// Copyright (C) 1999-2019 by Sonic Team Junior.
|
|
|
|
//
|
|
|
|
// This program is free software distributed under the
|
|
|
|
// terms of the GNU General Public License, version 2.
|
|
|
|
// See the 'LICENSE' file for more details.
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
/// \file r_fps.h
|
|
|
|
/// \brief Uncapped framerate stuff.
|
|
|
|
|
|
|
|
#ifndef __R_FPS_H__
|
|
|
|
#define __R_FPS_H__
|
|
|
|
|
|
|
|
#include "m_fixed.h"
|
|
|
|
#include "p_local.h"
|
|
|
|
#include "r_state.h"
|
|
|
|
|
|
|
|
enum viewcontext_e
|
|
|
|
{
|
|
|
|
VIEWCONTEXT_PLAYER1 = 0,
|
|
|
|
VIEWCONTEXT_PLAYER2,
|
|
|
|
VIEWCONTEXT_SKY1,
|
|
|
|
VIEWCONTEXT_SKY2
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
fixed_t x;
|
|
|
|
fixed_t y;
|
|
|
|
fixed_t z;
|
|
|
|
boolean sky;
|
|
|
|
sector_t *sector;
|
|
|
|
player_t *player;
|
|
|
|
|
|
|
|
angle_t angle;
|
|
|
|
angle_t aim;
|
|
|
|
fixed_t cos;
|
|
|
|
fixed_t sin;
|
|
|
|
mobj_t *mobj;
|
|
|
|
} viewvars_t;
|
|
|
|
|
|
|
|
extern viewvars_t *newview;
|
|
|
|
|
|
|
|
// Interpolates the current view variables (r_state.h) against the selected view context in R_SetViewContext
|
|
|
|
void R_InterpolateView(fixed_t frac);
|
|
|
|
// Buffer the current new views into the old views. Call once after each real tic.
|
|
|
|
void R_UpdateViewInterpolation(void);
|
2022-04-11 16:22:54 +00:00
|
|
|
// Reset the view states (e.g. after level load) so R_InterpolateView doesn't interpolate invalid data
|
|
|
|
void R_ResetViewInterpolation(void);
|
2019-10-06 22:40:52 +00:00
|
|
|
// Set the current view context (the viewvars pointed to by newview)
|
|
|
|
void R_SetViewContext(enum viewcontext_e _viewcontext);
|
|
|
|
|
|
|
|
#endif
|