mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-24 04:51:19 +00:00
- make viewx etc. global.
- a few minor optimizations.
This commit is contained in:
parent
ccfb2ac233
commit
bb13590e07
8 changed files with 22 additions and 29 deletions
|
@ -52,12 +52,12 @@ void R_3D_AddHeight(secplane_t *add, sector_t *sec)
|
|||
{
|
||||
HeightLevel *near;
|
||||
HeightLevel *curr;
|
||||
fixed_t height;
|
||||
|
||||
height = add->ZatPoint(viewx, viewy);
|
||||
if(height >= FLOAT2FIXED(sec->CenterCeiling())) return;
|
||||
if(height <= FLOAT2FIXED(sec->CenterFloor())) return;
|
||||
double fheight = add->ZatPoint(ViewPos);
|
||||
if(fheight >= sec->CenterCeiling()) return;
|
||||
if(fheight <= sec->CenterFloor()) return;
|
||||
|
||||
fixed_t height = FLOAT2FIXED(fheight);
|
||||
fakeActive = 1;
|
||||
|
||||
if(height_max >= 0) {
|
||||
|
|
|
@ -49,7 +49,6 @@ enum
|
|||
|
||||
extern int fake3D;
|
||||
extern F3DFloor *fakeFloor;
|
||||
extern fixed_t fakeHeight;
|
||||
extern fixed_t fakeAlpha;
|
||||
extern int fakeActive;
|
||||
extern fixed_t sclipBottom;
|
||||
|
|
|
@ -556,7 +556,7 @@ void R_AddLine (seg_t *line)
|
|||
|
||||
// reject lines that aren't seen from the portal (if any)
|
||||
// [ZZ] 10.01.2016: lines inside a skybox shouldn't be clipped, although this imposes some limitations on portals in skyboxes.
|
||||
if (!CurrentPortalInSkybox && CurrentPortal && P_ClipLineToPortal(line->linedef, CurrentPortal->dst, DVector2(FIXED2DBL(viewx), FIXED2DBL(viewy))))
|
||||
if (!CurrentPortalInSkybox && CurrentPortal && P_ClipLineToPortal(line->linedef, CurrentPortal->dst, ViewPos))
|
||||
return;
|
||||
|
||||
vertex_t *v1, *v2;
|
||||
|
@ -1183,9 +1183,9 @@ void R_Subsector (subsector_t *sub)
|
|||
fakeFloor->validcount = validcount;
|
||||
R_3D_NewClip();
|
||||
}
|
||||
fakeHeight = FLOAT2FIXED(fakeFloor->top.plane->ZatPoint(frontsector->centerspot));
|
||||
if (fakeHeight < viewz &&
|
||||
fakeHeight > FLOAT2FIXED(frontsector->floorplane.ZatPoint(frontsector->centerspot)))
|
||||
double fakeHeight = fakeFloor->top.plane->ZatPoint(frontsector->centerspot);
|
||||
if (fakeHeight < ViewPos.Z &&
|
||||
fakeHeight > frontsector->floorplane.ZatPoint(frontsector->centerspot))
|
||||
{
|
||||
fake3D = FAKE3D_FAKEFLOOR;
|
||||
tempsec = *fakeFloor->model;
|
||||
|
@ -1245,9 +1245,9 @@ void R_Subsector (subsector_t *sub)
|
|||
fakeFloor->validcount = validcount;
|
||||
R_3D_NewClip();
|
||||
}
|
||||
fakeHeight = FLOAT2FIXED(fakeFloor->bottom.plane->ZatPoint(frontsector->centerspot));
|
||||
if (fakeHeight > viewz &&
|
||||
fakeHeight < FLOAT2FIXED(frontsector->ceilingplane.ZatPoint(frontsector->centerspot)))
|
||||
double fakeHeight = fakeFloor->bottom.plane->ZatPoint(frontsector->centerspot);
|
||||
if (fakeHeight > ViewPos.Z &&
|
||||
fakeHeight < frontsector->ceilingplane.ZatPoint(frontsector->centerspot))
|
||||
{
|
||||
fake3D = FAKE3D_FAKECEILING;
|
||||
tempsec = *fakeFloor->model;
|
||||
|
|
|
@ -354,7 +354,7 @@ public:
|
|||
|
||||
int PointOnSide(const DVector3 &pos) const
|
||||
{
|
||||
double v = a * pos.X + b * pos.Y + c * pos.Z;
|
||||
double v = a * pos.X + b * pos.Y + c * pos.Z + d;
|
||||
return v < -EQUAL_EPSILON ? -1 : v > EQUAL_EPSILON ? 1 : 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -38,8 +38,4 @@
|
|||
#include "r_things.h"
|
||||
#include "r_draw.h"
|
||||
|
||||
extern fixed_t viewx, viewy, viewz;
|
||||
extern angle_t viewangle;
|
||||
extern int viewpitch;
|
||||
|
||||
#endif // __R_LOCAL_H__
|
||||
|
|
|
@ -68,9 +68,6 @@
|
|||
#define TEST_ANGLE 2468347904
|
||||
#endif
|
||||
|
||||
fixed_t viewx, viewy, viewz;
|
||||
angle_t viewangle;
|
||||
int viewpitch;
|
||||
|
||||
// TYPES -------------------------------------------------------------------
|
||||
|
||||
|
@ -554,12 +551,6 @@ void R_SetupColormap(player_t *player)
|
|||
|
||||
void R_SetupFreelook()
|
||||
{
|
||||
viewx = FLOAT2FIXED(ViewPos.X);
|
||||
viewy = FLOAT2FIXED(ViewPos.Y);
|
||||
viewz = FLOAT2FIXED(ViewPos.Z);
|
||||
viewangle = ViewAngle.BAMs();
|
||||
viewpitch = ViewPitch.BAMs();
|
||||
|
||||
{
|
||||
fixed_t dy;
|
||||
|
||||
|
|
|
@ -78,9 +78,6 @@ extern int numgamesubsectors;
|
|||
//
|
||||
// POV data.
|
||||
//
|
||||
extern fixed_t viewz;
|
||||
extern angle_t viewangle;
|
||||
|
||||
extern AActor* camera; // [RH] camera instead of viewplayer
|
||||
extern sector_t* viewsector; // [RH] keep track of sector viewing from
|
||||
|
||||
|
|
|
@ -149,6 +149,10 @@ int FieldOfView = 2048; // Fineangles in the SCREENWIDTH wide window
|
|||
|
||||
FCanvasTextureInfo *FCanvasTextureInfo::List;
|
||||
|
||||
fixed_t viewx, viewy, viewz;
|
||||
angle_t viewangle;
|
||||
int viewpitch;
|
||||
|
||||
|
||||
// CODE --------------------------------------------------------------------
|
||||
static void R_Shutdown ();
|
||||
|
@ -1091,6 +1095,12 @@ void R_SetupFrame (AActor *actor)
|
|||
}
|
||||
}
|
||||
|
||||
viewx = FLOAT2FIXED(ViewPos.X);
|
||||
viewy = FLOAT2FIXED(ViewPos.Y);
|
||||
viewz = FLOAT2FIXED(ViewPos.Z);
|
||||
viewangle = ViewAngle.BAMs();
|
||||
viewpitch = ViewPitch.BAMs();
|
||||
|
||||
Renderer->CopyStackedViewParameters();
|
||||
Renderer->SetupFrame(player);
|
||||
|
||||
|
|
Loading…
Reference in a new issue