diff options
-rw-r--r-- | src/i_scale.c | 73 | ||||
-rw-r--r-- | src/i_scale.h | 2 | ||||
-rw-r--r-- | src/i_video.c | 1 | ||||
-rw-r--r-- | src/setup/display.c | 1 |
4 files changed, 9 insertions, 68 deletions
diff --git a/src/i_scale.c b/src/i_scale.c index f88c6944..4d7bb22c 100644 --- a/src/i_scale.c +++ b/src/i_scale.c @@ -1384,69 +1384,12 @@ screen_mode_t mode_squash_4x = { false, }; -#define DRAW_PIXEL5 \ - *dest++ = *dest2++ = *dest3++ = *dest4++ = *dest5++ = c - -static inline void WriteSquashedLine5x(byte *dest, byte *src) -{ - int x; - int c; - byte *dest2, *dest3, *dest4, *dest5; - - dest2 = dest + dest_pitch; - dest3 = dest + dest_pitch * 2; - dest4 = dest + dest_pitch * 3; - dest5 = dest + dest_pitch * 4; - - for (x=0; x<SCREENWIDTH; ++x) - { - // Draw in blocks of 5 - - // 100% pixel 0 x4 - - c = *src++; - DRAW_PIXEL5; - DRAW_PIXEL5; - DRAW_PIXEL5; - DRAW_PIXEL5; - } -} - -// -// 5x squashed (1280x1000) -// - -static boolean I_Squash5x(int x1, int y1, int x2, int y2) -{ - byte *bufp, *screenp; - int y; - - // Only works with full screen update - - if (x1 != 0 || y1 != 0 || x2 != SCREENWIDTH || y2 != SCREENHEIGHT) - { - return false; - } - - bufp = src_buffer; - screenp = (byte *) dest_buffer; - - for (y=0; y<SCREENHEIGHT; ++y) - { - WriteSquashedLine5x(screenp, bufp); - - screenp += dest_pitch * 5; - bufp += SCREENWIDTH; - } - - return true; -} - -screen_mode_t mode_squash_5x = { - SCREENWIDTH_4_3 * 5, SCREENHEIGHT * 5, - I_InitStretchTables, - I_Squash5x, - false, -}; - +// We used to have mode_squash_5x here as well, but it got removed. +// 5x squashing gives 1280x1000, which is very close to the 4x stretched +// 1280x960. The difference is that 1280x1000 is the wrong aspect ratio. +// It was ultimately decided that it was better to use the right aspect +// ratio and have slightly larger borders than to have slightly smaller +// windowboxing borders. It also means that the aspect ratio is correct +// when running at 1280x1024. See bug #460 for more details, or this +// post: http://www.doomworld.com/vb/post/1316735 diff --git a/src/i_scale.h b/src/i_scale.h index 48231f5e..3922272e 100644 --- a/src/i_scale.h +++ b/src/i_scale.h @@ -47,7 +47,7 @@ extern screen_mode_t mode_squash_1x; extern screen_mode_t mode_squash_2x; extern screen_mode_t mode_squash_3x; extern screen_mode_t mode_squash_4x; -extern screen_mode_t mode_squash_5x; +// we don't do 5x. #endif /* #ifndef __I_SCALE__ */ diff --git a/src/i_video.c b/src/i_video.c index 242f3ac5..76ad23af 100644 --- a/src/i_video.c +++ b/src/i_video.c @@ -122,7 +122,6 @@ static screen_mode_t *screen_modes_corrected[] = { &mode_squash_2x, &mode_squash_3x, &mode_squash_4x, - &mode_squash_5x, }; // SDL video driver name diff --git a/src/setup/display.c b/src/setup/display.c index e712df94..090fd445 100644 --- a/src/setup/display.c +++ b/src/setup/display.c @@ -80,7 +80,6 @@ static screen_mode_t screen_modes_scaled[] = { 960, 720 }, { 1024, 800 }, { 1280, 960 }, - { 1280, 1000 }, { 1600, 1200 }, { 0, 0}, }; |