2019-11-20 16:21:32 +00:00
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
/*
|
|
|
|
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.
|
|
|
|
*/
|
|
|
|
//-------------------------------------------------------------------------
|
2019-08-26 03:59:14 +00:00
|
|
|
|
|
|
|
#ifndef __view_h__
|
|
|
|
#define __view_h__
|
|
|
|
|
2019-11-08 16:55:26 +00:00
|
|
|
#include "build.h"
|
|
|
|
|
2019-11-22 23:11:37 +00:00
|
|
|
BEGIN_PS_NS
|
|
|
|
|
2019-08-26 03:59:14 +00:00
|
|
|
extern short bSubTitles;
|
|
|
|
extern short nViewTop;
|
|
|
|
extern short bClip;
|
|
|
|
extern short nViewBottom;
|
|
|
|
extern short nViewRight;
|
|
|
|
extern short nViewLeft;
|
|
|
|
extern short besttarget;
|
|
|
|
extern short bCamera;
|
|
|
|
|
|
|
|
void InitView();
|
|
|
|
void SetView1();
|
|
|
|
void RefreshBackground();
|
2019-11-03 17:20:05 +00:00
|
|
|
void DrawView(int smoothRatio);
|
2019-08-26 03:59:14 +00:00
|
|
|
void MySetView(int x1, int y1, int x2, int y2);
|
|
|
|
void ResetView();
|
|
|
|
void NoClip();
|
|
|
|
void Clip();
|
|
|
|
|
2019-11-03 17:20:05 +00:00
|
|
|
int viewSetInterpolation(int32_t *const posptr);
|
|
|
|
void viewStopInterpolation(const int32_t * const posptr);
|
|
|
|
void viewDoInterpolations(int smoothRatio);
|
|
|
|
void viewUpdateInterpolations(void);
|
|
|
|
void viewRestoreInterpolations(void);
|
|
|
|
|
2019-10-29 17:35:22 +00:00
|
|
|
extern fix16_t nDestVertPan[];
|
2019-08-26 03:59:14 +00:00
|
|
|
extern short dVertPan[];
|
2019-10-29 17:35:22 +00:00
|
|
|
extern fix16_t nVertPan[];
|
2019-08-26 03:59:14 +00:00
|
|
|
extern short nQuake[];
|
|
|
|
|
|
|
|
extern int nCamerax;
|
|
|
|
extern int nCameray;
|
|
|
|
extern int nCameraz;
|
|
|
|
|
|
|
|
extern short bTouchFloor;
|
|
|
|
|
|
|
|
extern short nChunkTotal;
|
|
|
|
|
2019-11-26 15:37:47 +00:00
|
|
|
extern int gFov;
|
|
|
|
|
2019-11-08 16:55:26 +00:00
|
|
|
static inline int angle_interpolate16(int a, int b, int smooth)
|
|
|
|
{
|
|
|
|
return a + mulscale16(((b+1024-a)&2047)-1024, smooth);
|
|
|
|
}
|
|
|
|
|
2019-11-22 23:11:37 +00:00
|
|
|
END_PS_NS
|
|
|
|
|
2019-08-26 03:59:14 +00:00
|
|
|
#endif
|