This commit is contained in:
Jaime Passos 2019-04-06 23:33:34 -03:00
parent e1f1e63cc9
commit fa7f627c88
14 changed files with 235 additions and 1317 deletions

View file

@ -529,6 +529,6 @@ extern const char *compdate, *comptime, *comprevision, *compbranch;
/// on the bright side it fixes some weird issues with translucent walls /// on the bright side it fixes some weird issues with translucent walls
/// \note SRB2CB port. /// \note SRB2CB port.
/// SRB2CB itself ported this from PrBoom+ /// SRB2CB itself ported this from PrBoom+
#define NEWCLIP //#define NEWCLIP
#endif // __DOOMDEF__ #endif // __DOOMDEF__

View file

@ -351,7 +351,7 @@ angle_t gld_FrustumAngle(void)
} }
// SRB2CB I don't think used any of this stuff, let's disable for now since SRB2 probably doesn't want it either // SRB2CB I don't think used any of this stuff, let's disable for now since SRB2 probably doesn't want it either
// compiler complains about (p)glGetDoublev anyway, in case anyone wants this // compiler complains about (p)glGetFloatv anyway, in case anyone wants this
// only r_opengl.c can use the base gl funcs as it turns out, that's a problem for whoever wants sphere frustum checks // only r_opengl.c can use the base gl funcs as it turns out, that's a problem for whoever wants sphere frustum checks
// btw to renable define HAVE_SPHEREFRUSTRUM in hw_clip.h // btw to renable define HAVE_SPHEREFRUSTRUM in hw_clip.h
#ifdef HAVE_SPHEREFRUSTRUM #ifdef HAVE_SPHEREFRUSTRUM

View file

@ -74,21 +74,11 @@ typedef struct
FLOAT x,y; FLOAT x,y;
} F2DCoord, v2d_t; } F2DCoord, v2d_t;
// Simple 3D vector // ======================
typedef struct FVector // wallVert3D
{ // ----------------------
FLOAT x,y,z; // :crab: IS GONE! :crab:
} FVector; // ======================
// 3D model vector (coords + texture coords)
typedef struct
{
FLOAT x,y,z;
FLOAT s,t,w; // texture coordinates
} wallVert3D;
//Hurdler: Transform (coords + angles)
//BP: transform order : scale(rotation_x(rotation_y(translation(v))))
// Kart features // Kart features
//#define USE_FTRANSFORM_ANGLEZ //#define USE_FTRANSFORM_ANGLEZ
@ -118,9 +108,7 @@ typedef struct
typedef struct typedef struct
{ {
FLOAT x,y,z; FLOAT x,y,z;
FLOAT sow; // s texture ordinate (s over w) FLOAT s,t;
FLOAT tow; // t texture ordinate (t over w)
FUINT argb; // flat-shaded color
} FOutVector; } FOutVector;
// ========================================================================== // ==========================================================================
@ -203,6 +191,9 @@ enum hwdsetspecialstate
}; };
typedef enum hwdsetspecialstate hwdspecialstate_t; typedef enum hwdsetspecialstate hwdspecialstate_t;
#define GL_NORMALFOG 0x00000000
#define GL_FADEFOG 0x19000000
enum hwdfiltermode enum hwdfiltermode
{ {
HWD_SET_TEXTUREFILTER_POINTSAMPLED, HWD_SET_TEXTUREFILTER_POINTSAMPLED,

View file

@ -108,10 +108,10 @@ void HWR_DrawPatch(GLPatch_t *gpatch, INT32 x, INT32 y, INT32 option)
v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; v[0].z = v[1].z = v[2].z = v[3].z = 1.0f;
v[0].sow = v[3].sow = 0.0f; v[0].s = v[3].s = 0.0f;
v[2].sow = v[1].sow = gpatch->max_s; v[2].s = v[1].s = gpatch->max_s;
v[0].tow = v[1].tow = 0.0f; v[0].t = v[1].t = 0.0f;
v[2].tow = v[3].tow = gpatch->max_t; v[2].t = v[3].t = gpatch->max_t;
flags = PF_Translucent|PF_NoDepthTest; flags = PF_Translucent|PF_NoDepthTest;
@ -265,17 +265,17 @@ void HWR_DrawFixedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscale,
if (option & V_FLIP) if (option & V_FLIP)
{ {
v[0].sow = v[3].sow = gpatch->max_s; v[0].s = v[3].s = gpatch->max_s;
v[2].sow = v[1].sow = 0.0f; v[2].s = v[1].s = 0.0f;
} }
else else
{ {
v[0].sow = v[3].sow = 0.0f; v[0].s = v[3].s = 0.0f;
v[2].sow = v[1].sow = gpatch->max_s; v[2].s = v[1].s = gpatch->max_s;
} }
v[0].tow = v[1].tow = 0.0f; v[0].t = v[1].t = 0.0f;
v[2].tow = v[3].tow = gpatch->max_t; v[2].t = v[3].t = gpatch->max_t;
flags = PF_Translucent|PF_NoDepthTest; flags = PF_Translucent|PF_NoDepthTest;
@ -426,10 +426,10 @@ void HWR_DrawCroppedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscal
v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; v[0].z = v[1].z = v[2].z = v[3].z = 1.0f;
v[0].sow = v[3].sow = ((sx)/(float)SHORT(gpatch->width) )*gpatch->max_s; v[0].s = v[3].s = ((sx)/(float)SHORT(gpatch->width) )*gpatch->max_s;
v[2].sow = v[1].sow = ((w )/(float)SHORT(gpatch->width) )*gpatch->max_s; v[2].s = v[1].s = ((w )/(float)SHORT(gpatch->width) )*gpatch->max_s;
v[0].tow = v[1].tow = ((sy)/(float)SHORT(gpatch->height))*gpatch->max_t; v[0].t = v[1].t = ((sy)/(float)SHORT(gpatch->height))*gpatch->max_t;
v[2].tow = v[3].tow = ((h )/(float)SHORT(gpatch->height))*gpatch->max_t; v[2].t = v[3].t = ((h )/(float)SHORT(gpatch->height))*gpatch->max_t;
flags = PF_Translucent|PF_NoDepthTest; flags = PF_Translucent|PF_NoDepthTest;
@ -514,10 +514,10 @@ void HWR_DrawFlatFill (INT32 x, INT32 y, INT32 w, INT32 h, lumpnum_t flatlumpnum
v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; v[0].z = v[1].z = v[2].z = v[3].z = 1.0f;
// flat is 64x64 lod and texture offsets are [0.0, 1.0] // flat is 64x64 lod and texture offsets are [0.0, 1.0]
v[0].sow = v[3].sow = (float)((x & flatflag)/dflatsize); v[0].s = v[3].s = (float)((x & flatflag)/dflatsize);
v[2].sow = v[1].sow = (float)(v[0].sow + w/dflatsize); v[2].s = v[1].s = (float)(v[0].s + w/dflatsize);
v[0].tow = v[1].tow = (float)((y & flatflag)/dflatsize); v[0].t = v[1].t = (float)((y & flatflag)/dflatsize);
v[2].tow = v[3].tow = (float)(v[0].tow + h/dflatsize); v[2].t = v[3].t = (float)(v[0].t + h/dflatsize);
HWR_GetFlat(flatlumpnum); HWR_GetFlat(flatlumpnum);
@ -553,10 +553,10 @@ void HWR_FadeScreenMenuBack(UINT32 color, INT32 height)
v[2].y = v[3].y = 1.0f; v[2].y = v[3].y = 1.0f;
v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; v[0].z = v[1].z = v[2].z = v[3].z = 1.0f;
v[0].sow = v[3].sow = 0.0f; v[0].s = v[3].s = 0.0f;
v[2].sow = v[1].sow = 1.0f; v[2].s = v[1].s = 1.0f;
v[0].tow = v[1].tow = 1.0f; v[0].t = v[1].t = 1.0f;
v[2].tow = v[3].tow = 0.0f; v[2].t = v[3].t = 0.0f;
Surf.PolyColor.rgba = UINT2RGBA(color); Surf.PolyColor.rgba = UINT2RGBA(color);
Surf.PolyColor.s.alpha = (UINT8)((0xff/2) * ((float)height / vid.height)); //calum: varies console alpha Surf.PolyColor.s.alpha = (UINT8)((0xff/2) * ((float)height / vid.height)); //calum: varies console alpha
@ -579,10 +579,10 @@ void HWR_DrawConsoleBack(UINT32 color, INT32 height)
v[2].y = v[3].y = 1.0f; v[2].y = v[3].y = 1.0f;
v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; v[0].z = v[1].z = v[2].z = v[3].z = 1.0f;
v[0].sow = v[3].sow = 0.0f; v[0].s = v[3].s = 0.0f;
v[2].sow = v[1].sow = 1.0f; v[2].s = v[1].s = 1.0f;
v[0].tow = v[1].tow = 1.0f; v[0].t = v[1].t = 1.0f;
v[2].tow = v[3].tow = 0.0f; v[2].t = v[3].t = 0.0f;
Surf.PolyColor.rgba = UINT2RGBA(color); Surf.PolyColor.rgba = UINT2RGBA(color);
Surf.PolyColor.s.alpha = 0x80; Surf.PolyColor.s.alpha = 0x80;
@ -834,14 +834,12 @@ void HWR_DrawConsoleFill(INT32 x, INT32 y, INT32 w, INT32 h, UINT32 color, INT32
v[0].y = v[1].y = fy; v[0].y = v[1].y = fy;
v[2].y = v[3].y = fy - fh; v[2].y = v[3].y = fy - fh;
//Hurdler: do we still use this argb color? if not, we should remove it
v[0].argb = v[1].argb = v[2].argb = v[3].argb = 0xff00ff00; //;
v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; v[0].z = v[1].z = v[2].z = v[3].z = 1.0f;
v[0].sow = v[3].sow = 0.0f; v[0].s = v[3].s = 0.0f;
v[2].sow = v[1].sow = 1.0f; v[2].s = v[1].s = 1.0f;
v[0].tow = v[1].tow = 0.0f; v[0].t = v[1].t = 0.0f;
v[2].tow = v[3].tow = 1.0f; v[2].t = v[3].t = 1.0f;
Surf.PolyColor.rgba = UINT2RGBA(color); Surf.PolyColor.rgba = UINT2RGBA(color);
Surf.PolyColor.s.alpha = 0x80; Surf.PolyColor.s.alpha = 0x80;
@ -939,14 +937,12 @@ void HWR_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color)
v[0].y = v[1].y = fy; v[0].y = v[1].y = fy;
v[2].y = v[3].y = fy - fh; v[2].y = v[3].y = fy - fh;
//Hurdler: do we still use this argb color? if not, we should remove it
v[0].argb = v[1].argb = v[2].argb = v[3].argb = 0xff00ff00; //;
v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; v[0].z = v[1].z = v[2].z = v[3].z = 1.0f;
v[0].sow = v[3].sow = 0.0f; v[0].s = v[3].s = 0.0f;
v[2].sow = v[1].sow = 1.0f; v[2].s = v[1].s = 1.0f;
v[0].tow = v[1].tow = 0.0f; v[0].t = v[1].t = 0.0f;
v[2].tow = v[3].tow = 1.0f; v[2].t = v[3].t = 1.0f;
Surf.PolyColor = V_GetColor(color); Surf.PolyColor = V_GetColor(color);

View file

@ -27,12 +27,6 @@
// ========================================================================== // ==========================================================================
EXPORT boolean HWRAPI(Init) (void); EXPORT boolean HWRAPI(Init) (void);
#ifndef HAVE_SDL
EXPORT void HWRAPI(Shutdown) (void);
#endif
#ifdef _WINDOWS
EXPORT void HWRAPI(GetModeList) (vmode_t **pvidmodes, INT32 *numvidmodes);
#endif
#if defined (PURESDL) || defined (macintosh) #if defined (PURESDL) || defined (macintosh)
EXPORT void HWRAPI(SetPalette) (INT32 *, RGBA_t *gamma); EXPORT void HWRAPI(SetPalette) (INT32 *, RGBA_t *gamma);
#else #else
@ -56,7 +50,6 @@ EXPORT void HWRAPI(DrawModel) (model_t *model, INT32 frameIndex, INT32 duration,
EXPORT void HWRAPI(CreateModelVBOs) (model_t *model); EXPORT void HWRAPI(CreateModelVBOs) (model_t *model);
EXPORT void HWRAPI(SetTransform) (FTransform *ptransform); EXPORT void HWRAPI(SetTransform) (FTransform *ptransform);
EXPORT INT32 HWRAPI(GetTextureUsed) (void); EXPORT INT32 HWRAPI(GetTextureUsed) (void);
EXPORT INT32 HWRAPI(GetRenderVersion) (void);
EXPORT void HWRAPI(FlushScreenTextures) (void); EXPORT void HWRAPI(FlushScreenTextures) (void);
EXPORT void HWRAPI(StartScreenWipe) (void); EXPORT void HWRAPI(StartScreenWipe) (void);
@ -103,13 +96,6 @@ struct hwdriver_s
CreateModelVBOs pfnCreateModelVBOs; CreateModelVBOs pfnCreateModelVBOs;
SetTransform pfnSetTransform; SetTransform pfnSetTransform;
GetTextureUsed pfnGetTextureUsed; GetTextureUsed pfnGetTextureUsed;
GetRenderVersion pfnGetRenderVersion;
#ifdef _WINDOWS
GetModeList pfnGetModeList;
#endif
#ifndef HAVE_SDL
Shutdown pfnShutdown;
#endif
PostImgRedraw pfnPostImgRedraw; PostImgRedraw pfnPostImgRedraw;
FlushScreenTextures pfnFlushScreenTextures; FlushScreenTextures pfnFlushScreenTextures;
StartScreenWipe pfnStartScreenWipe; StartScreenWipe pfnStartScreenWipe;

File diff suppressed because it is too large Load diff

View file

@ -34,13 +34,11 @@ void HWR_Shutdown(void);
void HWR_drawAMline(const fline_t *fl, INT32 color); void HWR_drawAMline(const fline_t *fl, INT32 color);
void HWR_FadeScreenMenuBack(UINT32 color, INT32 height); void HWR_FadeScreenMenuBack(UINT32 color, INT32 height);
void HWR_DrawConsoleBack(UINT32 color, INT32 height); void HWR_DrawConsoleBack(UINT32 color, INT32 height);
void HWR_RenderSkyboxView(INT32 viewnumber, player_t *player);
void HWR_RenderPlayerView(INT32 viewnumber, player_t *player); void HWR_RenderPlayerView(INT32 viewnumber, player_t *player);
void HWR_DrawViewBorder(INT32 clearlines); void HWR_DrawViewBorder(INT32 clearlines);
void HWR_DrawFlatFill(INT32 x, INT32 y, INT32 w, INT32 h, lumpnum_t flatlumpnum); void HWR_DrawFlatFill(INT32 x, INT32 y, INT32 w, INT32 h, lumpnum_t flatlumpnum);
UINT8 *HWR_GetScreenshot(void); UINT8 *HWR_GetScreenshot(void);
boolean HWR_Screenshot(const char *lbmname); boolean HWR_Screenshot(const char *lbmname);
void HWR_InitTextureMapping(void);
void HWR_SetViewSize(void); void HWR_SetViewSize(void);
void HWR_DrawPatch(GLPatch_t *gpatch, INT32 x, INT32 y, INT32 option); void HWR_DrawPatch(GLPatch_t *gpatch, INT32 x, INT32 y, INT32 option);
void HWR_DrawFixedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t scale, INT32 option, const UINT8 *colormap); void HWR_DrawFixedPatch(GLPatch_t *gpatch, fixed_t x, fixed_t y, fixed_t scale, INT32 option, const UINT8 *colormap);
@ -53,9 +51,7 @@ void HWR_DrawConsoleFill(INT32 x, INT32 y, INT32 w, INT32 h, UINT32 color, INT32
void HWR_AddCommands(void); void HWR_AddCommands(void);
void HWR_CorrectSWTricks(void); void HWR_CorrectSWTricks(void);
void transform(float *cx, float *cy, float *cz);
FBITFIELD HWR_TranstableToAlpha(INT32 transtablenum, FSurfaceInfo *pSurf); FBITFIELD HWR_TranstableToAlpha(INT32 transtablenum, FSurfaceInfo *pSurf);
INT32 HWR_GetTextureUsed(void);
void HWR_DoPostProcessor(player_t *player); void HWR_DoPostProcessor(player_t *player);
void HWR_StartScreenWipe(void); void HWR_StartScreenWipe(void);
void HWR_EndScreenWipe(void); void HWR_EndScreenWipe(void);

View file

@ -520,7 +520,7 @@ void HWR_InitMD2(void)
} }
} }
// no sprite/player skin name found?!? // no sprite/player skin name found?!?
CONS_Printf("Unknown sprite/player skin %s detected in md2.dat\n", name); //CONS_Printf("Unknown sprite/player skin %s detected in md2.dat\n", name);
md2found: md2found:
// move on to next line... // move on to next line...
continue; continue;
@ -864,10 +864,6 @@ static void HWR_GetBlendedTexture(GLPatch_t *gpatch, GLPatch_t *blendgpatch, con
// Returns : // Returns :
// -----------------+ // -----------------+
// hw_main.c
#define NORMALFOG 0x00000000
#define FADEFOG 0x19000000
void HWR_DrawMD2(gr_vissprite_t *spr) void HWR_DrawMD2(gr_vissprite_t *spr)
{ {
md2_t *md2; md2_t *md2;
@ -916,7 +912,7 @@ void HWR_DrawMD2(gr_vissprite_t *spr)
if (colormap) if (colormap)
HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba); HWR_Lighting(&Surf, lightlevel, colormap->rgba, colormap->fadergba);
else else
HWR_NoColormapLighting(&Surf, lightlevel, NORMALFOG, FADEFOG); HWR_NoColormapLighting(&Surf, lightlevel, GL_NORMALFOG, GL_FADEFOG);
} }
// Look at HWR_ProjectSprite for more // Look at HWR_ProjectSprite for more

View file

@ -1179,7 +1179,7 @@ EXPORT void HWRAPI(Draw2DLine) (F2DCoord * v1,
F2DCoord * v2, F2DCoord * v2,
RGBA_t Color) RGBA_t Color)
{ {
//GL_DBG_Printf("DrawLine() (%f %f %f) %d\n", v1->x, -v1->y, -v1->z, v1->argb); //GL_DBG_Printf("DrawLine(): %f %f, %f %f\n", v1->x, v1->y, v2->x, v2->y);
GLfloat p[12]; GLfloat p[12];
GLfloat dx, dy; GLfloat dx, dy;
GLfloat angle; GLfloat angle;
@ -1692,7 +1692,7 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUI
load_shaders(pSurf, &mix, &fade); load_shaders(pSurf, &mix, &fade);
pglVertexPointer(3, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].x); pglVertexPointer(3, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].x);
pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].sow); pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].s);
pglDrawArrays(GL_TRIANGLE_FAN, 0, iNumPts); pglDrawArrays(GL_TRIANGLE_FAN, 0, iNumPts);
if (PolyFlags & PF_RemoveYWrap) if (PolyFlags & PF_RemoveYWrap)
@ -2279,11 +2279,6 @@ EXPORT INT32 HWRAPI(GetTextureUsed) (void)
return res; return res;
} }
EXPORT INT32 HWRAPI(GetRenderVersion) (void)
{
return VERSION;
}
EXPORT void HWRAPI(PostImgRedraw) (float points[SCREENVERTS][SCREENVERTS][2]) EXPORT void HWRAPI(PostImgRedraw) (float points[SCREENVERTS][SCREENVERTS][2])
{ {
INT32 x, y; INT32 x, y;

View file

@ -160,7 +160,7 @@ void NDS3D_DrawPolygon(FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUINT iNumPts
z = pOutVerts[index].z; z = pOutVerts[index].z;
} }
glTexCoord2f(pOutVerts[index].sow, pOutVerts[index].tow); glTexCoord2f(pOutVerts[index].s, pOutVerts[index].tow);
glVertex3f(x,y,z); glVertex3f(x,y,z);
} }
glEnd(); glEnd();

View file

@ -609,11 +609,6 @@ void R_ExecuteSetViewSize(void)
R_InitTextureMapping(); R_InitTextureMapping();
#ifdef HWRENDER
if (rendermode != render_soft)
HWR_InitTextureMapping();
#endif
// thing clipping // thing clipping
for (i = 0; i < viewwidth; i++) for (i = 0; i < viewwidth; i++)
screenheightarray[i] = (INT16)viewheight; screenheightarray[i] = (INT16)viewheight;

View file

@ -91,7 +91,6 @@ void *hwSym(const char *funcName,void *handle)
GETFUNC(DrawModel); GETFUNC(DrawModel);
GETFUNC(CreateModelVBOs); GETFUNC(CreateModelVBOs);
GETFUNC(SetTransform); GETFUNC(SetTransform);
GETFUNC(GetRenderVersion);
GETFUNC(PostImgRedraw); GETFUNC(PostImgRedraw);
GETFUNC(FlushScreenTextures); GETFUNC(FlushScreenTextures);
GETFUNC(StartScreenWipe); GETFUNC(StartScreenWipe);

View file

@ -1459,9 +1459,11 @@ void I_StartupGraphics(void)
framebuffer = SDL_TRUE; framebuffer = SDL_TRUE;
} }
if (M_CheckParm("-software")) if (M_CheckParm("-software"))
{
rendermode = render_soft; rendermode = render_soft;
} #ifdef HWRENDER
else if (M_CheckParm("-opengl"))
rendermode = render_opengl;
#endif
usesdl2soft = M_CheckParm("-softblit"); usesdl2soft = M_CheckParm("-softblit");
borderlesswindow = M_CheckParm("-borderless"); borderlesswindow = M_CheckParm("-borderless");
@ -1469,9 +1471,8 @@ void I_StartupGraphics(void)
//SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY>>1,SDL_DEFAULT_REPEAT_INTERVAL<<2); //SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY>>1,SDL_DEFAULT_REPEAT_INTERVAL<<2);
VID_Command_ModeList_f(); VID_Command_ModeList_f();
#ifdef HWRENDER #ifdef HWRENDER
if (M_CheckParm("-opengl") || rendermode == render_opengl) if (rendermode == render_opengl)
{ {
rendermode = render_opengl;
HWD.pfnInit = hwSym("Init",NULL); HWD.pfnInit = hwSym("Init",NULL);
HWD.pfnFinishUpdate = NULL; HWD.pfnFinishUpdate = NULL;
HWD.pfnDraw2DLine = hwSym("Draw2DLine",NULL); HWD.pfnDraw2DLine = hwSym("Draw2DLine",NULL);
@ -1488,7 +1489,6 @@ void I_StartupGraphics(void)
HWD.pfnDrawModel = hwSym("DrawModel",NULL); HWD.pfnDrawModel = hwSym("DrawModel",NULL);
HWD.pfnCreateModelVBOs = hwSym("CreateModelVBOs",NULL); HWD.pfnCreateModelVBOs = hwSym("CreateModelVBOs",NULL);
HWD.pfnSetTransform = hwSym("SetTransform",NULL); HWD.pfnSetTransform = hwSym("SetTransform",NULL);
HWD.pfnGetRenderVersion = hwSym("GetRenderVersion",NULL);
HWD.pfnPostImgRedraw = hwSym("PostImgRedraw",NULL); HWD.pfnPostImgRedraw = hwSym("PostImgRedraw",NULL);
HWD.pfnFlushScreenTextures=hwSym("FlushScreenTextures",NULL); HWD.pfnFlushScreenTextures=hwSym("FlushScreenTextures",NULL);
HWD.pfnStartScreenWipe = hwSym("StartScreenWipe",NULL); HWD.pfnStartScreenWipe = hwSym("StartScreenWipe",NULL);
@ -1508,9 +1508,6 @@ void I_StartupGraphics(void)
HWD.pfnLoadCustomShader = hwSym("LoadCustomShader",NULL); HWD.pfnLoadCustomShader = hwSym("LoadCustomShader",NULL);
HWD.pfnInitCustomShaders = hwSym("InitCustomShaders",NULL); HWD.pfnInitCustomShaders = hwSym("InitCustomShaders",NULL);
// check gl renderer lib
if (HWD.pfnGetRenderVersion() != VERSION)
I_Error("%s", M_GetText("The version of the renderer doesn't match the version of the executable\nBe sure you have installed SRB2 properly.\n"));
if (!HWD.pfnInit()) // load the OpenGL library if (!HWD.pfnInit()) // load the OpenGL library
rendermode = render_soft; rendermode = render_soft;
} }

View file

@ -637,7 +637,6 @@ void Command_Memfree_f(void)
CONS_Printf(M_GetText("Mipmap patches : %7s KB\n"), sizeu1(Z_TagUsage(PU_HWRPATCHCOLMIPMAP)>>10)); CONS_Printf(M_GetText("Mipmap patches : %7s KB\n"), sizeu1(Z_TagUsage(PU_HWRPATCHCOLMIPMAP)>>10));
CONS_Printf(M_GetText("HW Texture cache : %7s KB\n"), sizeu1(Z_TagUsage(PU_HWRCACHE)>>10)); CONS_Printf(M_GetText("HW Texture cache : %7s KB\n"), sizeu1(Z_TagUsage(PU_HWRCACHE)>>10));
CONS_Printf(M_GetText("Plane polygons : %7s KB\n"), sizeu1(Z_TagUsage(PU_HWRPLANE)>>10)); CONS_Printf(M_GetText("Plane polygons : %7s KB\n"), sizeu1(Z_TagUsage(PU_HWRPLANE)>>10));
CONS_Printf(M_GetText("HW Texture used : %7d KB\n"), HWR_GetTextureUsed()>>10);
} }
#endif #endif