diff --git a/src/g_demo.c b/src/g_demo.c index 0403da16da95c5d4e41a614fa2640797ece217f2..9650777ac4d95c04bd4bf2d8171d6ab359da5ed7 100644 --- a/src/g_demo.c +++ b/src/g_demo.c @@ -2475,7 +2475,7 @@ static void G_StopTimingDemo(void) { FILE *f; const char *csvpath = va("%s"PATHSEP"%s", srb2home, "timedemo.csv"); - const char *header = "id,demoname,seconds,avgfps,leveltime,demotime,framecount,ticrate,rendermode,vidmode,vidwidth,vidheight,procbits\n"; + const char *header = "id,demoname,seconds,avgfps,leveltime,demotime,framecount,ticrate,rendermode,vidwidth,vidheight,procbits\n"; const char *rowformat = "\"%s\",\"%s\",%f,%f,%u,%d,%u,%u,%u,%u,%u,%u,%u\n"; boolean headerrow = !FIL_FileExists(csvpath); UINT8 procbits = 0; @@ -2493,7 +2493,7 @@ static void G_StopTimingDemo(void) if (headerrow) fputs(header, f); fprintf(f, rowformat, - timedemo_csv_id,timedemo_name,f1/TICRATE,f2/f1,leveltime,demotime,(UINT32)framecount,TICRATE,rendermode,vid.modenum,vid.width,vid.height,procbits); + timedemo_csv_id,timedemo_name,f1/TICRATE,f2/f1,leveltime,demotime,(UINT32)framecount,TICRATE,rendermode,vid.width,vid.height,procbits); fclose(f); CONS_Printf("Timedemo results saved to '%s'\n", csvpath); } @@ -2502,7 +2502,7 @@ static void G_StopTimingDemo(void) // Just print the CSV output to console CON_LogMessage(header); CONS_Printf(rowformat, - timedemo_csv_id,timedemo_name,f1/TICRATE,f2/f1,leveltime,demotime,(UINT32)framecount,TICRATE,rendermode,vid.modenum,vid.width,vid.height,procbits); + timedemo_csv_id,timedemo_name,f1/TICRATE,f2/f1,leveltime,demotime,(UINT32)framecount,TICRATE,rendermode,vid.width,vid.height,procbits); } } diff --git a/src/hardware/hw_draw.c b/src/hardware/hw_draw.c index d9a0fefe6ce6c377be70bc27c98d6ded4407f1c8..7f47f7376386719c31c969c8932de59b3691c75f 100644 --- a/src/hardware/hw_draw.c +++ b/src/hardware/hw_draw.c @@ -62,67 +62,6 @@ static UINT8 softwaretranstogl[11] = { 0, 25, 51, 76,102,127,153,178,204,229 static UINT8 softwaretranstogl_hi[11] = { 0, 51,102,153,204,255,255,255,255,255,255}; static UINT8 softwaretranstogl_lo[11] = { 0, 12, 24, 36, 48, 60, 71, 83, 95,111,127}; -// -// -----------------+ -// HWR_DrawPatch : Draw a 'tile' graphic -// Notes : x,y : positions relative to the original Doom resolution -// : textes(console+score) + menus + status bar -// -----------------+ -void HWR_DrawPatch(patch_t *gpatch, INT32 x, INT32 y, INT32 option) -{ - FOutVector v[4]; - FBITFIELD flags; - GLPatch_t *hwrPatch; - -// 3--2 -// | /| -// |/ | -// 0--1 - float sdupx = FIXED_TO_FLOAT(vid.fdupx)*2.0f; - float sdupy = FIXED_TO_FLOAT(vid.fdupy)*2.0f; - float pdupx = FIXED_TO_FLOAT(vid.fdupx)*2.0f; - float pdupy = FIXED_TO_FLOAT(vid.fdupy)*2.0f; - - // make patch ready in hardware cache - HWR_GetPatch(gpatch); - hwrPatch = ((GLPatch_t *)gpatch->hardware); - - switch (option & V_SCALEPATCHMASK) - { - case V_NOSCALEPATCH: - pdupx = pdupy = 2.0f; - break; - case V_SMALLSCALEPATCH: - pdupx = 2.0f * FIXED_TO_FLOAT(vid.fsmalldupx); - pdupy = 2.0f * FIXED_TO_FLOAT(vid.fsmalldupy); - break; - case V_MEDSCALEPATCH: - pdupx = 2.0f * FIXED_TO_FLOAT(vid.fmeddupx); - pdupy = 2.0f * FIXED_TO_FLOAT(vid.fmeddupy); - break; - } - - if (option & V_NOSCALESTART) - sdupx = sdupy = 2.0f; - - v[0].x = v[3].x = (x*sdupx-(gpatch->leftoffset)*pdupx)/vid.width - 1; - v[2].x = v[1].x = (x*sdupx+(gpatch->width-gpatch->leftoffset)*pdupx)/vid.width - 1; - v[0].y = v[1].y = 1-(y*sdupy-(gpatch->topoffset)*pdupy)/vid.height; - v[2].y = v[3].y = 1-(y*sdupy+(gpatch->height-gpatch->topoffset)*pdupy)/vid.height; - - v[0].z = v[1].z = v[2].z = v[3].z = 1.0f; - - v[0].s = v[3].s = 0.0f; - v[2].s = v[1].s = hwrPatch->max_s; - v[0].t = v[1].t = 0.0f; - v[2].t = v[3].t = hwrPatch->max_t; - - flags = PF_Translucent|PF_NoDepthTest; - - // clip it since it is used for bunny scroll in doom I - HWD.pfnDrawPolygon(NULL, v, 4, flags); -} - void HWR_DrawStretchyFixedPatch(patch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscale, fixed_t vscale, INT32 option, const UINT8 *colormap) { FOutVector v[4]; diff --git a/src/hardware/hw_main.h b/src/hardware/hw_main.h index c954eb7fc824d1d1f981178bba65c44256b39d59..82777ab3ddee76164a573d94542c6a8e0a9fcc2f 100644 --- a/src/hardware/hw_main.h +++ b/src/hardware/hw_main.h @@ -37,7 +37,6 @@ void HWR_BuildSkyDome(void); void HWR_DrawViewBorder(INT32 clearlines); void HWR_DrawFlatFill(INT32 x, INT32 y, INT32 w, INT32 h, lumpnum_t flatlumpnum); void HWR_SetViewSize(void); -void HWR_DrawPatch(patch_t *gpatch, INT32 x, INT32 y, INT32 option); void HWR_DrawStretchyFixedPatch(patch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscale, fixed_t vscale, INT32 option, const UINT8 *colormap); void HWR_DrawCroppedPatch(patch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscale, fixed_t vscale, INT32 option, const UINT8 *colormap, fixed_t sx, fixed_t sy, fixed_t w, fixed_t h); void HWR_MakePatch(const patch_t *patch, GLPatch_t *grPatch, GLMipmap_t *grMipmap, boolean makebitmap); diff --git a/src/screen.c b/src/screen.c index 263ffe859cb0bd4c4ee8405b71fed91118d3ba72..e756f9442fe1def2b9a3dbcff1447ba1b816f2a2 100644 --- a/src/screen.c +++ b/src/screen.c @@ -309,8 +309,6 @@ void SCR_Startup(void) return; } - vid.modenum = 0; - V_Init(); V_Recalc(); @@ -473,7 +471,7 @@ void SCR_CheckDefaultMode(void) } } -// sets the modenum as the new default video mode to be saved in the config file +// sets the resolution as the new default to be saved in the config file void SCR_SetDefaultMode(INT32 width, INT32 height) { CV_SetValue(cv_fullscreen.value ? &cv_scr_width : &cv_scr_width_w, width); diff --git a/src/screen.h b/src/screen.h index 43c01cf310ba860a641738681f9702779e4c07e3..0f9191deeb84fea13f3ae033723e572c4dcc7d38 100644 --- a/src/screen.h +++ b/src/screen.h @@ -45,15 +45,16 @@ // global video state typedef struct viddef_s { - INT32 modenum; // vidmode num indexes videomodes list - UINT8 *buffer; // invisible screens buffer size_t rowbytes; // bytes per scanline of the VIDEO mode INT32 width; // PIXELS per scanline INT32 height; INT32 recalc; // if true, recalc vid-based stuff - UINT8 *direct; // linear frame buffer, or vga base mem. + INT32 dupx, dupy; // scale 1, 2, 3 value for menus & overlays + UINT8 smalldupx, smalldupy; // factor for a little bit of scaling + UINT8 meddupx, meddupy; // factor for moderate, but not full, scaling + INT32 fdupx, fdupy; // same as dupx, dupy, but exact value when aspect ratio isn't 320/200 INT32 bpp; // BYTES per pixel: 1 = 256color, 2 = highcolor @@ -64,13 +65,8 @@ typedef struct viddef_s UINT8 set; } change; - // for Win32 version - UINT8 smalldupx, smalldupy; // factor for a little bit of scaling - UINT8 meddupx, meddupy; // factor for moderate, but not full, scaling #ifdef HWRENDER - INT32/*fixed_t*/ fsmalldupx, fsmalldupy; - INT32/*fixed_t*/ fmeddupx, fmeddupy; - INT32 glstate; + UINT8 glstate; #endif } viddef_t; diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index 9ffe89d41fd5476bd0266f2af6b4d6a80e1b4297..fe099640a6de17f016f798a9ec3d731a58a5780d 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -299,7 +299,6 @@ static void Impl_SetupSoftwareBuffer(void) size_t size; vid.rowbytes = vid.width * vid.bpp; - vid.direct = NULL; free(vid.buffer); @@ -1773,7 +1772,6 @@ void I_StartupGraphics(void) // Fury: we do window initialization after GL setup to allow // SDL_GL_LoadLibrary to work well on Windows vid.recalc = true; - vid.direct = NULL; vid.bpp = 1; // Create window diff --git a/src/v_video.c b/src/v_video.c index 461a5e3bc7671684f5fdcc62a8c1a728ea913a55..63d49ec1535a06c9c4b7024dfe8274069cb915a5 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -3778,9 +3778,6 @@ void V_Init(void) screens[i] = base + i*screensize; } - if (vid.direct) - screens[0] = vid.direct; - #ifdef DEBUG CONS_Debug(DBG_RENDER, "V_Init done:\n"); for (i = 0; i < NUMSCREENS; i++) @@ -3795,28 +3792,14 @@ void V_Recalc(void) vid.dupx = vid.width / BASEVIDWIDTH; vid.dupy = vid.height / BASEVIDHEIGHT; vid.dupx = vid.dupy = (vid.dupx < vid.dupy ? vid.dupx : vid.dupy); + vid.fdupx = FixedDiv(vid.width*FRACUNIT, BASEVIDWIDTH*FRACUNIT); vid.fdupy = FixedDiv(vid.height*FRACUNIT, BASEVIDHEIGHT*FRACUNIT); - -#ifdef HWRENDER - //if (rendermode != render_opengl && rendermode != render_none) // This was just placing it incorrectly at non aspect correct resolutions in opengl - // 13/11/18: - // The above is no longer necessary, since we want OpenGL to be just like software now - // -- Monster Iestyn -#endif - vid.fdupx = vid.fdupy = (vid.fdupx < vid.fdupy ? vid.fdupx : vid.fdupy); + vid.fdupx = vid.fdupy = (vid.fdupx < vid.fdupy ? vid.fdupx : vid.fdupy); vid.meddupx = (UINT8)(vid.dupx >> 1) + 1; vid.meddupy = (UINT8)(vid.dupy >> 1) + 1; -#ifdef HWRENDER - vid.fmeddupx = vid.meddupx*FRACUNIT; - vid.fmeddupy = vid.meddupy*FRACUNIT; -#endif vid.smalldupx = (UINT8)(vid.dupx / 3) + 1; vid.smalldupy = (UINT8)(vid.dupy / 3) + 1; -#ifdef HWRENDER - vid.fsmalldupx = vid.smalldupx*FRACUNIT; - vid.fsmalldupy = vid.smalldupy*FRACUNIT; -#endif }