From c7ddc423f67236a99956960cf9fe89abf077839b Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Fri, 5 Sep 2008 00:02:14 +0000 Subject: Reformat (beautify) Raven sources and add GPL headers. Subversion-branch: /branches/raven-branch Subversion-revision: 1197 --- src/heretic/r_local.h | 528 ++++++++++++++++++++++++++------------------------ 1 file changed, 275 insertions(+), 253 deletions(-) (limited to 'src/heretic/r_local.h') diff --git a/src/heretic/r_local.h b/src/heretic/r_local.h index 33833cc0..38945bad 100644 --- a/src/heretic/r_local.h +++ b/src/heretic/r_local.h @@ -1,9 +1,31 @@ +// Emacs style mode select -*- C++ -*- +//----------------------------------------------------------------------------- +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 1993-2008 Raven Software +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// 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., 59 Temple Place - Suite 330, Boston, MA +// 02111-1307, USA. +// +//----------------------------------------------------------------------------- // R_local.h #ifndef __R_LOCAL__ #define __R_LOCAL__ -#define ANGLETOSKYSHIFT 22 // sky map is 256*128*4 maps +#define ANGLETOSKYSHIFT 22 // sky map is 256*128*4 maps #define BASEYCENTER 100 @@ -16,7 +38,7 @@ #define MINZ (FRACUNIT*4) -#define FIELDOFVIEW 2048 // fineangles in the SCREENWIDTH wide window +#define FIELDOFVIEW 2048 // fineangles in the SCREENWIDTH wide window // // lighting constants @@ -27,7 +49,7 @@ #define LIGHTSCALESHIFT 12 #define MAXLIGHTZ 128 #define LIGHTZSHIFT 20 -#define NUMCOLORMAPS 32 // number of diminishing +#define NUMCOLORMAPS 32 // number of diminishing #define INVERSECOLORMAP 32 /* @@ -42,79 +64,80 @@ typedef struct { - fixed_t x,y; + fixed_t x, y; } vertex_t; struct line_s; -typedef struct +typedef struct { - fixed_t floorheight, ceilingheight; - short floorpic, ceilingpic; - short lightlevel; - short special, tag; - - int soundtraversed; // 0 = untraversed, 1,2 = sndlines -1 - mobj_t *soundtarget; // thing that made a sound (or null) - - int blockbox[4]; // mapblock bounding box for height changes - degenmobj_t soundorg; // for any sounds played by the sector - - int validcount; // if == validcount, already checked - mobj_t *thinglist; // list of mobjs in sector - void *specialdata; // thinker_t for reversable actions - int linecount; - struct line_s **lines; // [linecount] size + fixed_t floorheight, ceilingheight; + short floorpic, ceilingpic; + short lightlevel; + short special, tag; + + int soundtraversed; // 0 = untraversed, 1,2 = sndlines -1 + mobj_t *soundtarget; // thing that made a sound (or null) + + int blockbox[4]; // mapblock bounding box for height changes + degenmobj_t soundorg; // for any sounds played by the sector + + int validcount; // if == validcount, already checked + mobj_t *thinglist; // list of mobjs in sector + void *specialdata; // thinker_t for reversable actions + int linecount; + struct line_s **lines; // [linecount] size } sector_t; typedef struct { - fixed_t textureoffset; // add this to the calculated texture col - fixed_t rowoffset; // add this to the calculated texture top - short toptexture, bottomtexture, midtexture; - sector_t *sector; + fixed_t textureoffset; // add this to the calculated texture col + fixed_t rowoffset; // add this to the calculated texture top + short toptexture, bottomtexture, midtexture; + sector_t *sector; } side_t; -typedef enum {ST_HORIZONTAL, ST_VERTICAL, ST_POSITIVE, ST_NEGATIVE} slopetype_t; +typedef enum +{ ST_HORIZONTAL, ST_VERTICAL, ST_POSITIVE, ST_NEGATIVE } slopetype_t; typedef struct line_s { - vertex_t *v1, *v2; - fixed_t dx,dy; // v2 - v1 for side checking - short flags; - short special, tag; - short sidenum[2]; // sidenum[1] will be -1 if one sided - fixed_t bbox[4]; - slopetype_t slopetype; // to aid move clipping - sector_t *frontsector, *backsector; - int validcount; // if == validcount, already checked - void *specialdata; // thinker_t for reversable actions + vertex_t *v1, *v2; + fixed_t dx, dy; // v2 - v1 for side checking + short flags; + short special, tag; + short sidenum[2]; // sidenum[1] will be -1 if one sided + fixed_t bbox[4]; + slopetype_t slopetype; // to aid move clipping + sector_t *frontsector, *backsector; + int validcount; // if == validcount, already checked + void *specialdata; // thinker_t for reversable actions } line_t; typedef struct subsector_s { - sector_t *sector; - short numlines; - short firstline; + sector_t *sector; + short numlines; + short firstline; } subsector_t; typedef struct { - vertex_t *v1, *v2; - fixed_t offset; - angle_t angle; - side_t *sidedef; - line_t *linedef; - sector_t *frontsector; - sector_t *backsector; // NULL for one sided lines + vertex_t *v1, *v2; + fixed_t offset; + angle_t angle; + side_t *sidedef; + line_t *linedef; + sector_t *frontsector; + sector_t *backsector; // NULL for one sided lines } seg_t; typedef struct { - fixed_t x,y,dx,dy; // partition line - fixed_t bbox[2][4]; // bounding box for each child - unsigned short children[2]; // if NF_SUBSECTOR its a subsector + fixed_t x, y, dx, dy; // partition line + fixed_t bbox[2][4]; // bounding box for each child + unsigned short children[2]; // if NF_SUBSECTOR its a subsector } node_t; @@ -126,38 +149,38 @@ typedef struct ============================================================================== */ -typedef byte lighttable_t; // this could be wider for >8 bit display +typedef byte lighttable_t; // this could be wider for >8 bit display #define MAXVISPLANES 128 #define MAXOPENINGS SCREENWIDTH*64 typedef struct { - fixed_t height; - int picnum; - int lightlevel; - int special; - int minx, maxx; - byte pad1; // leave pads for [minx-1]/[maxx+1] - byte top[SCREENWIDTH]; - byte pad2; - byte pad3; - byte bottom[SCREENWIDTH]; - byte pad4; + fixed_t height; + int picnum; + int lightlevel; + int special; + int minx, maxx; + byte pad1; // leave pads for [minx-1]/[maxx+1] + byte top[SCREENWIDTH]; + byte pad2; + byte pad3; + byte bottom[SCREENWIDTH]; + byte pad4; } visplane_t; typedef struct drawseg_s { - seg_t *curline; - int x1, x2; - fixed_t scale1, scale2, scalestep; - int silhouette; // 0=none, 1=bottom, 2=top, 3=both - fixed_t bsilheight; // don't clip sprites above this - fixed_t tsilheight; // don't clip sprites below this + seg_t *curline; + int x1, x2; + fixed_t scale1, scale2, scalestep; + int silhouette; // 0=none, 1=bottom, 2=top, 3=both + fixed_t bsilheight; // don't clip sprites above this + fixed_t tsilheight; // don't clip sprites below this // pointers to lists for sprite clipping - short *sprtopclip; // adjusted so [x1] is first value - short *sprbottomclip; // adjusted so [x1] is first value - short *maskedtexturecol; // adjusted so [x1] is first value + short *sprtopclip; // adjusted so [x1] is first value + short *sprbottomclip; // adjusted so [x1] is first value + short *maskedtexturecol; // adjusted so [x1] is first value } drawseg_t; #define SIL_NONE 0 @@ -170,24 +193,24 @@ typedef struct drawseg_s // A vissprite_t is a thing that will be drawn during a refresh typedef struct vissprite_s { - struct vissprite_s *prev, *next; - int x1, x2; - fixed_t gx, gy; // for line side calculation - fixed_t gz, gzt; // global bottom / top for silhouette clipping - fixed_t startfrac; // horizontal position of x1 - fixed_t scale; - fixed_t xiscale; // negative if flipped - fixed_t texturemid; - int patch; - lighttable_t *colormap; - int mobjflags; // for color translation and shadow draw - boolean psprite; // true if psprite - fixed_t footclip; // foot clipping + struct vissprite_s *prev, *next; + int x1, x2; + fixed_t gx, gy; // for line side calculation + fixed_t gz, gzt; // global bottom / top for silhouette clipping + fixed_t startfrac; // horizontal position of x1 + fixed_t scale; + fixed_t xiscale; // negative if flipped + fixed_t texturemid; + int patch; + lighttable_t *colormap; + int mobjflags; // for color translation and shadow draw + boolean psprite; // true if psprite + fixed_t footclip; // foot clipping } vissprite_t; -extern visplane_t *floorplane, *ceilingplane; - +extern visplane_t *floorplane, *ceilingplane; + // Sprites are patches with a special naming convention so they can be // recognized by R_InitSprites. The sprite and frame specified by a // thing_t is range checked at run time. @@ -198,194 +221,194 @@ extern visplane_t *floorplane, *ceilingplane; typedef struct { - boolean rotate; // if false use 0 for any position - short lump[8]; // lump to use for view angles 0-7 - byte flip[8]; // flip (1 = flip) to use for view angles 0-7 + boolean rotate; // if false use 0 for any position + short lump[8]; // lump to use for view angles 0-7 + byte flip[8]; // flip (1 = flip) to use for view angles 0-7 } spriteframe_t; typedef struct { - int numframes; - spriteframe_t *spriteframes; + int numframes; + spriteframe_t *spriteframes; } spritedef_t; -extern spritedef_t *sprites; -extern int numsprites; +extern spritedef_t *sprites; +extern int numsprites; //============================================================================= -extern int numvertexes; -extern vertex_t *vertexes; +extern int numvertexes; +extern vertex_t *vertexes; -extern int numsegs; -extern seg_t *segs; +extern int numsegs; +extern seg_t *segs; -extern int numsectors; -extern sector_t *sectors; +extern int numsectors; +extern sector_t *sectors; -extern int numsubsectors; -extern subsector_t *subsectors; +extern int numsubsectors; +extern subsector_t *subsectors; -extern int numnodes; -extern node_t *nodes; +extern int numnodes; +extern node_t *nodes; -extern int numlines; -extern line_t *lines; +extern int numlines; +extern line_t *lines; -extern int numsides; -extern side_t *sides; +extern int numsides; +extern side_t *sides; -extern fixed_t viewx, viewy, viewz; -extern angle_t viewangle; -extern player_t *viewplayer; +extern fixed_t viewx, viewy, viewz; +extern angle_t viewangle; +extern player_t *viewplayer; -extern angle_t clipangle; +extern angle_t clipangle; -extern int viewangletox[FINEANGLES/2]; -extern angle_t xtoviewangle[SCREENWIDTH+1]; -extern fixed_t finetangent[FINEANGLES/2]; +extern int viewangletox[FINEANGLES / 2]; +extern angle_t xtoviewangle[SCREENWIDTH + 1]; +extern fixed_t finetangent[FINEANGLES / 2]; -extern fixed_t rw_distance; -extern angle_t rw_normalangle; +extern fixed_t rw_distance; +extern angle_t rw_normalangle; // // R_main.c // -extern int viewwidth, viewheight, viewwindowx, viewwindowy; -extern int centerx, centery; -extern int flyheight; -extern fixed_t centerxfrac; -extern fixed_t centeryfrac; -extern fixed_t projection; +extern int viewwidth, viewheight, viewwindowx, viewwindowy; +extern int centerx, centery; +extern int flyheight; +extern fixed_t centerxfrac; +extern fixed_t centeryfrac; +extern fixed_t projection; -extern int validcount; +extern int validcount; -extern int sscount, linecount, loopcount; -extern lighttable_t *scalelight[LIGHTLEVELS][MAXLIGHTSCALE]; -extern lighttable_t *scalelightfixed[MAXLIGHTSCALE]; -extern lighttable_t *zlight[LIGHTLEVELS][MAXLIGHTZ]; +extern int sscount, linecount, loopcount; +extern lighttable_t *scalelight[LIGHTLEVELS][MAXLIGHTSCALE]; +extern lighttable_t *scalelightfixed[MAXLIGHTSCALE]; +extern lighttable_t *zlight[LIGHTLEVELS][MAXLIGHTZ]; -extern int extralight; -extern lighttable_t *fixedcolormap; +extern int extralight; +extern lighttable_t *fixedcolormap; -extern fixed_t viewcos, viewsin; +extern fixed_t viewcos, viewsin; -extern int detailshift; // 0 = high, 1 = low +extern int detailshift; // 0 = high, 1 = low -extern void (*colfunc) (void); -extern void (*basecolfunc) (void); -extern void (*fuzzcolfunc) (void); -extern void (*spanfunc) (void); +extern void (*colfunc) (void); +extern void (*basecolfunc) (void); +extern void (*fuzzcolfunc) (void); +extern void (*spanfunc) (void); -int R_PointOnSide (fixed_t x, fixed_t y, node_t *node); -int R_PointOnSegSide (fixed_t x, fixed_t y, seg_t *line); -angle_t R_PointToAngle (fixed_t x, fixed_t y); -angle_t R_PointToAngle2 (fixed_t x1, fixed_t y1, fixed_t x2, fixed_t y2); -fixed_t R_PointToDist (fixed_t x, fixed_t y); -fixed_t R_ScaleFromGlobalAngle (angle_t visangle); -subsector_t *R_PointInSubsector (fixed_t x, fixed_t y); -void R_AddPointToBox (int x, int y, fixed_t *box); +int R_PointOnSide(fixed_t x, fixed_t y, node_t * node); +int R_PointOnSegSide(fixed_t x, fixed_t y, seg_t * line); +angle_t R_PointToAngle(fixed_t x, fixed_t y); +angle_t R_PointToAngle2(fixed_t x1, fixed_t y1, fixed_t x2, fixed_t y2); +fixed_t R_PointToDist(fixed_t x, fixed_t y); +fixed_t R_ScaleFromGlobalAngle(angle_t visangle); +subsector_t *R_PointInSubsector(fixed_t x, fixed_t y); +void R_AddPointToBox(int x, int y, fixed_t * box); // // R_bsp.c // -extern seg_t *curline; -extern side_t *sidedef; -extern line_t *linedef; -extern sector_t *frontsector, *backsector; +extern seg_t *curline; +extern side_t *sidedef; +extern line_t *linedef; +extern sector_t *frontsector, *backsector; -extern int rw_x; -extern int rw_stopx; +extern int rw_x; +extern int rw_stopx; -extern boolean segtextured; -extern boolean markfloor; // false if the back side is the same plane -extern boolean markceiling; -extern boolean skymap; +extern boolean segtextured; +extern boolean markfloor; // false if the back side is the same plane +extern boolean markceiling; +extern boolean skymap; -extern drawseg_t drawsegs[MAXDRAWSEGS], *ds_p; +extern drawseg_t drawsegs[MAXDRAWSEGS], *ds_p; -extern lighttable_t **hscalelight, **vscalelight, **dscalelight; +extern lighttable_t **hscalelight, **vscalelight, **dscalelight; typedef void (*drawfunc_t) (int start, int stop); -void R_ClearClipSegs (void); +void R_ClearClipSegs(void); -void R_ClearDrawSegs (void); -void R_InitSkyMap (void); -void R_RenderBSPNode (int bspnum); +void R_ClearDrawSegs(void); +void R_InitSkyMap(void); +void R_RenderBSPNode(int bspnum); // // R_segs.c // -extern int rw_angle1; // angle to line origin +extern int rw_angle1; // angle to line origin -void R_RenderMaskedSegRange (drawseg_t *ds, int x1, int x2); +void R_RenderMaskedSegRange(drawseg_t * ds, int x1, int x2); // // R_plane.c // typedef void (*planefunction_t) (int top, int bottom); -extern planefunction_t floorfunc, ceilingfunc; +extern planefunction_t floorfunc, ceilingfunc; -extern int skyflatnum; +extern int skyflatnum; -extern short openings[MAXOPENINGS], *lastopening; +extern short openings[MAXOPENINGS], *lastopening; -extern short floorclip[SCREENWIDTH]; -extern short ceilingclip[SCREENWIDTH]; +extern short floorclip[SCREENWIDTH]; +extern short ceilingclip[SCREENWIDTH]; -extern fixed_t yslope[SCREENHEIGHT]; -extern fixed_t distscale[SCREENWIDTH]; +extern fixed_t yslope[SCREENHEIGHT]; +extern fixed_t distscale[SCREENWIDTH]; -void R_InitPlanes (void); -void R_ClearPlanes (void); -void R_MapPlane (int y, int x1, int x2); -void R_MakeSpans (int x, int t1, int b1, int t2, int b2); -void R_DrawPlanes (void); +void R_InitPlanes(void); +void R_ClearPlanes(void); +void R_MapPlane(int y, int x1, int x2); +void R_MakeSpans(int x, int t1, int b1, int t2, int b2); +void R_DrawPlanes(void); -visplane_t *R_FindPlane (fixed_t height, int picnum, int lightlevel, - int special); -visplane_t *R_CheckPlane (visplane_t *pl, int start, int stop); +visplane_t *R_FindPlane(fixed_t height, int picnum, int lightlevel, + int special); +visplane_t *R_CheckPlane(visplane_t * pl, int start, int stop); // // R_debug.m // -extern int drawbsp; +extern int drawbsp; -void RD_OpenMapWindow (void); -void RD_ClearMapWindow (void); -void RD_DisplayLine (int x1, int y1, int x2, int y2, float gray); -void RD_DrawNodeLine (node_t *node); -void RD_DrawLineCheck (seg_t *line); -void RD_DrawLine (seg_t *line); -void RD_DrawBBox (fixed_t *bbox); +void RD_OpenMapWindow(void); +void RD_ClearMapWindow(void); +void RD_DisplayLine(int x1, int y1, int x2, int y2, float gray); +void RD_DrawNodeLine(node_t * node); +void RD_DrawLineCheck(seg_t * line); +void RD_DrawLine(seg_t * line); +void RD_DrawBBox(fixed_t * bbox); // // R_data.c // -extern fixed_t *textureheight; // needed for texture pegging -extern fixed_t *spritewidth; // needed for pre rendering (fracs) -extern fixed_t *spriteoffset; -extern fixed_t *spritetopoffset; -extern lighttable_t *colormaps; -extern int viewwidth, scaledviewwidth, viewheight; -extern int firstflat; -extern int numflats; +extern fixed_t *textureheight; // needed for texture pegging +extern fixed_t *spritewidth; // needed for pre rendering (fracs) +extern fixed_t *spriteoffset; +extern fixed_t *spritetopoffset; +extern lighttable_t *colormaps; +extern int viewwidth, scaledviewwidth, viewheight; +extern int firstflat; +extern int numflats; -extern int *flattranslation; // for global animation -extern int *texturetranslation; // for global animation +extern int *flattranslation; // for global animation +extern int *texturetranslation; // for global animation -extern int firstspritelump, lastspritelump, numspritelumps; +extern int firstspritelump, lastspritelump, numspritelumps; -byte *R_GetColumn (int tex, int col); -void R_InitData (void); -void R_PrecacheLevel (void); +byte *R_GetColumn(int tex, int col); +void R_InitData(void); +void R_PrecacheLevel(void); // @@ -393,35 +416,35 @@ void R_PrecacheLevel (void); // #define MAXVISSPRITES 128 -extern vissprite_t vissprites[MAXVISSPRITES], *vissprite_p; -extern vissprite_t vsprsortedhead; +extern vissprite_t vissprites[MAXVISSPRITES], *vissprite_p; +extern vissprite_t vsprsortedhead; // constant arrays used for psprite clipping and initializing clipping -extern short negonearray[SCREENWIDTH]; -extern short screenheightarray[SCREENWIDTH]; +extern short negonearray[SCREENWIDTH]; +extern short screenheightarray[SCREENWIDTH]; // vars for R_DrawMaskedColumn -extern short *mfloorclip; -extern short *mceilingclip; -extern fixed_t spryscale; -extern fixed_t sprtopscreen; -extern fixed_t sprbotscreen; +extern short *mfloorclip; +extern short *mceilingclip; +extern fixed_t spryscale; +extern fixed_t sprtopscreen; +extern fixed_t sprbotscreen; -extern fixed_t pspritescale, pspriteiscale; +extern fixed_t pspritescale, pspriteiscale; -void R_DrawMaskedColumn (column_t *column, signed int baseclip); +void R_DrawMaskedColumn(column_t * column, signed int baseclip); -void R_SortVisSprites (void); +void R_SortVisSprites(void); -void R_AddSprites (sector_t *sec); -void R_AddPSprites (void); -void R_DrawSprites (void); -void R_InitSprites (char **namelist); -void R_ClearSprites (void); -void R_DrawMasked (void); -void R_ClipVisSprite (vissprite_t *vis, int xl, int xh); +void R_AddSprites(sector_t * sec); +void R_AddPSprites(void); +void R_DrawSprites(void); +void R_InitSprites(char **namelist); +void R_ClearSprites(void); +void R_DrawMasked(void); +void R_ClipVisSprite(vissprite_t * vis, int xl, int xh); //============================================================================= // @@ -429,40 +452,39 @@ void R_ClipVisSprite (vissprite_t *vis, int xl, int xh); // //============================================================================= -extern lighttable_t *dc_colormap; -extern int dc_x; -extern int dc_yl; -extern int dc_yh; -extern fixed_t dc_iscale; -extern fixed_t dc_texturemid; -extern byte *dc_source; // first pixel in a column - -void R_DrawColumn (void); -void R_DrawColumnLow (void); -void R_DrawFuzzColumn (void); -void R_DrawFuzzColumnLow (void); -void R_DrawTranslatedColumn (void); -void R_DrawTranslatedFuzzColumn (void); -void R_DrawTranslatedColumnLow (void); - -extern int ds_y; -extern int ds_x1; -extern int ds_x2; -extern lighttable_t *ds_colormap; -extern fixed_t ds_xfrac; -extern fixed_t ds_yfrac; -extern fixed_t ds_xstep; -extern fixed_t ds_ystep; -extern byte *ds_source; // start of a 64*64 tile image - -extern byte *translationtables; -extern byte *dc_translation; - -void R_DrawSpan (void); -void R_DrawSpanLow (void); - -void R_InitBuffer (int width, int height); -void R_InitTranslationTables (void); - -#endif // __R_LOCAL__ - +extern lighttable_t *dc_colormap; +extern int dc_x; +extern int dc_yl; +extern int dc_yh; +extern fixed_t dc_iscale; +extern fixed_t dc_texturemid; +extern byte *dc_source; // first pixel in a column + +void R_DrawColumn(void); +void R_DrawColumnLow(void); +void R_DrawFuzzColumn(void); +void R_DrawFuzzColumnLow(void); +void R_DrawTranslatedColumn(void); +void R_DrawTranslatedFuzzColumn(void); +void R_DrawTranslatedColumnLow(void); + +extern int ds_y; +extern int ds_x1; +extern int ds_x2; +extern lighttable_t *ds_colormap; +extern fixed_t ds_xfrac; +extern fixed_t ds_yfrac; +extern fixed_t ds_xstep; +extern fixed_t ds_ystep; +extern byte *ds_source; // start of a 64*64 tile image + +extern byte *translationtables; +extern byte *dc_translation; + +void R_DrawSpan(void); +void R_DrawSpanLow(void); + +void R_InitBuffer(int width, int height); +void R_InitTranslationTables(void); + +#endif // __R_LOCAL__ -- cgit v1.2.3