OpenGL checkin. Movie textures, texture stretch, texture dither, and 16 bit textures are broken.

This commit is contained in:
Chris Danford
2002-11-11 04:53:31 +00:00
parent 8f4e1a1675
commit 628dea9da7
116 changed files with 1087 additions and 2612 deletions
+38 -51
View File
@@ -20,14 +20,16 @@
#include "StepMania.h"
#include "PrefsManager.h"
#include "RageLog.h"
#include "PrefsManager.h"
#include "ThemeManager.h"
enum {
GO_WINDOWED = 0,
GO_DISPLAY_RESOLUTION,
GO_TEXTURE_RESOLUTION,
GO_REFRESH_RATE,
GO_DISPLAY_COLOR_DEPTH,
GO_TEXTURE_COLOR_DEPTH,
GO_REFRESH_RATE_MODE,
GO_BGMODE,
GO_BGBRIGHTNESS,
GO_MOVIEDECODEMS,
@@ -38,10 +40,11 @@ enum {
OptionRowData g_GraphicOptionsLines[NUM_GRAPHIC_OPTIONS_LINES] = {
{ "Display\nMode", 2, {"FULLSCREEN", "WINDOWED"} },
{ "Display\nResolution", 7, {"320","400","512","640","800","1024","1280"} },
{ "Texture\nResolution", 3, {"256","512","1024"} },
{ "Refresh\nRate", 11, {"DEFAULT","MAX","60","70","72","75","80","85","90","100","120"} },
{ "Display\nColor", 2, {"16BIT","32BIT"} },
{ "Texture\nColor", 2, {"16BIT","32BIT"} },
{ "Refresh\nRate", 3, {"DEFAULT","MAX","MIN"} },
{ "Background\nMode", 4, {"OFF","ANIMATIONS","VISUALIZATIONS","RANDOM MOVIES"} },
{ "Background\nBrightness", 11, {"0%","10%","20%","30%","40%","50%","60%","70%","80%","90%","100%"} },
{ "Background\nBrightness", 11, {"0%","10%","20%","30%","40%","50%","60%","70%","80%","90%","100%"} },
{ "Movie\nDecode", 4, {"1ms","2ms","3ms","4ms"} },
{ "BG For\nBanner", 2, {"NO", "YES (slow)"} },
{ "Wait For\nVsync", 2, {"NO", "YES"} },
@@ -83,17 +86,6 @@ ScreenGraphicOptions::ScreenGraphicOptions() :
MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","graphic options music") );
}
int ScreenGraphicOptions::CurrentRefresh() const
{
int RefreshOption = m_iSelectedOption[0][GO_REFRESH_RATE];
switch( RefreshOption )
{
case 0: return RageDisplay::REFRESH_DEFAULT;break;
case 1: return RageDisplay::REFRESH_MAX; break;
default:
return atoi( g_GraphicOptionsLines[GO_REFRESH_RATE].szOptionsText[RefreshOption] );
}
}
void ScreenGraphicOptions::UpdateRefreshRates()
{
@@ -110,7 +102,7 @@ void ScreenGraphicOptions::UpdateRefreshRates()
/* Set the refresh to default. If we can find the old selection in the
* new data, we'll set it to that later. */
OptionRowData &opt = g_GraphicOptionsLines[GO_REFRESH_RATE];
OptionRowData &opt = g_GraphicOptionsLines[GO_REFRESH_RATE_MODE];
opt.iNumOptions = 2;
int OldSettingNo = RageDisplay::REFRESH_DEFAULT;
@@ -127,8 +119,8 @@ void ScreenGraphicOptions::UpdateRefreshRates()
OldSettingNo = i;
}
m_iSelectedOption[0][GO_REFRESH_RATE] =
m_iSelectedOption[1][GO_REFRESH_RATE] = OldSettingNo;
m_iSelectedOption[0][GO_REFRESH_RATE_MODE] =
m_iSelectedOption[1][GO_REFRESH_RATE_MODE] = OldSettingNo;
InitOptionsText();
#endif
@@ -151,7 +143,7 @@ void ScreenGraphicOptions::ImportOptions()
{
m_iSelectedOption[0][GO_WINDOWED] = PREFSMAN->m_bWindowed ? 1:0;
switch( PREFSMAN->m_iDisplayResolution )
switch( PREFSMAN->m_iDisplayWidth )
{
case 320: m_iSelectedOption[0][GO_DISPLAY_RESOLUTION] = 0; break;
case 400: m_iSelectedOption[0][GO_DISPLAY_RESOLUTION] = 1; break;
@@ -162,31 +154,20 @@ void ScreenGraphicOptions::ImportOptions()
case 1280: m_iSelectedOption[0][GO_DISPLAY_RESOLUTION] = 6; break;
default: m_iSelectedOption[0][GO_DISPLAY_RESOLUTION] = 3; break;
}
switch( PREFSMAN->m_iTextureResolution )
switch( PREFSMAN->m_iDisplayColorDepth )
{
case 256: m_iSelectedOption[0][GO_TEXTURE_RESOLUTION] = 0; break;
case 512: m_iSelectedOption[0][GO_TEXTURE_RESOLUTION] = 1; break;
case 1024: m_iSelectedOption[0][GO_TEXTURE_RESOLUTION] = 2; break;
default: m_iSelectedOption[0][GO_TEXTURE_RESOLUTION] = 1; break;
}
switch( PREFSMAN->m_iRefreshRate )
{
case RageDisplay::REFRESH_DEFAULT: m_iSelectedOption[0][GO_REFRESH_RATE] = 0; break;
case RageDisplay::REFRESH_MAX: m_iSelectedOption[0][GO_REFRESH_RATE] = 1; break;
case 60: m_iSelectedOption[0][GO_REFRESH_RATE] = 2; break;
case 70: m_iSelectedOption[0][GO_REFRESH_RATE] = 3; break;
case 72: m_iSelectedOption[0][GO_REFRESH_RATE] = 4; break;
case 75: m_iSelectedOption[0][GO_REFRESH_RATE] = 5; break;
case 80: m_iSelectedOption[0][GO_REFRESH_RATE] = 6; break;
case 85: m_iSelectedOption[0][GO_REFRESH_RATE] = 7; break;
case 90: m_iSelectedOption[0][GO_REFRESH_RATE] = 8; break;
case 100: m_iSelectedOption[0][GO_REFRESH_RATE] = 9; break;
case 120: m_iSelectedOption[0][GO_REFRESH_RATE] = 10; break;
default: m_iSelectedOption[0][GO_REFRESH_RATE] = 1; break;
case 16: m_iSelectedOption[0][GO_DISPLAY_COLOR_DEPTH] = 0; break;
case 32: m_iSelectedOption[0][GO_DISPLAY_COLOR_DEPTH] = 1; break;
}
switch( PREFSMAN->m_iTextureColorDepth )
{
case 16: m_iSelectedOption[0][GO_TEXTURE_COLOR_DEPTH] = 0; break;
case 32: m_iSelectedOption[0][GO_TEXTURE_COLOR_DEPTH] = 1; break;
}
m_iSelectedOption[0][GO_REFRESH_RATE_MODE] = PREFSMAN->m_iRefreshRateMode;
m_iSelectedOption[0][GO_BGMODE] = PREFSMAN->m_BackgroundMode;
m_iSelectedOption[0][GO_BGBRIGHTNESS] = (int)( PREFSMAN->m_fBGBrightness*10+0.5f );
m_iSelectedOption[0][GO_MOVIEDECODEMS] = PREFSMAN->m_iMovieDecodeMS-1;
@@ -203,18 +184,24 @@ void ScreenGraphicOptions::ExportOptions()
ASSERT(0);
m_iSelectedOption[0][GO_DISPLAY_RESOLUTION] = 3;
}
PREFSMAN->m_iDisplayResolution =
HorizRes[m_iSelectedOption[0][GO_DISPLAY_RESOLUTION]];
PREFSMAN->m_iDisplayWidth = HorizRes[m_iSelectedOption[0][GO_DISPLAY_RESOLUTION]];
PREFSMAN->m_iDisplayHeight = VertRes[m_iSelectedOption[0][GO_DISPLAY_RESOLUTION]];
switch( m_iSelectedOption[0][GO_TEXTURE_RESOLUTION] )
switch( m_iSelectedOption[0][GO_DISPLAY_COLOR_DEPTH] )
{
case 0: PREFSMAN->m_iTextureResolution = 256; break;
case 1: PREFSMAN->m_iTextureResolution = 512; break;
case 2: PREFSMAN->m_iTextureResolution = 1024; break;
default: ASSERT(0); PREFSMAN->m_iTextureResolution = 512; break;
case 0: PREFSMAN->m_iDisplayColorDepth = 16; break;
case 1: PREFSMAN->m_iDisplayColorDepth = 32; break;
default: ASSERT(0); PREFSMAN->m_iDisplayColorDepth = 16; break;
}
PREFSMAN->m_iRefreshRate = CurrentRefresh();
switch( m_iSelectedOption[0][GO_TEXTURE_COLOR_DEPTH] )
{
case 0: PREFSMAN->m_iTextureColorDepth = 16; break;
case 1: PREFSMAN->m_iTextureColorDepth = 32; break;
default: ASSERT(0); PREFSMAN->m_iTextureColorDepth = 16; break;
}
PREFSMAN->m_iRefreshRateMode = m_iSelectedOption[0][GO_REFRESH_RATE_MODE];
PREFSMAN->m_BackgroundMode = PrefsManager::BackgroundMode( m_iSelectedOption[0][GO_BGMODE] );
PREFSMAN->m_fBGBrightness = m_iSelectedOption[0][GO_BGBRIGHTNESS] / 10.0f;
PREFSMAN->m_iMovieDecodeMS = m_iSelectedOption[0][GO_MOVIEDECODEMS]+1;