Revert "Merge branch 'software-clownery' into 'master'"

This reverts merge request !578
This commit is contained in:
Jaime Passos 2019-12-31 23:40:17 +00:00
parent c460775cd7
commit b41cd59e51
6 changed files with 2261 additions and 2559 deletions

View File

@ -416,7 +416,9 @@ fixed_t P_SegLength(seg_t *seg)
return FixedHypot(dx, dy)<<1;
}
#ifdef HWRENDER
/** Computes the length of a seg as a float.
* This is needed for OpenGL.
*
* \param seg Seg to compute length for.
* \return Length as a float.
@ -431,6 +433,7 @@ static inline float P_SegLengthFloat(seg_t *seg)
return (float)hypot(dx, dy);
}
#endif
/** Loads the SEGS resource from a level.
*
@ -457,10 +460,10 @@ static void P_LoadRawSegs(UINT8 *data, size_t i)
li->v2 = &vertexes[SHORT(ml->v2)];
li->length = P_SegLength(li);
li->flength = P_SegLengthFloat(li);
#ifdef HWRENDER
if (rendermode == render_opengl)
{
li->flength = P_SegLengthFloat(li);
//Hurdler: 04/12/2000: for now, only used in hardware mode
li->lightmaps = NULL; // list of static lightmap for this seg
}

View File

@ -410,7 +410,7 @@ static void R_AddLine(seg_t *line)
return;
// Global angle needed by segcalc.
rw.angle1 = angle1;
rw_angle1 = angle1;
angle1 -= viewangle;
angle2 -= viewangle;

View File

@ -582,12 +582,11 @@ typedef struct seg_s
sector_t *backsector;
fixed_t length; // precalculated seg length
float flength; // ditto but float
#ifdef HWRENDER
// new pointers so that AdjustSegs doesn't mess with v1/v2
void *pv1; // polyvertex_t
void *pv2; // polyvertex_t
float flength; // length of the seg, used by hardware renderer
lightmap_t *lightmaps; // for static lightmap
#endif

View File

@ -366,7 +366,7 @@ angle_t R_PointToAngleEx(INT32 x2, INT32 y2, INT32 x1, INT32 y1)
// R_ScaleFromGlobalAngle
// Returns the texture mapping scale for the current line (horizontal span)
// at the given angle.
// rw.distance must be calculated first.
// rw_distance must be calculated first.
//
// killough 5/2/98: reformatted, cleaned up
//
@ -374,8 +374,8 @@ angle_t R_PointToAngleEx(INT32 x2, INT32 y2, INT32 x1, INT32 y1)
fixed_t R_ScaleFromGlobalAngle(angle_t visangle)
{
angle_t anglea = ANGLE_90 + (visangle-viewangle);
angle_t angleb = ANGLE_90 + (visangle-rw.normalangle);
fixed_t den = FixedMul(rw.distance, FINESINE(anglea>>ANGLETOFINESHIFT));
angle_t angleb = ANGLE_90 + (visangle-rw_normalangle);
fixed_t den = FixedMul(rw_distance, FINESINE(anglea>>ANGLETOFINESHIFT));
// proff 11/06/98: Changed for high-res
fixed_t num = FixedMul(projectiony, FINESINE(angleb>>ANGLETOFINESHIFT));

File diff suppressed because it is too large Load Diff

View File

@ -93,41 +93,10 @@ extern angle_t doubleclipangle;
extern INT32 viewangletox[FINEANGLES/2];
extern angle_t xtoviewangle[MAXVIDWIDTH+1];
// Wall rendering
typedef struct
{
INT32 x, stopx;
angle_t centerangle;
fixed_t offset;
fixed_t offset2; // for splats
fixed_t scale, scalestep;
fixed_t midtexturemid, toptexturemid, bottomtexturemid;
#ifdef ESLOPE
fixed_t toptextureslide, midtextureslide, bottomtextureslide; // Defines how to adjust Y offsets along the wall for slopes
fixed_t midtextureback, midtexturebackslide; // Values for masked midtexture height calculation
#endif
fixed_t distance;
angle_t normalangle;
angle_t angle1; // angle to line origin
extern fixed_t rw_distance;
extern angle_t rw_normalangle;
// for masked segs and thick sides
INT32 texnum;
void (*colfunc_2s) (column_t *);
INT32 column2s_length; // column->length : for multi-patch on 2sided wall = texture->height
// masked segs
INT32 maskedrepeat;
// thick sides
ffloor_t *pfloor;
#ifdef ESLOPE
// Render FOF sides kinda like normal sides, with the frac and step and everything
// NOTE: INT64 instead of fixed_t because overflow concerns
INT64 top_frac, top_step, bottom_frac, bottom_step;
fixed_t ffloortextureslide;
fixed_t left_top, left_bottom; // needed here for slope skewing
#endif
} renderwall_t;
extern renderwall_t rw;
// angle to line origin
extern angle_t rw_angle1;
#endif