Added 50% and 75% half-shift dither. (They are not active though.)

This commit is contained in:
mpohoreski
2006-03-01 03:49:14 +00:00
parent 72a3821fb7
commit 939d41499f

View File

@@ -54,19 +54,11 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
LR: Lo-Res HR: Hi-Res DHR: Double Hi-Res */ LR: Lo-Res HR: Hi-Res DHR: Double Hi-Res */
#define HALF_SHIFT_DITHER 0
// STANDARD WINDOWS COLORS // STANDARD WINDOWS COLORS
/*
#define BLACK 0x00
#define DARK_RED 0x01
#define DARK_GREEN 0x02
#define DARK_YELLOW 0x03
#define DARK_BLUE 0x04
#define DARK_MAGENTA 0x05
#define DARK_CYAN 0x06
#define LIGHT_GRAY 0x07
#define MONEY_GREEN 0x08
#define SKY_BLUE 0x09
*/
#define CREAM 0xF6 #define CREAM 0xF6
#define MEDIUM_GRAY 0xF7 #define MEDIUM_GRAY 0xF7
#define DARK_GRAY 0xF8 #define DARK_GRAY 0xF8
@@ -93,6 +85,7 @@ enum Color_Palette_Index_e
, MONEY_GREEN , MONEY_GREEN
, SKY_BLUE , SKY_BLUE
// OUR CUSTOM COLORS
, DEEP_RED , DEEP_RED
, LIGHT_BLUE , LIGHT_BLUE
, BROWN , BROWN
@@ -100,7 +93,7 @@ enum Color_Palette_Index_e
, PINK , PINK
, AQUA , AQUA
// CUSTOM HGR COLORS (don't change order) - For tv emulation mode // CUSTOM HGR COLORS (don't change order) - For tv emulation mode
, HGR_BLACK , HGR_BLACK
, HGR_WHITE , HGR_WHITE
, HGR_BLUE , HGR_BLUE
@@ -114,7 +107,10 @@ enum Color_Palette_Index_e
, HGR_PURPLE , HGR_PURPLE
, HGR_PINK , HGR_PINK
// USER CUSTOMIZABLE COLOR
, MONOCHROME_CUSTOM , MONOCHROME_CUSTOM
// Pre-set "Monochromes"
, MONOCHROME_AMBER , MONOCHROME_AMBER
, MONOCHROME_GREEN , MONOCHROME_GREEN
, MONOCHROME_WHITE , MONOCHROME_WHITE
@@ -123,34 +119,6 @@ enum Color_Palette_Index_e
}; };
// OUR CUSTOM COLORS
/*
#define DEEP_RED 0x0A
#define LIGHT_BLUE 0x0B
#define BROWN 0x0C
#define ORANGE 0X0D
#define PINK 0x0E
#define AQUA 0x0F
// CUSTOM HGR COLORS (don't change values) - For tv emulation mode
#define HGR_BLACK 0x10
#define HGR_WHITE 0x11
#define HGR_BLUE 0x12
#define HGR_RED 0x13
#define HGR_GREEN 0x14
#define HGR_MAGENTA 0x15
#define HGR_GREY1 0x16
#define HGR_GREY2 0x17
#define HGR_YELLOW 0x18
#define HGR_AQUA 0x19
#define HGR_PURPLE 0x1A
#define HGR_PINK 0x1B
// USER CUSTOMIZABLE COLOR
#define MONOCHROME 0x20
*/
#define SRCOFFS_40COL 0 #define SRCOFFS_40COL 0
#define SRCOFFS_80COL (SRCOFFS_40COL + 256) #define SRCOFFS_80COL (SRCOFFS_40COL + 256)
#define SRCOFFS_LORES (SRCOFFS_80COL + 128) #define SRCOFFS_LORES (SRCOFFS_80COL + 128)
@@ -625,7 +593,9 @@ void DrawHiResSourceHalfShiftDim ()
if (aPixels[iPixel]) if (aPixels[iPixel])
{ {
if (aPixels[iPixel-1] || aPixels[iPixel+1]) if (aPixels[iPixel-1] || aPixels[iPixel+1])
{
color = CM_White; color = CM_White;
}
else else
color = ((odd ^ (iPixel&1)) << 1) | hibit; color = ((odd ^ (iPixel&1)) << 1) | hibit;
} }
@@ -709,6 +679,25 @@ void DrawHiResSourceHalfShiftDim ()
SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj+1,y+1, HGR_BLACK ); SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj+1,y+1, HGR_BLACK );
break; break;
case CM_White : case CM_White :
#if HALF_SHIFT_DIM
// 50% dither -- would look OK, except Gumball, on the "Gumball" font has splotches
// SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj+1,y , HGR_WHITE );
// SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj+1,y+1, HGR_WHITE );
// if (! hibit)
// {
// SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj ,y , HGR_WHITE );
// SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj ,y+1, HGR_WHITE );
// }
// 75% dither -- looks kind of nice actually. Passes the Gumball cutscene quality test!
SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj+1,y , HGR_WHITE );
SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj+1,y+1, HGR_WHITE );
SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj ,y , LIGHT_GRAY );
SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj ,y+1, LIGHT_GRAY );
#else
// Don't dither / half-shift white, since DROL cutscene looks bad :(
SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj ,y , HGR_WHITE ); SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj ,y , HGR_WHITE );
SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj+1,y , HGR_WHITE ); SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj+1,y , HGR_WHITE );
SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj ,y+1, HGR_WHITE ); // LIGHT_GRAY <- for that half scan-line look SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj ,y+1, HGR_WHITE ); // LIGHT_GRAY <- for that half scan-line look
@@ -722,6 +711,7 @@ void DrawHiResSourceHalfShiftDim ()
SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj ,y+1, HGR_WHITE ); // LIGHT_GRAY HGR_GREY1 SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj ,y+1, HGR_WHITE ); // LIGHT_GRAY HGR_GREY1
} }
} }
#endif
break; break;
default: default:
break; break;