mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-29 04:50:42 +00:00
1354d52c05
* Remove fix16.h/cpp and utilise library from m_fixed.h. * Extend m_fixed.h with two inline functions for int to/from float operations. * Replace fix16_floor operations with those from xs_Float.h * Replace multiple Q16.16 conversions from 0 to just be 0. * Replaced all found in-game bit-shifts and multiplications/divisions with inline functions from m_fixed.h * Replaced many casts of FRACUNIT as double in SW's panel.cpp as it is converted to double by way of type promotion. * Fixed missed precision fixes in SW's panel.cpp where some types weren't declared correctly. * Replaced 100+ `Cos()/Sin() >> 16` operations for Blood with inline functions `CosScale16()/SinScale16()`.
60 lines
1.7 KiB
C
60 lines
1.7 KiB
C
//-------------------------------------------------------------------------
|
|
/*
|
|
Copyright (C) 2010-2019 EDuke32 developers and contributors
|
|
Copyright (C) 2019 sirlemonhead, Nuke.YKT
|
|
This file is part of PCExhumed.
|
|
PCExhumed is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License version 2
|
|
as published by the Free Software Foundation.
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
See the GNU General Public License for more details.
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
*/
|
|
//-------------------------------------------------------------------------
|
|
|
|
#ifndef __view_h__
|
|
#define __view_h__
|
|
|
|
#include "build.h"
|
|
|
|
BEGIN_PS_NS
|
|
|
|
extern short bSubTitles;
|
|
extern short besttarget;
|
|
extern short bCamera;
|
|
|
|
void InitView();
|
|
void DrawStatusBar();
|
|
void DrawView(double smoothRatio, bool sceneonly = false);
|
|
void ResetView();
|
|
void NoClip();
|
|
void Clip();
|
|
|
|
int viewSetInterpolation(int32_t *const posptr);
|
|
void viewStopInterpolation(const int32_t * const posptr);
|
|
void viewDoInterpolations(int smoothRatio);
|
|
void viewUpdateInterpolations(void);
|
|
void viewRestoreInterpolations(void);
|
|
|
|
extern fixed_t nDestVertPan[];
|
|
extern short dVertPan[];
|
|
extern short nQuake[];
|
|
extern int nCamerax;
|
|
extern int nCameray;
|
|
extern int nCameraz;
|
|
extern short bTouchFloor;
|
|
extern short nChunkTotal;
|
|
extern int gFov;
|
|
|
|
static inline int angle_interpolate16(int a, int b, int smooth)
|
|
{
|
|
return a + mulscale16(((b+1024-a)&2047)-1024, smooth);
|
|
}
|
|
|
|
END_PS_NS
|
|
|
|
#endif
|