From a8f828a066773a59fdf646299359d35ae0e845af Mon Sep 17 00:00:00 2001 From: wyatt8740 Date: Mon, 6 Jan 2014 12:02:16 -0500 Subject: Removed accidental upload of copyrighted map files --- WinQuake/d_iface.h | 458 ++++++++++++++++++++++++++--------------------------- 1 file changed, 229 insertions(+), 229 deletions(-) (limited to 'WinQuake/d_iface.h') diff --git a/WinQuake/d_iface.h b/WinQuake/d_iface.h index 0096c39..8f826b6 100644 --- a/WinQuake/d_iface.h +++ b/WinQuake/d_iface.h @@ -1,229 +1,229 @@ -/* -Copyright (C) 1996-1997 Id Software, Inc. - -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. - -*/ -// d_iface.h: interface header file for rasterization driver modules - -#define WARP_WIDTH 320 -#define WARP_HEIGHT 200 - -#define MAX_LBM_HEIGHT 480 - -typedef struct -{ - float u, v; - float s, t; - float zi; -} emitpoint_t; - -typedef enum { - pt_static, pt_grav, pt_slowgrav, pt_fire, pt_explode, pt_explode2, pt_blob, pt_blob2 -} ptype_t; - -// !!! if this is changed, it must be changed in d_ifacea.h too !!! -typedef struct particle_s -{ -// driver-usable fields - vec3_t org; - float color; -// drivers never touch the following fields - struct particle_s *next; - vec3_t vel; - float ramp; - float die; - ptype_t type; -} particle_t; - -#define PARTICLE_Z_CLIP 8.0 - -typedef struct polyvert_s { - float u, v, zi, s, t; -} polyvert_t; - -typedef struct polydesc_s { - int numverts; - float nearzi; - msurface_t *pcurrentface; - polyvert_t *pverts; -} polydesc_t; - -// !!! if this is changed, it must be changed in d_ifacea.h too !!! -typedef struct finalvert_s { - int v[6]; // u, v, s, t, l, 1/z - int flags; - float reserved; -} finalvert_t; - -// !!! if this is changed, it must be changed in d_ifacea.h too !!! -typedef struct -{ - void *pskin; - maliasskindesc_t *pskindesc; - int skinwidth; - int skinheight; - mtriangle_t *ptriangles; - finalvert_t *pfinalverts; - int numtriangles; - int drawtype; - int seamfixupX16; -} affinetridesc_t; - -// !!! if this is changed, it must be changed in d_ifacea.h too !!! -typedef struct { - float u, v, zi, color; -} screenpart_t; - -typedef struct -{ - int nump; - emitpoint_t *pverts; // there's room for an extra element at [nump], - // if the driver wants to duplicate element [0] at - // element [nump] to avoid dealing with wrapping - mspriteframe_t *pspriteframe; - vec3_t vup, vright, vpn; // in worldspace - float nearzi; -} spritedesc_t; - -typedef struct -{ - int u, v; - float zi; - int color; -} zpointdesc_t; - -extern cvar_t r_drawflat; -extern int d_spanpixcount; -extern int r_framecount; // sequence # of current frame since Quake - // started -extern qboolean r_drawpolys; // 1 if driver wants clipped polygons - // rather than a span list -extern qboolean r_drawculledpolys; // 1 if driver wants clipped polygons that - // have been culled by the edge list -extern qboolean r_worldpolysbacktofront; // 1 if driver wants polygons - // delivered back to front rather - // than front to back -extern qboolean r_recursiveaffinetriangles; // true if a driver wants to use - // recursive triangular subdivison - // and vertex drawing via - // D_PolysetDrawFinalVerts() past - // a certain distance (normally - // only used by the software - // driver) -extern float r_aliasuvscale; // scale-up factor for screen u and v - // on Alias vertices passed to driver -extern int r_pixbytes; -extern qboolean r_dowarp; - -extern affinetridesc_t r_affinetridesc; -extern spritedesc_t r_spritedesc; -extern zpointdesc_t r_zpointdesc; -extern polydesc_t r_polydesc; - -extern int d_con_indirect; // if 0, Quake will draw console directly - // to vid.buffer; if 1, Quake will - // draw console via D_DrawRect. Must be - // defined by driver - -extern vec3_t r_pright, r_pup, r_ppn; - - -void D_Aff8Patch (void *pcolormap); -void D_BeginDirectRect (int x, int y, byte *pbitmap, int width, int height); -void D_DisableBackBufferAccess (void); -void D_EndDirectRect (int x, int y, int width, int height); -void D_PolysetDraw (void); -void D_PolysetDrawFinalVerts (finalvert_t *fv, int numverts); -void D_DrawParticle (particle_t *pparticle); -void D_DrawPoly (void); -void D_DrawSprite (void); -void D_DrawSurfaces (void); -void D_DrawZPoint (void); -void D_EnableBackBufferAccess (void); -void D_EndParticles (void); -void D_Init (void); -void D_ViewChanged (void); -void D_SetupFrame (void); -void D_StartParticles (void); -void D_TurnZOn (void); -void D_WarpScreen (void); - -void D_FillRect (vrect_t *vrect, int color); -void D_DrawRect (void); -void D_UpdateRects (vrect_t *prect); - -// currently for internal use only, and should be a do-nothing function in -// hardware drivers -// FIXME: this should go away -void D_PolysetUpdateTables (void); - -// these are currently for internal use only, and should not be used by drivers -extern int r_skydirect; -extern byte *r_skysource; - -// transparency types for D_DrawRect () -#define DR_SOLID 0 -#define DR_TRANSPARENT 1 - -// !!! must be kept the same as in quakeasm.h !!! -#define TRANSPARENT_COLOR 0xFF - -extern void *acolormap; // FIXME: should go away - -//=======================================================================// - -// callbacks to Quake - -typedef struct -{ - pixel_t *surfdat; // destination for generated surface - int rowbytes; // destination logical width in bytes - msurface_t *surf; // description for surface to generate - fixed8_t lightadj[MAXLIGHTMAPS]; - // adjust for lightmap levels for dynamic lighting - texture_t *texture; // corrected for animating textures - int surfmip; // mipmapped ratio of surface texels / world pixels - int surfwidth; // in mipmapped texels - int surfheight; // in mipmapped texels -} drawsurf_t; - -extern drawsurf_t r_drawsurf; - -void R_DrawSurface (void); -void R_GenTile (msurface_t *psurf, void *pdest); - - -// !!! if this is changed, it must be changed in d_ifacea.h too !!! -#define TURB_TEX_SIZE 64 // base turbulent texture size - -// !!! if this is changed, it must be changed in d_ifacea.h too !!! -#define CYCLE 128 // turbulent cycle size - -#define TILE_SIZE 128 // size of textures generated by R_GenTiledSurf - -#define SKYSHIFT 7 -#define SKYSIZE (1 << SKYSHIFT) -#define SKYMASK (SKYSIZE - 1) - -extern float skyspeed, skyspeed2; -extern float skytime; - -extern int c_surf; -extern vrect_t scr_vrect; - -extern byte *r_warpbuffer; - +/* +Copyright (C) 1996-1997 Id Software, Inc. + +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. + +*/ +// d_iface.h: interface header file for rasterization driver modules + +#define WARP_WIDTH 320 +#define WARP_HEIGHT 200 + +#define MAX_LBM_HEIGHT 480 + +typedef struct +{ + float u, v; + float s, t; + float zi; +} emitpoint_t; + +typedef enum { + pt_static, pt_grav, pt_slowgrav, pt_fire, pt_explode, pt_explode2, pt_blob, pt_blob2 +} ptype_t; + +// !!! if this is changed, it must be changed in d_ifacea.h too !!! +typedef struct particle_s +{ +// driver-usable fields + vec3_t org; + float color; +// drivers never touch the following fields + struct particle_s *next; + vec3_t vel; + float ramp; + float die; + ptype_t type; +} particle_t; + +#define PARTICLE_Z_CLIP 8.0 + +typedef struct polyvert_s { + float u, v, zi, s, t; +} polyvert_t; + +typedef struct polydesc_s { + int numverts; + float nearzi; + msurface_t *pcurrentface; + polyvert_t *pverts; +} polydesc_t; + +// !!! if this is changed, it must be changed in d_ifacea.h too !!! +typedef struct finalvert_s { + int v[6]; // u, v, s, t, l, 1/z + int flags; + float reserved; +} finalvert_t; + +// !!! if this is changed, it must be changed in d_ifacea.h too !!! +typedef struct +{ + void *pskin; + maliasskindesc_t *pskindesc; + int skinwidth; + int skinheight; + mtriangle_t *ptriangles; + finalvert_t *pfinalverts; + int numtriangles; + int drawtype; + int seamfixupX16; +} affinetridesc_t; + +// !!! if this is changed, it must be changed in d_ifacea.h too !!! +typedef struct { + float u, v, zi, color; +} screenpart_t; + +typedef struct +{ + int nump; + emitpoint_t *pverts; // there's room for an extra element at [nump], + // if the driver wants to duplicate element [0] at + // element [nump] to avoid dealing with wrapping + mspriteframe_t *pspriteframe; + vec3_t vup, vright, vpn; // in worldspace + float nearzi; +} spritedesc_t; + +typedef struct +{ + int u, v; + float zi; + int color; +} zpointdesc_t; + +extern cvar_t r_drawflat; +extern int d_spanpixcount; +extern int r_framecount; // sequence # of current frame since Quake + // started +extern qboolean r_drawpolys; // 1 if driver wants clipped polygons + // rather than a span list +extern qboolean r_drawculledpolys; // 1 if driver wants clipped polygons that + // have been culled by the edge list +extern qboolean r_worldpolysbacktofront; // 1 if driver wants polygons + // delivered back to front rather + // than front to back +extern qboolean r_recursiveaffinetriangles; // true if a driver wants to use + // recursive triangular subdivison + // and vertex drawing via + // D_PolysetDrawFinalVerts() past + // a certain distance (normally + // only used by the software + // driver) +extern float r_aliasuvscale; // scale-up factor for screen u and v + // on Alias vertices passed to driver +extern int r_pixbytes; +extern qboolean r_dowarp; + +extern affinetridesc_t r_affinetridesc; +extern spritedesc_t r_spritedesc; +extern zpointdesc_t r_zpointdesc; +extern polydesc_t r_polydesc; + +extern int d_con_indirect; // if 0, Quake will draw console directly + // to vid.buffer; if 1, Quake will + // draw console via D_DrawRect. Must be + // defined by driver + +extern vec3_t r_pright, r_pup, r_ppn; + + +void D_Aff8Patch (void *pcolormap); +void D_BeginDirectRect (int x, int y, byte *pbitmap, int width, int height); +void D_DisableBackBufferAccess (void); +void D_EndDirectRect (int x, int y, int width, int height); +void D_PolysetDraw (void); +void D_PolysetDrawFinalVerts (finalvert_t *fv, int numverts); +void D_DrawParticle (particle_t *pparticle); +void D_DrawPoly (void); +void D_DrawSprite (void); +void D_DrawSurfaces (void); +void D_DrawZPoint (void); +void D_EnableBackBufferAccess (void); +void D_EndParticles (void); +void D_Init (void); +void D_ViewChanged (void); +void D_SetupFrame (void); +void D_StartParticles (void); +void D_TurnZOn (void); +void D_WarpScreen (void); + +void D_FillRect (vrect_t *vrect, int color); +void D_DrawRect (void); +void D_UpdateRects (vrect_t *prect); + +// currently for internal use only, and should be a do-nothing function in +// hardware drivers +// FIXME: this should go away +void D_PolysetUpdateTables (void); + +// these are currently for internal use only, and should not be used by drivers +extern int r_skydirect; +extern byte *r_skysource; + +// transparency types for D_DrawRect () +#define DR_SOLID 0 +#define DR_TRANSPARENT 1 + +// !!! must be kept the same as in quakeasm.h !!! +#define TRANSPARENT_COLOR 0xFF + +extern void *acolormap; // FIXME: should go away + +//=======================================================================// + +// callbacks to Quake + +typedef struct +{ + pixel_t *surfdat; // destination for generated surface + int rowbytes; // destination logical width in bytes + msurface_t *surf; // description for surface to generate + fixed8_t lightadj[MAXLIGHTMAPS]; + // adjust for lightmap levels for dynamic lighting + texture_t *texture; // corrected for animating textures + int surfmip; // mipmapped ratio of surface texels / world pixels + int surfwidth; // in mipmapped texels + int surfheight; // in mipmapped texels +} drawsurf_t; + +extern drawsurf_t r_drawsurf; + +void R_DrawSurface (void); +void R_GenTile (msurface_t *psurf, void *pdest); + + +// !!! if this is changed, it must be changed in d_ifacea.h too !!! +#define TURB_TEX_SIZE 64 // base turbulent texture size + +// !!! if this is changed, it must be changed in d_ifacea.h too !!! +#define CYCLE 128 // turbulent cycle size + +#define TILE_SIZE 128 // size of textures generated by R_GenTiledSurf + +#define SKYSHIFT 7 +#define SKYSIZE (1 << SKYSHIFT) +#define SKYMASK (SKYSIZE - 1) + +extern float skyspeed, skyspeed2; +extern float skytime; + +extern int c_surf; +extern vrect_t scr_vrect; + +extern byte *r_warpbuffer; + -- cgit v1.2.3