summaryrefslogtreecommitdiff
path: root/src/i_scale.h
diff options
context:
space:
mode:
authorSimon Howard2008-01-20 04:47:52 +0000
committerSimon Howard2008-01-20 04:47:52 +0000
commit142a9488ad2e782d3d699b4f9b2902ffe26aeaa2 (patch)
tree766d38e08a38d95e9cfe794d078f60926c7440b4 /src/i_scale.h
parent6805e192226d33c6431b1aaf60e84e1b5ea6f707 (diff)
downloadchocolate-doom-142a9488ad2e782d3d699b4f9b2902ffe26aeaa2.tar.gz
chocolate-doom-142a9488ad2e782d3d699b4f9b2902ffe26aeaa2.tar.bz2
chocolate-doom-142a9488ad2e782d3d699b4f9b2902ffe26aeaa2.zip
Refactor the video mode configuration system.
The previous system was built around the program choosing a screen mode from the user's settings, this is based around choosing settings from the specified screen mode. As such, the old screenmultiply config variable is now gone. Also, aspect ratio correction is now on by default. Add new aspect ratio correction functions for horizontal squashing (as a complement to the existing vertical stretching). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 1005
Diffstat (limited to 'src/i_scale.h')
-rw-r--r--src/i_scale.h33
1 files changed, 20 insertions, 13 deletions
diff --git a/src/i_scale.h b/src/i_scale.h
index f4c7ff69..3553847f 100644
--- a/src/i_scale.h
+++ b/src/i_scale.h
@@ -30,24 +30,31 @@
#include "doomtype.h"
-void I_InitStretchTables(byte *palette);
void I_InitScale(byte *_src_buffer, byte *_dest_buffer, int _dest_pitch);
-// Normal pixel-perfect doubling functions.
+// Scaled modes (direct multiples of 320x200)
-void I_Scale1x(int x1, int y1, int x2, int y2);
-void I_Scale2x(int x1, int y1, int x2, int y2);
-void I_Scale3x(int x1, int y1, int x2, int y2);
-void I_Scale4x(int x1, int y1, int x2, int y2);
-void I_Scale5x(int x1, int y1, int x2, int y2);
+extern screen_mode_t mode_scale_1x;
+extern screen_mode_t mode_scale_2x;
+extern screen_mode_t mode_scale_3x;
+extern screen_mode_t mode_scale_4x;
+extern screen_mode_t mode_scale_5x;
-// Aspect ratio correcting scale up functions
+// Vertically stretched modes (320x200 -> multiples of 320x240)
-void I_Stretch1x(int x1, int y1, int x2, int y2);
-void I_Stretch2x(int x1, int y1, int x2, int y2);
-void I_Stretch3x(int x1, int y1, int x2, int y2);
-void I_Stretch4x(int x1, int y1, int x2, int y2);
-void I_Stretch5x(int x1, int y1, int x2, int y2);
+extern screen_mode_t mode_stretch_1x;
+extern screen_mode_t mode_stretch_2x;
+extern screen_mode_t mode_stretch_3x;
+extern screen_mode_t mode_stretch_4x;
+extern screen_mode_t mode_stretch_5x;
+
+// Horizontally squashed modes (320x200 -> multiples of 256x200)
+
+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;
#endif /* #ifndef __I_SCALE__ */