Merge branch 'master' of git://github.com/Shyotl/SingularityViewer

This commit is contained in:
Siana Gearz
2012-01-07 21:36:24 +01:00
55 changed files with 964 additions and 338 deletions

View File

@@ -53,7 +53,11 @@ class LLStreamingAudioInterface
virtual void setGain(F32 vol) = 0;
virtual F32 getGain() = 0;
virtual std::string getURL() = 0;
virtual const LLSD *getMetaData() = 0; //return NULL if not supported.
virtual bool supportsMetaData() = 0;
virtual const LLSD *getMetaData() = 0;
virtual bool supportsWaveData() = 0;
virtual bool getWaveData(float* arr, S32 count, S32 stride = 1) = 0;
};
#endif // LL_STREAMINGAUDIO_H

View File

@@ -54,8 +54,11 @@ class LLStreamingAudio_FMOD : public LLStreamingAudioInterface
/*virtual*/ void setGain(F32 vol);
/*virtual*/ F32 getGain();
/*virtual*/ std::string getURL();
/*virtual*/ const LLSD *getMetaData(){return mMetaData;} //return NULL if not supported.
/*virtual*/ bool supportsMetaData(){return true;}
/*virtual*/ const LLSD *getMetaData(){return mMetaData;} //return NULL if not playing.
/*virtual*/ bool supportsWaveData(){return false;}
/*virtual*/ bool getWaveData(float* arr, S32 count, S32 stride = 1){return false};
private:
LLAudioStreamManagerFMOD *mCurrentInternetStreamp;
int mFMODInternetStreamChannel;

View File

@@ -334,6 +334,27 @@ void LLStreamingAudio_FMODEX::setGain(F32 vol)
}
}
/*virtual*/ bool LLStreamingAudio_FMODEX::getWaveData(float* arr, S32 count, S32 stride/*=1*/)
{
if(!mFMODInternetStreamChannelp || !mCurrentInternetStreamp)
return false;
static std::vector<float> local_array(count); //Have to have an extra buffer to mix channels. Bleh.
if(count > (S32)local_array.size()) //Expand the array if needed. Try to minimize allocation calls, so don't ever shrink.
local_array.resize(count);
if( mFMODInternetStreamChannelp->getWaveData(&local_array[0],count,0) == FMOD_OK &&
mFMODInternetStreamChannelp->getWaveData(&arr[0],count,1) == FMOD_OK )
{
for(S32 i = count-1;i>=0;i-=stride)
{
arr[i] += local_array[i];
arr[i] *= .5f;
}
return true;
}
return false;
}
///////////////////////////////////////////////////////
// manager of possibly-multiple internet audio streams

View File

@@ -61,8 +61,11 @@ class LLStreamingAudio_FMODEX : public LLStreamingAudioInterface
/*virtual*/ void setGain(F32 vol);
/*virtual*/ F32 getGain();
/*virtual*/ std::string getURL();
/*virtual*/ const LLSD *getMetaData(){return mMetaData;} //return NULL if not supported.
/*virtual*/ bool supportsMetaData(){return true;}
/*virtual*/ const LLSD *getMetaData(){return mMetaData;} //return NULL if not playing.
/*virtual*/ bool supportsWaveData(){return true;}
/*virtual*/ bool getWaveData(float* arr, S32 count, S32 stride = 1);
private:
FMOD::System *mSystem;

View File

@@ -247,10 +247,6 @@ void LLPostProcess::applyColorFilterShader(void)
gPostColorFilterProgram.uniform3fv("contrastBase", 1, LLVector3(baseR, baseG, baseB).mV);
gPostColorFilterProgram.uniform1f("saturation", tweaks.getSaturation());
gPostColorFilterProgram.uniform3fv("lumWeights", 1, LLVector3(LUMINANCE_R, LUMINANCE_G, LUMINANCE_B).mV);
LLGLEnable blend(GL_BLEND);
gGL.setSceneBlendType(LLRender::BT_REPLACE);
LLGLDepthTest depth(GL_FALSE);
/// Draw a screen space quad
drawOrthoQuad(QUAD_NORMAL);
@@ -271,11 +267,7 @@ void LLPostProcess::applyNightVisionShader(void)
gPostNightVisionProgram.uniform1f("noiseStrength", tweaks.getNoiseStrength());
mNoiseTextureScale = 0.001f + ((100.f - tweaks.getNoiseSize()) / 100.f);
mNoiseTextureScale *= (mScreenHeight / NOISE_SIZE);
LLGLEnable blend(GL_BLEND);
gGL.setSceneBlendType(LLRender::BT_REPLACE);
LLGLDepthTest depth(GL_FALSE);
/// Draw a screen space quad
drawOrthoQuad(QUAD_NOISE);
gPostNightVisionProgram.unbind();
@@ -291,9 +283,6 @@ void LLPostProcess::applyGaussBlurShader(void)
gGL.getTexUnit(0)->bind(mSceneRenderTexture);
LLGLEnable blend(GL_BLEND);
LLGLDepthTest depth(GL_FALSE);
gGL.setSceneBlendType(LLRender::BT_REPLACE);
GLint horiz_pass = gPostGaussianBlurProgram.getUniformLocation("horizontalPass");
for(int i = 0;i<pass_count;++i)
{
@@ -315,10 +304,10 @@ void LLPostProcess::doEffects(void)
/// Copy the screen buffer to the render texture
copyFrameBuffer();
/// Clear the frame buffer.
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
LLGLDisable(GL_DEPTH_TEST);
//Disable depth. Set blendmode to replace.
LLGLDepthTest depth(GL_FALSE);
LLGLEnable blend(GL_BLEND);
gGL.setSceneBlendType(LLRender::BT_REPLACE);
/// Change to an orthogonal view
gGL.matrixMode(LLRender::MM_PROJECTION);
@@ -341,6 +330,8 @@ void LLPostProcess::doEffects(void)
gGL.matrixMode( LLRender::MM_MODELVIEW );
gGL.popMatrix();
gGL.setSceneBlendType(LLRender::BT_ALPHA); //Restore blendstate. Alpha is ASSUMED for hud/ui render, etc.
gGL.getTexUnit(1)->disable();
checkError();
}
@@ -382,7 +373,7 @@ void LLPostProcess::createScreenTexture()
{
gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_RECT_TEXTURE, mSceneRenderTexture->getTexName());
LLImageGL::setManualImage(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGB, mScreenWidth, mScreenHeight, GL_RGB, GL_UNSIGNED_BYTE, &data[0]);
gGL.getTexUnit(0)->setTextureFilteringOption(LLTexUnit::TFO_BILINEAR);
gGL.getTexUnit(0)->setTextureFilteringOption(LLTexUnit::TFO_POINT);
gGL.getTexUnit(0)->setTextureAddressMode(LLTexUnit::TAM_CLAMP);
}
}

View File

@@ -949,45 +949,21 @@ void gl_ring( F32 radius, F32 width, const LLColor4& center_color, const LLColor
}
// Draw gray and white checkerboard with black border
void gl_rect_2d_checkerboard(const LLRect& rect, GLfloat alpha)
void gl_rect_2d_checkerboard(const LLRect& parent_screen_rect, const LLRect& rect, GLfloat alpha)
{
// Initialize the first time this is called.
const S32 PIXELS = 32;
static GLubyte checkerboard[PIXELS * PIXELS];
static BOOL first = TRUE;
if( first )
{
for( S32 i = 0; i < PIXELS; i++ )
{
for( S32 j = 0; j < PIXELS; j++ )
{
checkerboard[i * PIXELS + j] = ((i & 1) ^ (j & 1)) * 0xFF;
}
}
first = FALSE;
}
//Already reffed in LLImageList via uuid_ui_image_map_t mUIImages. Don't use LLPointer here!
static LLUIImage* checkboard_image = LLUI::getUIImage("checkerboard.tga");
static F32 image_width = checkboard_image->getWidth();
static F32 image_height = checkboard_image->getHeight();
F32 scale_x = rect.getWidth() / image_width;
F32 scale_y = rect.getHeight() / image_height;
F32 offs_x = (parent_screen_rect.mLeft + rect.mLeft) / image_width;
F32 offs_y = (parent_screen_rect.mBottom + rect.mBottom) / image_height;
LLRectf uv_rect(offs_x,offs_y+scale_y,offs_x+scale_x,offs_y);
gl_draw_scaled_image(rect.mLeft,rect.mBottom,rect.getWidth(),rect.getHeight(),checkboard_image->getImage(), UI_VERTEX_COLOR, uv_rect);
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
// ...white squares
gGL.color4f( 1.f, 1.f, 1.f, alpha );
gl_rect_2d(rect);
// ...gray squares
gGL.color4f( .7f, .7f, .7f, alpha );
gGL.flush();
if (!LLGLSLShader::sNoFixedFunction)
{ //polygon stipple is deprecated
glPolygonStipple( checkerboard );
LLGLEnable polygon_stipple(GL_POLYGON_STIPPLE);
gl_rect_2d(rect);
}
else
{
gl_rect_2d(rect);
}
gGL.flush();
}

View File

@@ -78,7 +78,7 @@ void gl_rect_2d_offset_local( S32 left, S32 top, S32 right, S32 bottom, const LL
void gl_rect_2d_offset_local( S32 left, S32 top, S32 right, S32 bottom, S32 pixel_offset = 0, BOOL filled = TRUE );
void gl_rect_2d(const LLRect& rect, BOOL filled = TRUE );
void gl_rect_2d(const LLRect& rect, const LLColor4& color, BOOL filled = TRUE );
void gl_rect_2d_checkerboard(const LLRect& rect, GLfloat alpha = 1.0f);
void gl_rect_2d_checkerboard(const LLRect& parent_screen_rect, const LLRect& rect, GLfloat alpha = 1.0f);
void gl_drop_shadow(S32 left, S32 top, S32 right, S32 bottom, const LLColor4 &start_color, S32 lines);

View File

@@ -537,6 +537,7 @@ set(viewer_SOURCE_FILES
rlvfloaterbehaviour.cpp
rlvviewer2.cpp
shcommandhandler.cpp
shfloatermediaticker.cpp
)
# This gets renamed in the packaging step
@@ -1019,6 +1020,7 @@ set(viewer_HEADER_FILES
rlvfloaterbehaviour.h
rlvviewer2.h
shcommandhandler.h
shfloatermediaticker.h
)
source_group("CMake Rules" FILES ViewerInstall.cmake)

View File

@@ -13391,7 +13391,7 @@
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
<integer>0</integer>
</map>
<key>UseNewWalkRun</key>
<map>

View File

@@ -1,6 +1,35 @@
<?xml version="1.0" ?>
<llsd>
<map>
<key>SHShowMediaTicker</key>
<map>
<key>Comment</key>
<string>Enable media ticker tool for supported audio libraries</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>SHMediaTickerRect</key>
<map>
<key>Comment</key>
<string>Rectangle for media ticker</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Rect</string>
<key>Value</key>
<array>
<integer>200</integer>
<integer>82</integer>
<integer>456</integer>
<integer>50</integer>
</array>
</map>
<key>SHEnableFMODExProfiler</key>
<map>
<key>Comment</key>

View File

@@ -259,7 +259,7 @@ void LLFloaterSculptPreview::draw()
if (selected <= 0)
{
gl_rect_2d_checkerboard(mPreviewRect);
gl_rect_2d_checkerboard(getScreenRect(),mPreviewRect);
LLGLDisable gls_alpha(GL_ALPHA_TEST);
if(mImagep.notNull())

View File

@@ -33,6 +33,7 @@ ATI All-in-Wonder X1800 .*ATI.*All-in-Wonder X18.* 3 1
ATI All-in-Wonder X1900 .*ATI.*All-in-Wonder X19.* 3 1
ATI All-in-Wonder PCI-E .*ATI.*All-in-Wonder.*PCI-E.* 1 1
ATI All-in-Wonder Radeon .*ATI.*All-in-Wonder Radeon.* 0 1
ATI ASUS ARES .*ATI.*ASUS.*ARES.* 3 1
ATI ASUS A9xxx .*ATI.*ASUS.*A9.* 1 1
ATI ASUS AH24xx .*ATI.*ASUS.*AH24.* 1 1
ATI ASUS AH26xx .*ATI.*ASUS.*AH26.* 3 1
@@ -44,25 +45,36 @@ ATI ASUS AX5xx .*ATI.*ASUS.*AX5.* 1 1
ATI ASUS AX8xx .*ATI.*ASUS.*AX8.* 2 1
ATI ASUS EAH24xx .*ATI.*ASUS.*EAH24.* 2 1
ATI ASUS EAH26xx .*ATI.*ASUS.*EAH26.* 3 1
ATI ASUS EAH29xx .*ATI.*ASUS.*EAH29.* 3 1
ATI ASUS EAH34xx .*ATI.*ASUS.*EAH34.* 1 1
ATI ASUS EAH36xx .*ATI.*ASUS.*EAH36.* 3 1
ATI ASUS EAH38xx .*ATI.*ASUS.*EAH38.* 3 1
ATI ASUS EAH43xx .*ATI.*ASUS.*EAH43.* 1 1
ATI ASUS EAH45xx .*ATI.*ASUS.*EAH45.* 1 1
ATI ASUS EAH48xx .*ATI.*ASUS.*EAH48.* 3 1
ATI ASUS EAH57xx .*ATI.*ASUS.*EAH57.* 3 1
ATI ASUS EAH58xx .*ATI.*ASUS.*EAH58.* 3 1
ATI Radeon X1xxx .*ATI.*ASUS.*X1.* 2 1
ATI Radeon X700 .*ATI.*ASUS.*X7.* 1 1
ATI ASUS EAH57xx .*ATI.*ASUS.*EAH57.* 3 1
ATI ASUS EAH58xx .*ATI.*ASUS.*EAH58.* 3 1
ATI ASUS EAH6xxx .*ATI.*ASUS.*EAH6.* 3 1
ATI ASUS Radeon X1xxx .*ATI.*ASUS.*X1.* 3 1
ATI Radeon X7xx .*ATI.*ASUS.*X7.* 1 1
ATI Radeon X19xx .*ATI.*X19.* 3 1
ATI Radeon X18xx .*ATI.*X18.* 3 1
ATI Radeon X17xx .*ATI.*X17.* 2 1
ATI Radeon X16xx .*ATI.*X16.* 2 1
ATI Radeon X15xx .*ATI.*X15.* 2 1
ATI Radeon X13xx .*ATI.*X13.* 1 1
ATI Radeon X1xxx .*ATI.*X1.* 1 1
ATI Radeon X2xxx .*ATI.*X2.* 1 1
ATI Radeon X500 .*ATI.*X5.* 1 1
ATI Radeon X1300 .*ATI.*X13.* 1 1
ATI Radeon X1600 .*ATI.*X16.* 1 1
ATI Radeon X1900 .*ATI.*X19.* 1 1
ATI Display Adapter .*ATI.*display adapter.* 0 1
ATI FireGL 5200 .*ATI.*FireGL V52.* 0 1
ATI FireGL 5xxx .*ATI.*FireGL V5.* 1 1
ATI FireGL .*ATI.*Fire.*GL.* 0 1
ATI FireMV .*ATI.*FireMV.* 0 0
ATI FireGL .*ATI.*Fire.*GL.* 0 1
ATI FirePro M3900 .*ATI.*FirePro.*M39.* 2 1
ATI FirePro M5800 .*ATI.*FirePro.*M58.* 3 1
ATI FirePro M7740 .*ATI.*FirePro.*M77.* 3 1
ATI FirePro M7820 .*ATI.*FirePro.*M78.* 3 1
ATI FireMV .*ATI.*FireMV.* 0 1
ATI Generic .*ATI.*Generic.* 0 0
ATI Hercules 9800 .*ATI.*Hercules.*9800.* 1 1
ATI IGP 340M .*ATI.*IGP.*340M.* 0 0
@@ -71,33 +83,42 @@ ATI M54 .*ATI.*M54.* 1 1
ATI M56 .*ATI.*M56.* 1 1
ATI M71 .*ATI.*M71.* 1 1
ATI M72 .*ATI.*M72.* 1 1
ATI M76 .*ATI.*M76.* 3 1
ATI Mobility Radeon 4100 .*ATI.*Mobility *41.* 0 1
ATI M76 .*ATI.*M76.* 3 1
ATI Radeon HD 64xx .*ATI.*AMD Radeon.* HD [67]4..[MG] 3 1
ATI Radeon HD 65xx .*ATI.*AMD Radeon.* HD [67]5..[MG] 3 1
ATI Radeon HD 66xx .*ATI.*AMD Radeon.* HD [67]6..[MG] 3 1
ATI Mobility Radeon 4100 .*ATI.*Mobility.*41.. 1 1
ATI Mobility Radeon 7xxx .*ATI.*Mobility.*Radeon 7.* 0 1
ATI Mobility Radeon 8xxx .*ATI.*Mobility.*Radeon 8.* 0 1
ATI Mobility Radeon 9800 .*ATI.*Mobility.*98.* 1 1
ATI Mobility Radeon 9700 .*ATI.*Mobility.*97.* 1 1
ATI Mobility Radeon 9600 .*ATI.*Mobility.*96.* 0 1
ATI Mobility Radeon HD 2300 .*ATI.*Mobility.*HD.*23.* 1 1
ATI Mobility Radeon HD 2400 .*ATI.*Mobility.*HD.*24.* 1 1
ATI Mobility Radeon HD 2600 .*ATI.*Mobility.*HD.*26.* 2 1
ATI Mobility Radeon HD 2700 .*ATI.*Mobility.*HD.*27.* 3 1
ATI Mobility Radeon HD 3100 .*ATI.*Mobility.*HD.*31.* 1 1
ATI Mobility Radeon HD 3200 .*ATI.*Mobility.*HD.*32.* 1 1
ATI Mobility Radeon HD 3400 .*ATI.*Mobility.*HD.*34.* 2 1
ATI Mobility Radeon HD 3600 .*ATI.*Mobility.*HD.*36.* 2 1
ATI Mobility Radeon HD 3800 .*ATI.*Mobility.*HD.*38.* 3 1
ATI Mobility Radeon HD 4200 .*ATI.*Mobility.*HD.*42.* 2 1
ATI Mobility Radeon HD 4300 .*ATI.*Mobility.*HD.*43.* 2 1
ATI Mobility Radeon HD 4500 .*ATI.*Mobility.*HD.*45.* 3 1
ATI Mobility Radeon HD 4600 .*ATI.*Mobility.*HD.*46.* 3 1
ATI Mobility Radeon HD 4800 .*ATI.*Mobility.*HD.*48.* 3 1
ATI Mobility Radeon HD 5100 .*ATI.*Mobility *HD *51.* 2 1
ATI Mobility Radeon HD 5300 .*ATI.*Mobility *HD *53.* 2 1
ATI Mobility Radeon HD 5400 .*ATI.*Mobility *HD *54.* 2 1
ATI Mobility Radeon HD 5500 .*ATI.*Mobility *HD *55.* 2 1
ATI Mobility Radeon HD 5600 .*ATI.*Mobility *HD *56.* 2 1
ATI Mobility Radeon HD 5700 .*ATI.*Mobility *HD *57.* 3 1
ATI Mobility Radeon 9700 .*ATI.*Mobility.*97.* 1 1
ATI Mobility Radeon 9600 .*ATI.*Mobility.*96.* 0 1
ATI Mobility Radeon HD 530v .*ATI.*Mobility.*HD *530v.* 1 1
ATI Mobility Radeon HD 540v .*ATI.*Mobility.*HD *540v.* 2 1
ATI Mobility Radeon HD 545v .*ATI.*Mobility.*HD *545v.* 2 1
ATI Mobility Radeon HD 550v .*ATI.*Mobility.*HD *550v.* 2 1
ATI Mobility Radeon HD 560v .*ATI.*Mobility.*HD *560v.* 2 1
ATI Mobility Radeon HD 565v .*ATI.*Mobility.*HD *565v.* 2 1
ATI Mobility Radeon HD 2300 .*ATI.*Mobility.*HD *23.* 1 1
ATI Mobility Radeon HD 2400 .*ATI.*Mobility.*HD *24.* 1 1
ATI Mobility Radeon HD 2600 .*ATI.*Mobility.*HD *26.* 3 1
ATI Mobility Radeon HD 2700 .*ATI.*Mobility.*HD *27.* 3 1
ATI Mobility Radeon HD 3100 .*ATI.*Mobility.*HD *31.* 0 1
ATI Mobility Radeon HD 3200 .*ATI.*Mobility.*HD *32.* 0 1
ATI Mobility Radeon HD 3400 .*ATI.*Mobility.*HD *34.* 2 1
ATI Mobility Radeon HD 3600 .*ATI.*Mobility.*HD *36.* 3 1
ATI Mobility Radeon HD 3800 .*ATI.*Mobility.*HD *38.* 3 1
ATI Mobility Radeon HD 4200 .*ATI.*Mobility.*HD *42.* 2 1
ATI Mobility Radeon HD 4300 .*ATI.*Mobility.*HD *43.* 2 1
ATI Mobility Radeon HD 4500 .*ATI.*Mobility.*HD *45.* 3 1
ATI Mobility Radeon HD 4600 .*ATI.*Mobility.*HD *46.* 3 1
ATI Mobility Radeon HD 4800 .*ATI.*Mobility.*HD *48.* 3 1
ATI Mobility Radeon HD 5100 .*ATI.*Mobility.*HD *51.* 3 1
ATI Mobility Radeon HD 5300 .*ATI.*Mobility.*HD *53.* 3 1
ATI Mobility Radeon HD 5400 .*ATI.*Mobility.*HD *54.* 3 1
ATI Mobility Radeon HD 5500 .*ATI.*Mobility.*HD *55.* 3 1
ATI Mobility Radeon HD 5600 .*ATI.*Mobility.*HD *56.* 3 1
ATI Mobility Radeon HD 5700 .*ATI.*Mobility.*HD *57.* 3 1
ATI Mobility Radeon HD 5800 .*ATI.*Mobility *HD *58.* 3 1
ATI Mobility Radeon HD 6200 .*ATI.*Mobility.*HD *62.* 3 1
ATI Mobility Radeon HD 6300 .*ATI.*Mobility.*HD *63.* 3 1
@@ -107,6 +128,12 @@ ATI Mobility Radeon HD 6600M .*ATI.*Mobility.*HD *66.* 3 1
ATI Mobility Radeon HD 6700M .*ATI.*Mobility.*HD *67.* 3 1
ATI Mobility Radeon HD 6800M .*ATI.*Mobility.*HD *68.* 3 1
ATI Mobility Radeon HD 6900M .*ATI.*Mobility.*HD *69.* 3 1
ATI Mobility Radeon HD 7400M .*ATI.*Mobility.*HD *74.* 3 1
ATI Mobility Radeon HD 7500M .*ATI.*Mobility.*HD *75.* 3 1
ATI Mobility Radeon HD 7600M .*ATI.*Mobility.*HD *76.* 3 1
ATI Mobility Radeon HD 7700M .*ATI.*Mobility.*HD *77.* 3 1
ATI Mobility Radeon HD 7800M .*ATI.*Mobility.*HD *78.* 3 1
ATI Mobility Radeon HD 7900M .*ATI.*Mobility.*HD *79.* 3 1
ATI Mobility Radeon X1xxx .*ATI.*Mobility.*X1.* 0 1
ATI Mobility Radeon X2xxx .*ATI.*Mobility.*X2.* 0 1
ATI Mobility Radeon X3xx .*ATI.*Mobility.*X3.* 1 1
@@ -114,77 +141,140 @@ ATI Mobility Radeon X6xx .*ATI.*Mobility.*X6.* 1 1
ATI Mobility Radeon X7xx .*ATI.*Mobility.*X7.* 1 1
ATI Mobility Radeon Xxxx .*ATI.*Mobility.*X.* 0 1
ATI Mobility Radeon .*ATI.*Mobility.* 0 1
ATI Radeon HD 2300 .*ATI.*Radeon HD 23.* 0 1
ATI Radeon HD 2400 .*ATI.*Radeon HD.*24.* 1 1
ATI Radeon HD 2600 .*ATI.*Radeon HD 26.* 2 1
ATI Radeon HD 2900 .*ATI.*Radeon HD 29.* 3 1
ATI Radeon HD 3000 .*ATI.*Radeon.*HD.*30.* 0 1
ATI Radeon HD 3100 .*ATI.*Radeon.*HD.*31.* 1 1
ATI Radeon HD 3200 .*ATI.*Radeon.*HD.*32.* 1 1
ATI Radeon HD 3300 .*ATI.*Radeon HD.*33.* 1 1
ATI Radeon HD 3400 .*ATI.*Radeon HD.*34.* 1 1
ATI Radeon HD 3600 .*ATI.*Radeon HD.*36.* 3 1
ATI Radeon HD 3800 .*ATI.*Radeon HD.*38.* 3 1
ATI Radeon HD 4200 .*ATI.*Radeon HD *42.* 1 1
ATI Radeon HD 4300 .*ATI.*Radeon HD 43.* 1 1
ATI Radeon HD 4500 .*ATI.*Radeon HD 45.* 2 1
ATI Radeon HD 4600 .*ATI.*Radeon HD 46.* 3 1
ATI Radeon HD 4700 .*ATI.*Radeon HD *47.* 3 1
ATI Radeon HD 4800 .*ATI.*Radeon.*HD.*48.* 3 1
ATI Radeon HD 5400 .*ATI.*Radeon.*HD.*54.* 2 1
ATI Radeon HD 5500 .*ATI.*Radeon.*HD.*55.* 2 1
ATI Radeon HD 5600 .*ATI.*Radeon.*HD.*56.* 3 1
ATI Radeon HD 5700 .*ATI.*Radeon.*HD.*57.* 3 1
ATI Radeon HD 5800 .*ATI.*Radeon.*HD.*58.* 3 1
ATI Radeon HD 5900 .*ATI.*Radeon.*HD.*59.* 3 1
ATI Radeon HD 6200 .*ATI.*Radeon.*HD.*62.* 2 1
ATI Radeon HD 6300M .*ATI.*Radeon.*HD.*6300M.* 2 1
ATI Radeon HD 6300 .*ATI.*Radeon.*HD.*63.* 2 1
ATI Radeon HD 6500M .*ATI.*Radeon.*HD.*6500M.* 2 1
ATI Radeon HD 6500 .*ATI.*Radeon.*HD.*65.* 3 1
ATI Radeon HD 6800 .*ATI.*Radeon.*HD.*68.* 3 1
ATI Radeon HD 6900 .*ATI.*Radeon.*HD.*69.* 3 1
ATI Radeon OpenGL .*ATI.*Radeon OpenGL.* 0 0
ATI Radeon 2100 .*ATI.*Radeon 21.* 0 1
ATI Radeon 3000 .*ATI.*Radeon 30.* 0 1
ATI Radeon 3100 .*ATI.*Radeon 31.* 1 1
ATI Radeon 7xxx .*ATI.*Radeon 7.* 0 1
ATI Radeon 8xxx .*ATI.*Radeon 8.* 0 1
ATI Radeon 9000 .*ATI.*Radeon 90.* 0 1
ATI Radeon 9100 .*ATI.*Radeon 91.* 0 1
ATI Radeon 9200 .*ATI.*Radeon 92.* 0 1
ATI Radeon 9500 .*ATI.*Radeon 95.* 0 1
ATI Radeon 9600 .*ATI.*Radeon 96.* 0 1
ATI Radeon 9700 .*ATI.*Radeon 97.* 1 1
ATI Radeon 9800 .*ATI.*Radeon 98.* 1 1
ATI Radeon HD 2300 .*ATI.*Radeon HD *23.. 0 1
ATI Radeon HD 2400 .*ATI.*Radeon HD *24.. 1 1
ATI Radeon HD 2600 .*ATI.*Radeon HD *26.. 2 1
ATI Radeon HD 2900 .*ATI.*Radeon HD *29.. 3 1
ATI Radeon HD 3000 .*ATI.*Radeon HD *30.. 0 1
ATI Radeon HD 3100 .*ATI.*Radeon HD *31.. 1 1
ATI Radeon HD 3200 .*ATI.*Radeon HD *32.. 1 1
ATI Radeon HD 3300 .*ATI.*Radeon HD *33.. 1 1
ATI Radeon HD 3400 .*ATI.*Radeon HD *34.. 1 1
ATI Radeon HD 3500 .*ATI.*Radeon HD *35.. 1 1
ATI Radeon HD 3600 .*ATI.*Radeon HD *36.. 3 1
ATI Radeon HD 3700 .*ATI.*Radeon HD *37.. 3 1
ATI Radeon HD 3800 .*ATI.*Radeon HD *38.. 3 1
ATI Radeon HD 4100 .*ATI.*Radeon HD *41.. 1 1
ATI Radeon HD 4200 .*ATI.*Radeon HD *42.. 1 1
ATI Radeon HD 4300 .*ATI.*Radeon HD *43.. 1 1
ATI Radeon HD 4400 .*ATI.*Radeon HD *44.. 1 1
ATI Radeon HD 4500 .*ATI.*Radeon HD *45.. 3 1
ATI Radeon HD 4600 .*ATI.*Radeon HD *46.. 3 1
ATI Radeon HD 4700 .*ATI.*Radeon HD *47.. 3 1
ATI Radeon HD 4800 .*ATI.*Radeon HD *48.. 3 1
ATI Radeon HD 5400 .*ATI.*Radeon HD *54.. 3 1
ATI Radeon HD 5500 .*ATI.*Radeon HD *55.. 3 1
ATI Radeon HD 5600 .*ATI.*Radeon HD *56.. 3 1
ATI Radeon HD 5700 .*ATI.*Radeon HD *57.. 3 1
ATI Radeon HD 5800 .*ATI.*Radeon HD *58.. 3 1
ATI Radeon HD 5900 .*ATI.*Radeon HD *59.. 3 1
ATI Radeon HD 6200 .*ATI.*Radeon HD *62.. 3 1
ATI Radeon HD 6300M .*ATI.*Radeon.*HD.*6300M.* 3 1
ATI Radeon HD 6300 .*ATI.*Radeon HD *63.. 3 1
ATI Radeon HD 6400 .*ATI.*Radeon HD *64.. 3 1
ATI Radeon HD 6500M .*ATI.*Radeon.*HD.*6500M.* 3 1
ATI Radeon HD 6500 .*ATI.*Radeon HD *65.. 3 1
ATI Radeon HD 6600 .*ATI.*Radeon HD *66.. 3 1
ATI Radeon HD 6700 .*ATI.*Radeon HD *67.. 3 1
ATI Radeon HD 6800 .*ATI.*Radeon HD *68.. 3 1
ATI Radeon HD 6900 .*ATI.*Radeon HD *69.. 3 1
ATI Radeon HD 7400 .*ATI.*Radeon HD *74.. 3 1
ATI Radeon HD 7500 .*ATI.*Radeon HD *75.. 3 1
ATI Radeon HD 7600 .*ATI.*Radeon HD *76.. 3 1
ATI Radeon HD 7700 .*ATI.*Radeon HD *77.. 3 1
ATI Radeon HD 7800 .*ATI.*Radeon HD *78.. 3 1
ATI Radeon HD 7900 .*ATI.*Radeon HD *79.. 3 1
ATI Radeon OpenGL .*ATI.*Radeon OpenGL.* 0 0
ATI Radeon 2100 .*ATI.*Radeon 21.. 0 1
ATI Radeon 3000 .*ATI.*Radeon 30.. 0 1
ATI Radeon 3100 .*ATI.*Radeon 31.. 1 1
ATI Radeon 5xxx .*ATI.*Radeon 5... 3 1
ATI Radeon 7xxx .*ATI.*Radeon 7... 0 1
ATI Radeon 8xxx .*ATI.*Radeon 8... 0 1
ATI Radeon 9000 .*ATI.*Radeon 90.. 0 1
ATI Radeon 9100 .*ATI.*Radeon 91.. 0 1
ATI Radeon 9200 .*ATI.*Radeon 92.. 0 1
ATI Radeon 9500 .*ATI.*Radeon 95.. 0 1
ATI Radeon 9600 .*ATI.*Radeon 96.. 0 1
ATI Radeon 9700 .*ATI.*Radeon 97.. 1 1
ATI Radeon 9800 .*ATI.*Radeon 98.. 1 1
ATI Radeon RV250 .*ATI.*RV250.* 0 1
ATI Radeon RV600 .*ATI.*RV6.* 1 1
ATI Radeon RX700 .*ATI.*RX70.* 1 1
ATI Radeon RX800 .*ATI.*Radeon *RX80.* 2 1
ATI RS880M .*ATI.*RS880M 1 1
ATI Radeon RX9550 .*ATI.*RX9550.* 1 1
ATI Radeon VE .*ATI.*Radeon.*VE.* 0 0
ATI Radeon X1000 .*ATI.*Radeon *X10.* 0 1
ATI Radeon X1200 .*ATI.*Radeon *X12.* 0 1
ATI Radeon X1300 .*ATI.*Radeon *X13.* 1 1
ATI Radeon X1400 .*ATI.*Radeon X14.* 1 1
ATI Radeon X1500 .*ATI.*Radeon X15.* 1 1
ATI Radeon X1400 .*ATI.*Radeon ?X14.* 1 1
ATI Radeon X1500 .*ATI.*Radeon ?X15.* 1 1
ATI Radeon X1600 .*ATI.*Radeon *X16.* 1 1
ATI Radeon X1700 .*ATI.*Radeon X17.* 1 1
ATI Radeon X1800 .*ATI.*Radeon X18.* 3 1
ATI Radeon X1900 .*ATI.*Radeon X19.* 3 1
ATI Radeon X300 .*ATI.*Radeon *X3.* 0 1
ATI Radeon X400 .*ATI.*Radeon X4.* 0 1
ATI Radeon X500 .*ATI.*Radeon X5.* 0 1
ATI Radeon X600 .*ATI.*Radeon X6.* 1 1
ATI Radeon X700 .*ATI.*Radeon X7.* 1 1
ATI Radeon X800 .*ATI.*Radeon X8.* 2 1
ATI Radeon X900 .*ATI.*Radeon X9.* 2 1
ATI Radeon Xpress .*ATI.*Radeon Xpress.* 0 0
ATI Rage 128 .*ATI.*Rage 128.* 0 1
ATI RV250 .*ATI.*RV250.* 0 1
ATI RV380 .*ATI.*RV380.* 0 1
ATI RV530 .*ATI.*RV530.* 1 1
ATI RX700 .*ATI.*RX700.* 1 1
ATI Radeon X1700 .*ATI.*Radeon ?X17.* 1 1
ATI Radeon X1800 .*ATI.*Radeon ?X18.* 3 1
ATI Radeon X1900 .*ATI.*Radeon ?X19.* 3 1
ATI Radeon X300 .*ATI.*Radeon *X3.* 0 1
ATI Radeon X400 .*ATI.*Radeon ?X4.* 0 1
ATI Radeon X500 .*ATI.*Radeon ?X5.* 0 1
ATI Radeon X600 .*ATI.*Radeon ?X6.* 1 1
ATI Radeon X700 .*ATI.*Radeon ?X7.* 1 1
ATI Radeon X800 .*ATI.*Radeon ?X8.* 2 1
ATI Radeon X900 .*ATI.*Radeon ?X9.* 2 1
ATI Radeon Xpress .*ATI.*Radeon Xpress.* 0 1
ATI Rage 128 .*ATI.*Rage 128.* 0 1
ATI R350 (9800) .*R350.* 1 1
ATI R580 (X1900) .*R580.* 3 1
ATI RC410 (Xpress 200) .*RC410.* 0 0
ATI RS48x (Xpress 200x) .*RS48.* 0 0
ATI RS600 (Xpress 3200) .*RS600.* 0 0
ATI RV350 (9600) .*RV350.* 0 1
ATI RV370 (X300) .*RV370.* 0 1
ATI RV410 (X700) .*RV410.* 1 1
ATI RV515 .*RV515.* 1 1
ATI RV570 (X1900 GT/PRO) .*RV570.* 3 1
ATI RV380 .*RV380.* 0 1
ATI RV530 .*RV530.* 1 1
ATI RX480 (Xpress 200P) .*RX480.* 0 1
ATI RX700 .*RX700.* 1 1
AMD ANTILLES (HD 6990) .*(AMD|ATI).*Antilles.* 3 1
AMD BARTS (HD 6800) .*(AMD|ATI).*Barts.* 3 1
AMD CAICOS (HD 6400) .*(AMD|ATI).*Caicos.* 3 1
AMD CAYMAN (HD 6900) .*(AMD|ATI).*(Cayman|CAYMAM).* 3 1
AMD CEDAR (HD 5450) .*(AMD|ATI).*Cedar.* 2 1
AMD CYPRESS (HD 5800) .*(AMD|ATI).*Cypress.* 3 1
AMD HEMLOCK (HD 5970) .*(AMD|ATI).*Hemlock.* 3 1
AMD JUNIPER (HD 5700) .*(AMD|ATI).*Juniper.* 3 1
AMD PARK .*(AMD|ATI).*Park.* 3 1
AMD REDWOOD (HD 5500/5600) .*(AMD|ATI).*Redwood.* 3 1
AMD TURKS (HD 6500/6600) .*(AMD|ATI).*Turks.* 3 1
AMD RS780 (HD 3200) .*RS780.* 0 1
AMD RS880 (HD 4200) .*RS880.* 1 1
AMD RV610 (HD 2400) .*RV610.* 1 1
AMD RV620 (HD 3400) .*RV620.* 1 1
AMD RV630 (HD 2600) .*RV630.* 2 1
AMD RV635 (HD 3600) .*RV635.* 3 1
AMD RV670 (HD 3800) .*RV670.* 3 1
AMD R680 (HD 3870 X2) .*R680.* 3 1
AMD R700 (HD 4800 X2) .*R700.* 3 1
AMD RV710 (HD 4300) .*RV710.* 1 1
AMD RV730 (HD 4600) .*RV730.* 3 1
AMD RV740 (HD 4700) .*RV740.* 3 1
AMD RV770 (HD 4800) .*RV770.* 3 1
AMD RV790 (HD 4800) .*RV790.* 3 1
ATI 760G/Radeon 3000 .*ATI.*AMD 760G.* 1 1
ATI 780L/Radeon 3000 .*ATI.*AMD 780L.* 1 1
ATI Radeon DDR .*ATI.*Radeon ?DDR.* 0 1
ATI FirePro 2000 .*ATI.*FirePro 2.* 1 1
ATI FirePro 3000 .*ATI.*FirePro V3.* 1 1
ATI FirePro 4000 .*ATI.*FirePro V4.* 2 1
ATI FirePro 5000 .*ATI.*FirePro V5.* 3 1
ATI FirePro 7000 .*ATI.*FirePro V7.* 3 1
ATI FirePro M .*ATI.*FirePro M.* 3 1
ATI Technologies .*ATI *Technologies.* 0 1
// This entry is last to work around the "R300" driver problem.
ATI R300 (9700) .*R300.* 1 1
ATI Radeon .*ATI.*(Diamond|Radeon).* 0 1
Intel X3100 .*Intel.*X3100.* 0 1
Intel 830M .*Intel.*830M 0 0
Intel 845G .*Intel.*845G 0 0
@@ -214,97 +304,105 @@ Intel Pineview .*Intel.*Pineview.* 0 1
Intel Springdale .*Intel.*Springdale.* 0 0
Intel HD Graphics 2000 .*Intel.*HD2000.* 1 1
Intel HD Graphics 3000 .*Intel.*HD3000.* 2 1
Matrox .*Matrox.* 0 0
Mesa .*Mesa.* 0 0
NVIDIA 205 .*NVIDIA.*GeForce.*20.* 2 1
NVIDIA 210 .*NVIDIA.*GeForce.*21.* 2 1
NVIDIA 315M .*NVIDIA.*GeForce 315M.* 0 1
NVIDIA 310M .*NVIDIA.*GeForce 310M.* 0 1
NVIDIA 310 .*NVIDIA.*GeForce 310.* 0 1
NVIDIA 315 .*NVIDIA.*GeForce 310.* 0 1
NVIDIA 320M .*NVIDIA.*GeForce 320M.* 0 1
NVIDIA G 100M .*NVIDIA.*GeForce G *100M.* 0 1
NVIDIA G 102M .*NVIDIA.*GeForce G *102M.* 0 1
NVIDIA G 103M .*NVIDIA.*GeForce G *103M.* 0 1
NVIDIA G 105M .*NVIDIA.*GeForce G *105M.* 0 1
NVIDIA G 110M .*NVIDIA.*GeForce G *110M.* 0 1
NVIDIA G 210M .*NVIDIA.*GeForce G *210M.* 0 1
NVIDIA GT 120M .*NVIDIA.*GeForce.*GT.*120M.* 2 1
NVIDIA GT 120 .*NVIDIA.*GeForce.*GT.*12.* 2 1
NVIDIA GT 130M .*NVIDIA.*GeForce.*GT.*130M.* 2 1
NVIDIA GT 130 .*NVIDIA.*GeForce.*GT.*13.* 2 1
NVIDIA GT 140M .*NVIDIA.*GeForce.*GT.*140M.* 2 1
NVIDIA GT 140 .*NVIDIA.*GeForce.*GT.*14.* 2 1
NVIDIA GT 150M .*NVIDIA.*GeForce.*GT.*150M.* 2 1
NVIDIA GT 150 .*NVIDIA.*GeForce.*GT.*15.* 2 1
NVIDIA GT 160M .*NVIDIA.*GeForce.*GT.*160M.* 2 1
NVIDIA GT 220M .*NVIDIA.*GeForce.*GT.*220M.* 2 1
NVIDIA GT 220 .*NVIDIA.*GeForce.*GT.*22.* 2 1
NVIDIA GT 230M .*NVIDIA.*GeForce.*GT.*230M.* 2 1
NVIDIA GT 230 .*NVIDIA.*GeForce.*GT.*23.* 2 1
NVIDIA GT 240M .*NVIDIA.*GeForce.*GT.*240M.* 2 1
NVIDIA GT 240 .*NVIDIA.*GeForce.*GT.*24.* 2 1
NVIDIA GT 250M .*NVIDIA.*GeForce.*GT.*250M.* 2 1
NVIDIA GT 260M .*NVIDIA.*GeForce.*GT.*260M.* 2 1
NVIDIA GT 320M .*NVIDIA.*GeForce.*GT.*320M.* 0 1
NVIDIA GT 320 .*NVIDIA.*GeForce.*GT.*32.* 0 1
NVIDIA GT 325M .*NVIDIA.*GeForce.*GT.*325M.* 0 1
NVIDIA GT 330M .*NVIDIA.*GeForce.*GT.*330M.* 1 1
NVIDIA GT 330 .*NVIDIA.*GeForce.*GT.*33.* 1 1
NVIDIA GT 335M .*NVIDIA.*GeForce.*GT.*335M.* 1 1
NVIDIA GT 340 .*NVIDIA.*GeForce.*GT.*34.* 1 1
NVIDIA GT 415M .*NVIDIA.*GeForce.*GT.*415M.* 2 1
NVIDIA GT 420M .*NVIDIA.*GeForce.*GT.*420M.* 2 1
NVIDIA GT 420 .*NVIDIA.*GeForce.*GT.*42.* 2 1
NVIDIA GT 425M .*NVIDIA.*GeForce.*GT.*425M.* 3 1
NVIDIA GT 430 .*NVIDIA.*GeForce.*GT.*43.* 3 1
NVIDIA GT 435M .*NVIDIA.*GeForce.*GT.*435M.* 3 1
NVIDIA GT 440 .*NVIDIA.*GeForce.*GT.*44.* 3 1
NVIDIA GT 445M .*NVIDIA.*GeForce.*GT.*445M.* 3 1
NVIDIA GT 450 .*NVIDIA.*GeForce.*GT.*45.* 3 1
NVIDIA GT 520 .*NVIDIA.*GeForce.*GT.*52.* 2 1
NVIDIA GT 540M .*NVIDIA.*GeForce.*GT.*540M.* 3 1
NVIDIA GT 540 .*NVIDIA.*GeForce.*GT.*54.* 3 1
NVIDIA GTS 240 .*NVIDIA.*GeForce *GTS.*24.* 3 1
NVIDIA GTS 250 .*NVIDIA.*GeForce.*GTS.*25.* 3 1
NVIDIA GTS 260M .*NVIDIA.*GeForce.*GTS.*260M.* 3 1
NVIDIA GTS 280M .*NVIDIA.*GeForce.*GTS.*280M.* 3 1
NVIDIA GTS 285M .*NVIDIA.*GeForce.*GTS.*285M.* 3 1
NVIDIA GTS 350M .*NVIDIA.*GeForce.*GTS.*350M.* 3 1
NVIDIA GTS 360M .*NVIDIA.*GeForce.*GTS.*360M.* 3 1
NVIDIA GTS 450 .*NVIDIA.*GeForce.*GTS.*45.* 3 1
NVIDIA GTX 260 .*NVIDIA.*GeForce.*GTX.*26.* 3 1
NVIDIA GTX 270 .*NVIDIA.*GeForce.*GTX.*27.* 3 1
NVIDIA GTX 275 .*NVIDIA.*GeForce.*GTX.*27.* 3 1
NVIDIA GTX 280 .*NVIDIA.*GeForce.*GTX.*28.* 3 1
NVIDIA GTX 285 .*NVIDIA.*GeForce.*GTX.*28.* 3 1
NVIDIA GTX 290 .*NVIDIA.*GeForce.*GTX.*29.* 3 1
NVIDIA GTX 295 .*NVIDIA.*GeForce.*GTX.*29.* 3 1
NVIDIA GTX 460M .*NVIDIA.*GeForce.*GTX.*460M.* 3 1
NVIDIA GTX 460 .*NVIDIA.*GeForce.*GTX.*46.* 3 1
NVIDIA GTX 465 .*NVIDIA.*GeForce.*GTX.*46.* 3 1
NVIDIA GTX 470M .*NVIDIA.*GeForce.*GTX.*470M.* 3 1
NVIDIA GTX 470 .*NVIDIA.*GeForce.*GTX.*47.* 3 1
NVIDIA GTX 480M .*NVIDIA.*GeForce.*GTX.*480M.* 3 1
NVIDIA GTX 480 .*NVIDIA.*GeForce.*GTX.*48.* 3 1
NVIDIA GTX 560 .*NVIDIA.*GeForce.*GTX.*56.* 3 1
NVIDIA GTX 570 .*NVIDIA.*GeForce.*GTX.*57.* 3 1
NVIDIA GTX 580M .*NVIDIA.*GeForce.*GTX.*580M.* 3 1
NVIDIA GTX 580 .*NVIDIA.*GeForce.*GTX.*58.* 3 1
NVIDIA C51 .*NVIDIA.*C51.* 0 1
NVIDIA G72 .*NVIDIA.*G72.* 1 1
Matrox .*Matrox.* 0 0
Mesa .*Mesa.* 0 0
NVIDIA 205 .*NVIDIA .*GeForce 205.* 2 1
NVIDIA 210 .*NVIDIA .*GeForce 210.* 2 1
NVIDIA 310M .*NVIDIA .*GeForce 310M.* 1 1
NVIDIA 310 .*NVIDIA .*GeForce 310.* 3 1
NVIDIA 315M .*NVIDIA .*GeForce 315M.* 2 1
NVIDIA 315 .*NVIDIA .*GeForce 315.* 3 1
NVIDIA 320M .*NVIDIA .*GeForce 320M.* 2 1
NVIDIA G100M .*NVIDIA .*100M.* 0 1
NVIDIA G100 .*NVIDIA .*100.* 0 1
NVIDIA G102M .*NVIDIA .*102M.* 0 1
NVIDIA G103M .*NVIDIA .*103M.* 0 1
NVIDIA G105M .*NVIDIA .*105M.* 0 1
NVIDIA G 110M .*NVIDIA .*110M.* 0 1
NVIDIA G 120M .*NVIDIA .*120M.* 1 1
NVIDIA G 200 .*NVIDIA .*200(M)?.* 0 1
NVIDIA G 205M .*NVIDIA .*205(M)?.* 0 1
NVIDIA G 210 .*NVIDIA .*210(M)?.* 1 1
NVIDIA 305M .*NVIDIA .*305(M)?.* 1 1
NVIDIA G 310M .*NVIDIA .*310(M)?.* 2 1
NVIDIA G 315 .*NVIDIA .*315(M)?.* 2 1
NVIDIA G 320M .*NVIDIA .*320(M)?.* 2 1
NVIDIA G 405 .*NVIDIA .*405(M)?.* 1 1
NVIDIA G 410M .*NVIDIA .*410(M)?.* 1 1
NVIDIA GT 120M .*NVIDIA .*GT *120(M)?.* 2 1
NVIDIA GT 120 .*NVIDIA .*GT.*120 2 1
NVIDIA GT 130M .*NVIDIA .*GT *130(M)?.* 2 1
NVIDIA GT 140M .*NVIDIA .*GT *140(M)?.* 2 1
NVIDIA GT 150M .*NVIDIA .*GT(S)? *150(M)?.* 2 1
NVIDIA GT 160M .*NVIDIA .*GT *160(M)?.* 2 1
NVIDIA GT 220M .*NVIDIA .*GT *220(M)?.* 2 1
NVIDIA GT 230M .*NVIDIA .*GT *230(M)?.* 2 1
NVIDIA GT 240M .*NVIDIA .*GT *240(M)?.* 2 1
NVIDIA GT 250M .*NVIDIA .*GT *250(M)?.* 2 1
NVIDIA GT 260M .*NVIDIA .*GT *260(M)?.* 2 1
NVIDIA GT 320M .*NVIDIA .*GT *320(M)?.* 2 1
NVIDIA GT 325M .*NVIDIA .*GT *325(M)?.* 0 1
NVIDIA GT 330M .*NVIDIA .*GT *330(M)?.* 3 1
NVIDIA GT 335M .*NVIDIA .*GT *335(M)?.* 1 1
NVIDIA GT 340M .*NVIDIA .*GT *340(M)?.* 2 1
NVIDIA GT 415M .*NVIDIA .*GT *415(M)?.* 2 1
NVIDIA GT 420M .*NVIDIA .*GT *420(M)?.* 2 1
NVIDIA GT 425M .*NVIDIA .*GT *425(M)?.* 3 1
NVIDIA GT 430M .*NVIDIA .*GT *430(M)?.* 3 1
NVIDIA GT 435M .*NVIDIA .*GT *435(M)?.* 3 1
NVIDIA GT 440M .*NVIDIA .*GT *440(M)?.* 3 1
NVIDIA GT 445M .*NVIDIA .*GT *445(M)?.* 3 1
NVIDIA GT 450M .*NVIDIA .*GT *450(M)?.* 3 1
NVIDIA GT 520M .*NVIDIA .*GT *52.(M)?.* 3 1
NVIDIA GT 530M .*NVIDIA .*GT *530(M)?.* 3 1
NVIDIA GT 540M .*NVIDIA .*GT *54.(M)?.* 3 1
NVIDIA GT 550M .*NVIDIA .*GT *550(M)?.* 3 1
NVIDIA GT 555M .*NVIDIA .*GT *555(M)?.* 3 1
NVIDIA GTS 160M .*NVIDIA .*GT(S)? *160(M)?.* 2 1
NVIDIA GTS 240 .*NVIDIA .*GTS *24.* 3 1
NVIDIA GTS 250 .*NVIDIA .*GTS *25.* 3 1
NVIDIA GTS 350M .*NVIDIA .*GTS *350M.* 3 1
NVIDIA GTS 360M .*NVIDIA .*GTS *360M.* 3 1
NVIDIA GTS 360 .*NVIDIA .*GTS *360.* 3 1
NVIDIA GTS 450 .*NVIDIA .*GTS *45.* 3 1
NVIDIA GTX 260 .*NVIDIA .*GTX *26.* 3 1
NVIDIA GTX 275 .*NVIDIA .*GTX *275.* 3 1
NVIDIA GTX 270 .*NVIDIA .*GTX *27.* 3 1
NVIDIA GTX 285 .*NVIDIA .*GTX *285.* 3 1
NVIDIA GTX 280 .*NVIDIA .*GTX *280.* 3 1
NVIDIA GTX 290 .*NVIDIA .*GTX *290.* 3 1
NVIDIA GTX 295 .*NVIDIA .*GTX *295.* 3 1
NVIDIA GTX 460M .*NVIDIA .*GTX *460M.* 3 1
NVIDIA GTX 465 .*NVIDIA .*GTX *465.* 3 1
NVIDIA GTX 460 .*NVIDIA .*GTX *46.* 3 1
NVIDIA GTX 470M .*NVIDIA .*GTX *470M.* 3 1
NVIDIA GTX 470 .*NVIDIA .*GTX *47.* 3 1
NVIDIA GTX 480M .*NVIDIA .*GTX *480M.* 3 1
NVIDIA GTX 485M .*NVIDIA .*GTX *485M.* 3 1
NVIDIA GTX 480 .*NVIDIA .*GTX *48.* 3 1
NVIDIA GTX 530 .*NVIDIA .*GTX *53.* 3 1
NVIDIA GTX 550 .*NVIDIA .*GTX *55.* 3 1
NVIDIA GTX 560 .*NVIDIA .*GTX *56.* 3 1
NVIDIA GTX 570 .*NVIDIA .*GTX *57.* 3 1
NVIDIA GTX 580M .*NVIDIA .*GTX *580M.* 3 1
NVIDIA GTX 580 .*NVIDIA .*GTX *58.* 3 1
NVIDIA GTX 590 .*NVIDIA .*GTX *59.* 3 1
NVIDIA C51 .*NVIDIA .*C51.* 0 1
NVIDIA G72 .*NVIDIA .*G72.* 1 1
NVIDIA G73 .*NVIDIA.*G73.* 1 1
NVIDIA G84 .*NVIDIA.*G84.* 3 1
NVIDIA G84 .*NVIDIA .*G84.* 2 1
NVIDIA G86 .*NVIDIA.*G86.* 3 1
NVIDIA G92 .*NVIDIA.*G92.* 3 1
NVIDIA GeForce .*GeForce 256.* 0 0
NVIDIA GeForce 2 .*GeForce2.* 0 1
NVIDIA GeForce 3 .*GeForce3.* 0 1
NVIDIA GeForce 4 Go .*NVIDIA.*GeForce4.*Go.* 0 1
NVIDIA GeForce 4 MX .*NVIDIA.*GeForce4 MX.* 0 1
NVIDIA GeForce 4 PCX .*NVIDIA.*GeForce4 PCX.* 0 1
NVIDIA GeForce 4 Ti .*NVIDIA.*GeForce4 Ti.* 0 1
NVIDIA GeForce 6100 .*NVIDIA.*GeForce 61.* 0 1
NVIDIA GeForce .*GeForce 256.* 0 0
NVIDIA GeForce 2 .*GeForce ?2 ?.* 0 1
NVIDIA GeForce 3 .*GeForce ?3 ?.* 0 1
NVIDIA GeForce 3 Ti .*GeForce ?3 Ti.* 0 1
NVIDIA GeForce 4 .*NVIDIA .*GeForce ?4.* 0 1
NVIDIA GeForce 4 Go .*NVIDIA .*GeForce ?4.*Go.* 0 1
NVIDIA GeForce 4 MX .*NVIDIA .*GeForce ?4 MX.* 0 1
NVIDIA GeForce 4 PCX .*NVIDIA .*GeForce ?4 PCX.* 0 1
NVIDIA GeForce 4 Ti .*NVIDIA .*GeForce ?4 Ti.* 0 1
NVIDIA GeForce 6100 .*NVIDIA .*GeForce 61.* 0 1
NVIDIA GeForce 6200 .*NVIDIA.*GeForce 62.* 0 1
NVIDIA GeForce 6500 .*NVIDIA.*GeForce 65.* 0 1
NVIDIA GeForce 6600 .*NVIDIA.*GeForce 66.* 1 1
@@ -363,7 +461,8 @@ NVIDIA GeForce FX Go5500 .*NVIDIA.*GeForce FX Go55.* 0 1
NVIDIA GeForce FX Go5600 .*NVIDIA.*GeForce FX Go56.* 0 1
NVIDIA GeForce FX Go5700 .*NVIDIA.*GeForce FX Go57.* 1 1
NVIDIA GeForce FX Go5800 .*NVIDIA.*GeForce FX Go58.* 1 1
NVIDIA GeForce FX Go5900 .*NVIDIA.*GeForce FX Go59.* 1 1
NVIDIA GeForce FX Go5900 .*NVIDIA .*GeForce FX Go59.* 1 1
NVIDIA GeForce FX Go5xxx .*NVIDIA .*GeForce FX Go.* 0 1
NVIDIA GeForce Go 6100 .*NVIDIA.*GeForce Go 61.* 0 1
NVIDIA GeForce Go 6200 .*NVIDIA.*GeForce Go 62.* 0 1
NVIDIA GeForce Go 6400 .*NVIDIA.*GeForce Go 64.* 1 1
@@ -371,70 +470,102 @@ NVIDIA GeForce Go 6500 .*NVIDIA.*GeForce Go 65.* 1 1
NVIDIA GeForce Go 6600 .*NVIDIA.*GeForce Go 66.* 1 1
NVIDIA GeForce Go 6700 .*NVIDIA.*GeForce Go 67.* 1 1
NVIDIA GeForce Go 6800 .*NVIDIA.*GeForce Go 68.* 1 1
NVIDIA GeForce Go 7200 .*NVIDIA.*GeForce Go 72.* 1 1
NVIDIA GeForce Go 7300 .*NVIDIA.*GeForce Go 73.* 1 1
NVIDIA GeForce Go 7300 LE .*NVIDIA.*GeForce Go 73.*LE.* 0 1
NVIDIA GeForce Go 7400 .*NVIDIA.*GeForce Go 74.* 1 1
NVIDIA GeForce Go 7600 .*NVIDIA.*GeForce Go 76.* 2 1
NVIDIA GeForce Go 7200 .*NVIDIA .*GeForce Go 72.* 1 1
NVIDIA GeForce Go 7300 LE .*NVIDIA .*GeForce Go 73.*LE.* 0 1
NVIDIA GeForce Go 7300 .*NVIDIA .*GeForce Go 73.* 1 1
NVIDIA GeForce Go 7400 .*NVIDIA .*GeForce Go 74.* 1 1
NVIDIA GeForce Go 7600 .*NVIDIA .*GeForce Go 76.* 2 1
NVIDIA GeForce Go 7700 .*NVIDIA.*GeForce Go 77.* 2 1
NVIDIA GeForce Go 7800 .*NVIDIA.*GeForce Go 78.* 2 1
NVIDIA GeForce Go 7900 .*NVIDIA.*GeForce Go 79.* 2 1
NVIDIA D9M .*D9M.* 1 1
NVIDIA G84 .*G84.* 1 1
NVIDIA G92 .*G92.* 3 1
NVIDIA G94 .*G94.* 3 1
NVIDIA GeForce Go 6 .*GeForce Go 6.* 1 1
NVIDIA ION .*NVIDIA ION.* 2 1
NVIDIA ION 2 .*NVIDIA ION 2.* 2 1
NVIDIA NB9M .*GeForce NB9M.* 1 1
NVIDIA NB9P .*GeForce NB9P.* 1 1
NVIDIA GeForce PCX .*GeForce PCX.* 0 1
NVIDIA Generic .*NVIDIA.*Unknown.* 0 0
NVIDIA NV17 .*GeForce NV17.* 0 1
NVIDIA NV34 .*NVIDIA.*NV34.* 0 1
NVIDIA NV35 .*NVIDIA.*NV35.* 0 1
NVIDIA NV36 .*GeForce NV36.* 1 1
NVIDIA NV43 .*NVIDIA.*NV43.* 1 1
NVIDIA NV44 .*NVIDIA.*NV44.* 1 1
NVIDIA nForce .*NVIDIA.*nForce.* 0 0
NVIDIA MCP78 .*NVIDIA.*MCP78.* 1 1
NVIDIA Quadro2 .*Quadro2.* 0 1
NVIDIA Quadro4 .*Quadro4.* 0 1
NVIDIA GeForce Go 7900 .*NVIDIA .*GeForce Go 79.* 2 1
NVIDIA D9M .*NVIDIA .*D9M.* 1 1
NVIDIA G94 .*NVIDIA .*G94.* 3 1
NVIDIA GeForce Go 6 .*GeForce Go 6.* 1 1
NVIDIA ION 2 .*NVIDIA .*ION 2.* 2 1
NVIDIA ION .*NVIDIA .*ION.* 2 1
NVIDIA NB8M .*NVIDIA .*NB8M.* 1 1
NVIDIA NB8P .*NVIDIA .*NB8P.* 2 1
NVIDIA NB9E .*NVIDIA .*NB9E.* 3 1
NVIDIA NB9M .*NVIDIA .*NB9M.* 1 1
NVIDIA NB9P .*NVIDIA .*NB9P.* 2 1
NVIDIA N10 .*NVIDIA .*N10.* 1 1
NVIDIA GeForce PCX .*GeForce PCX.* 0 1
NVIDIA Generic .*NVIDIA .*Unknown.* 0 0
NVIDIA NV17 .*NVIDIA .*NV17.* 0 1
NVIDIA NV34 .*NVIDIA .*NV34.* 0 1
NVIDIA NV35 .*NVIDIA .*NV35.* 0 1
NVIDIA NV36 .*NVIDIA .*NV36.* 1 1
NVIDIA NV41 .*NVIDIA .*NV41.* 1 1
NVIDIA NV43 .*NVIDIA .*NV43.* 1 1
NVIDIA NV44 .*NVIDIA .*NV44.* 1 1
NVIDIA nForce .*NVIDIA .*nForce.* 0 0
NVIDIA MCP51 .*NVIDIA .*MCP51.* 1 1
NVIDIA MCP61 .*NVIDIA .*MCP61.* 1 1
NVIDIA MCP67 .*NVIDIA .*MCP67.* 1 1
NVIDIA MCP68 .*NVIDIA .*MCP68.* 1 1
NVIDIA MCP73 .*NVIDIA .*MCP73.* 1 1
NVIDIA MCP77 .*NVIDIA .*MCP77.* 1 1
NVIDIA MCP78 .*NVIDIA .*MCP78.* 1 1
NVIDIA MCP79 .*NVIDIA .*MCP79.* 1 1
NVIDIA MCP7A .*NVIDIA .*MCP7A.* 1 1
NVIDIA Quadro2 .*Quadro2.* 0 1
NVIDIA Quadro 1000M .*Quadro.*1000M.* 2 1
NVIDIA Quadro 2000 M/D .*Quadro.*2000.* 3 1
NVIDIA Quadro 3000M .*Quadro.*3000M.* 3 1
NVIDIA Quadro 4000M .*Quadro.*4000M.* 3 1
NVIDIA Quadro 4000 .*Quadro *4000.* 3 1
NVIDIA Quadro 50x0 M .*Quadro.*50.0.* 3 1
NVIDIA Quadro 6000 .*Quadro.*6000.* 3 1
NVIDIA Quadro 400 .*Quadro.*400.* 2 1
NVIDIA Quadro 600 .*Quadro.*600.* 2 1
NVIDIA Quadro4 .*Quadro4.* 0 1
NVIDIA Quadro DCC .*Quadro DCC.* 0 1
NVIDIA Quadro FX 1400 .*Quadro.*FX.*1400.* 1 1
NVIDIA Quadro FX 1500 .*Quadro.*FX.*1500.* 1 1
NVIDIA Quadro FX 1700 .*Quadro.*FX.*1700.* 2 1
NVIDIA Quadro FX 1800 .*Quadro.*FX.*1800.* 2 1
NVIDIA Quadro FX 3400 .*Quadro.*FX.*3400.* 1 1
NVIDIA Quadro FX 3450 .*Quadro.*FX.*3450.* 1 1
NVIDIA Quadro FX 3500 .*Quadro.*FX.*3500.* 1 1
NVIDIA Quadro FX 3700 .*Quadro.*FX.*3700.* 2 1
NVIDIA Quadro FX 3800 .*Quadro.*FX.*3800.* 2 1
NVIDIA Quadro FX 370 .*Quadro.*FX.*370.* 2 1
NVIDIA Quadro FX 380 .*Quadro.*FX.*380.* 2 1
NVIDIA Quadro FX 4000 .*Quadro.*FX.*4000.* 1 1
NVIDIA Quadro FX 4500 .*Quadro.*FX.*4500.* 1 1
NVIDIA Quadro FX 4600 .*Quadro.*FX.*4600.* 2 1
NVIDIA Quadro FX 4700 .*Quadro.*FX.*4700.* 2 1
NVIDIA Quadro FX 4800 .*Quadro.*FX.*4800.* 2 1
NVIDIA Quadro FX 470 .*Quadro.*FX.*470.* 2 1
NVIDIA Quadro FX 5500 .*Quadro.*FX.*5500.* 1 1
NVIDIA Quadro FX 5600 .*Quadro.*FX.*5600.* 2 1
NVIDIA Quadro FX 5700 .*Quadro.*FX.*5700.* 2 1
NVIDIA Quadro FX 5800 .*Quadro.*FX.*5800.* 2 1
NVIDIA Quadro FX 540 .*Quadro.*FX.*540.* 1 1
NVIDIA Quadro FX 550 .*Quadro.*FX.*550.* 1 1
NVIDIA Quadro FX 560 .*Quadro.*FX.*560.* 1 1
NVIDIA Quadro FX 570 .*Quadro.*FX.*570.* 2 1
NVIDIA Quadro FX 580 .*Quadro.*FX.*580.* 2 1
NVIDIA Quadro CX .*Quadro.*CX.* 3 1
NVIDIA Quadro FX 770 .*Quadro.*FX *770(M)?.* 2 1
NVIDIA Quadro FX 880 .*Quadro.*FX *880(M)?.* 2 1
NVIDIA Quadro FX 1400 .*Quadro.*FX.*1400(M)?.* 1 1
NVIDIA Quadro FX 1500 .*Quadro.*FX.*1500(M)?.* 1 1
NVIDIA Quadro FX 1600 .*Quadro.*FX *1600(M)?.* 2 1
NVIDIA Quadro FX 1700 .*Quadro.*FX.*1700(M)?.* 2 1
NVIDIA Quadro FX 1800 .*Quadro.*FX.*1800(M)?.* 2 1
NVIDIA Quadro FX 3400 .*Quadro.*FX.*3400(M)?.* 1 1
NVIDIA Quadro FX 3450 .*Quadro.*FX.*3450(M)?.* 1 1
NVIDIA Quadro FX 3500 .*Quadro.*FX.*3500(M)?.* 1 1
NVIDIA Quadro FX 3700 .*Quadro.*FX.*3700(M)?.* 2 1
NVIDIA Quadro FX 3800 .*Quadro.*FX.*3800(M)?.* 2 1
NVIDIA Quadro FX 370 .*Quadro.*FX.*370(M)?.* 2 1
NVIDIA Quadro FX 380 .*Quadro.*FX.*380(M)?.* 2 1
NVIDIA Quadro FX 4000 .*Quadro.*FX.*4000(M)?.* 1 1
NVIDIA Quadro FX 4500 .*Quadro.*FX.*4500(M)?.* 1 1
NVIDIA Quadro FX 4600 .*Quadro.*FX.*4600(M)?.* 2 1
NVIDIA Quadro FX 4700 .*Quadro.*FX.*4700(M)?.* 2 1
NVIDIA Quadro FX 4800 .*Quadro.*FX.*4800(M)?.* 2 1
NVIDIA Quadro FX 470 .*Quadro.*FX.*470(M)?.* 3 1
NVIDIA Quadro FX 5500 .*Quadro.*FX.*5500(M)?.* 1 1
NVIDIA Quadro FX 5600 .*Quadro.*FX.*5600(M)?.* 2 1
NVIDIA Quadro FX 5700 .*Quadro.*FX.*5700(M)?.* 2 1
NVIDIA Quadro FX 5800 .*Quadro.*FX.*5800(M)?.* 2 1
NVIDIA Quadro FX 540 .*Quadro.*FX.*540(M)?.* 3 1
NVIDIA Quadro FX 550 .*Quadro.*FX.*550(M)?.* 3 1
NVIDIA Quadro FX 560 .*Quadro.*FX.*560(M)?.* 3 1
NVIDIA Quadro FX 570 .*Quadro.*FX.*570(M)?.* 3 1
NVIDIA Quadro FX 580 .*Quadro.*FX.*580(M)?.* 3 1
NVIDIA Quadro FX .*Quadro FX.* 1 1
NVIDIA Quadro NVS 1xxM .*Quadro NVS *1.[05]M.* 0 1
NVIDIA Quadro VX 200 .*Quadro VX.*200.* 2 1
NVIDIA Quadro NVS 1xxM .*Quadro NVS *1.[05]M.* 0 1
NVIDIA Quadro NVS 300M .*NVIDIA .*NVS *300M.* 2 1
NVIDIA Quadro NVS 320M .*NVIDIA .*NVS *320M.* 2 1
NVIDIA Quadro NVS 2100M .*NVIDIA .*NVS *2100M.* 2 1
NVIDIA Quadro NVS 3100M .*NVIDIA .*NVS *3100M.* 2 1
NVIDIA Quadro NVS 4200M .*NVIDIA .*NVS *4200M.* 2 1
NVIDIA Quadro NVS 5100M .*NVIDIA .*NVS *5100M.* 2 1
NVIDIA Quadro 2000 .*Quadro.*2000.* 2 1
NVIDIA Quadro 4000 .*Quadro.*4000.* 2 1
NVIDIA Quadro 5000 .*Quadro.*5000.* 2 1
NVIDIA Quadro 6000 .*Quadro.*6000.* 2 1
NVIDIA Quadro 600 .*Quadro.*600.* 2 1
NVIDIA Quadro NVS .*Quadro NVS.* 0 1
NVIDIA Quadro NVS .*(Quadro|NVIDIA) NVS.* 0 1
NVIDIA RIVA TNT .*RIVA TNT.* 0 0
NVIDIA PCI .*NVIDIA.*/PCI/SSE2 0 0
S3 .*S3 Graphics.* 0 0
@@ -446,3 +577,4 @@ VIA VIA.* 0 0
Apple Generic Apple.*Generic.* 0 0
Apple Software Renderer Apple.*Software Renderer.* 0 0
Microsoft RemoteFX Graphics Device - WDDM Microsoft.*RemoteFX.* 0 0
Humper Humper.* 0 1

View File

@@ -945,7 +945,7 @@ void LLAppViewer::initMaxHeapSize()
if(fnIsWow64Process && fnIsWow64Process(GetCurrentProcess(), &bWow64Process) && bWow64Process)
{
max_heap_size_gb = 3.7;
max_heap_size_gb = 3.7f;
}
else if(ERROR_SUCCESS == RegOpenKey(HKEY_LOCAL_MACHINE, TEXT("SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Memory Management"), &hKey))
{
@@ -954,7 +954,7 @@ void LLAppViewer::initMaxHeapSize()
if(ERROR_SUCCESS == RegQueryValueEx(hKey, TEXT("PhysicalAddressExtension"), NULL, NULL, (LPBYTE)&dwResult, &dwSize))
{
if(dwResult)
max_heap_size_gb = 3.7;
max_heap_size_gb = 3.7f;
}
RegCloseKey(hKey);
}

View File

@@ -218,7 +218,7 @@ void LLColorSwatchCtrl::draw()
if ( mValid )
{
// Draw the color swatch
gl_rect_2d_checkerboard( interior );
gl_rect_2d_checkerboard( getScreenRect(), interior );
gl_rect_2d(interior, mColor, TRUE);
LLColor4 opaque_color = mColor;
opaque_color.mV[VALPHA] = 1.f;
@@ -239,7 +239,7 @@ void LLColorSwatchCtrl::draw()
LLPointer<LLViewerFetchedTexture> fallback_image = LLViewerTextureManager::getFetchedTextureFromFile(mFallbackImageName);
if( fallback_image->getComponents() == 4 )
{
gl_rect_2d_checkerboard( interior );
gl_rect_2d_checkerboard( getScreenRect(), interior );
}
gl_draw_scaled_image( interior.mLeft, interior.mBottom, interior.getWidth(), interior.getHeight(), fallback_image);
fallback_image->addTextureStats( (F32)(interior.getWidth() * interior.getHeight()) );

View File

@@ -264,7 +264,7 @@ void LLFloaterImagePreview::draw()
if (selected <= 0)
{
gl_rect_2d_checkerboard(mPreviewRect);
gl_rect_2d_checkerboard( getScreenRect(), mPreviewRect);
LLGLDisable gls_alpha(GL_ALPHA_TEST);
if(mImagep.notNull())

View File

@@ -441,7 +441,7 @@ void LLViewerParcelMgr::renderRect(const LLVector3d &west_south_bottom_global,
{
LLGLSUIDefault gls_ui;
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
LLGLDepthTest gls_depth(GL_TRUE);
LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE);
LLVector3 west_south_bottom_agent = gAgent.getPosAgentFromGlobal(west_south_bottom_global);
F32 west = west_south_bottom_agent.mV[VX];
@@ -698,7 +698,7 @@ void LLViewerParcelMgr::renderHighlightSegments(const U8* segments, LLViewerRegi
LLGLSUIDefault gls_ui;
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
LLGLDepthTest gls_depth(GL_TRUE);
LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE);
gGL.color4f(1.f, 1.f, 0.f, 0.2f);
@@ -977,7 +977,7 @@ void LLViewerObjectList::renderObjectBeacons()
{
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
LLGLDepthTest gls_depth(GL_TRUE);
LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE);
S32 last_line_width = -1;
// gGL.begin(LLRender::LINES); // Always happens in (line_width != last_line_width)

View File

@@ -724,10 +724,10 @@ void LLInvFVBridge::getClipboardEntries(bool show_asset_id,
addDeleteContextMenuOptions(items, disabled_items);
// If multiple items are selected, disable properties (if it exists).
if ((flags & FIRST_SELECTED_ITEM) == 0)
/*if ((flags & FIRST_SELECTED_ITEM) == 0)
{
disabled_items.push_back(std::string("Properties"));
}
}*/
}
void LLInvFVBridge::buildContextMenu(LLMenuGL& menu, U32 flags)

View File

@@ -270,7 +270,7 @@ void LLPreviewTexture::draw()
// ...border
gl_rect_2d( border, LLColor4(0.f, 0.f, 0.f, 1.f));
gl_rect_2d_checkerboard( interior );
gl_rect_2d_checkerboard( getScreenRect(), interior );
if ( mImage.notNull() )
{

View File

@@ -214,6 +214,7 @@
#include "ascentdaycyclemanager.h"
#include "llfloaterblacklist.h"
#include "scriptcounter.h"
#include "shfloatermediaticker.h"
// </edit>
#include "llavatarnamecache.h"
@@ -2053,6 +2054,10 @@ bool idle_startup()
{
LLFloaterAvatarList::createInstance(false);
}
if (gSavedSettings.getBOOL("SHShowMediaTicker"))
{
SHFloaterMediaTicker::showInstance();
}
// </edit>
if (gSavedSettings.getBOOL("ShowCameraControls"))
{
@@ -2073,6 +2078,8 @@ bool idle_startup()
LLFloaterBeacons::showInstance();
}
if (!gNoRender)
{
//Set up cloud rendertypes. Passed argument is unused.

View File

@@ -648,7 +648,7 @@ void LLFloaterTexturePicker::draw()
{
if( mTexturep->getComponents() == 4 )
{
gl_rect_2d_checkerboard( interior );
gl_rect_2d_checkerboard( getScreenRect(), interior );
}
gl_draw_scaled_image( interior.mLeft, interior.mBottom, interior.getWidth(), interior.getHeight(), mTexturep );
@@ -1540,7 +1540,7 @@ void LLTextureCtrl::draw()
{
if( mTexturep->getComponents() == 4 )
{
gl_rect_2d_checkerboard( interior );
gl_rect_2d_checkerboard( getScreenRect(), interior );
}
gl_draw_scaled_image( interior.mLeft, interior.mBottom, interior.getWidth(), interior.getHeight(), mTexturep);

View File

@@ -1225,7 +1225,8 @@ void render_ui(F32 zoom_factor, int subfield, bool tiling)
/// and then display it again with compositor effects.
/// Using render to texture would be faster/better, but I don't have a
/// grasp of their full display stack just yet.
LLPostProcess::getInstance()->apply(gViewerWindow->getWindowDisplayWidth(), gViewerWindow->getWindowDisplayHeight());
if(gPipeline.canUseVertexShaders())
LLPostProcess::getInstance()->apply(gViewerWindow->getWindowDisplayWidth(), gViewerWindow->getWindowDisplayHeight());
render_hud_elements();
render_hud_attachments();

View File

@@ -51,6 +51,7 @@
#include "chatbar_as_cmdline.h"
#if SHY_MOD //Command handler
#include "llvoavatarself.h"
#include "shcommandhandler.h"
#endif //shy_mod
@@ -109,7 +110,6 @@ BOOL LLViewerGesture::trigger(const std::string &trigger_string)
}
}
// private
void LLViewerGesture::doTrigger( BOOL send_chat )
{

View File

@@ -55,7 +55,11 @@ class LLStreamingAudio_MediaPlugins : public LLStreamingAudioInterface
/*virtual*/ void setGain(F32 vol);
/*virtual*/ F32 getGain();
/*virtual*/ std::string getURL();
/*virtual*/ LLSD *getMetaData(){return NULL;} //return NULL if not supported.
/*virtual*/ bool supportsMetaData(){return false;}
/*virtual*/ LLSD *getMetaData(){return NULL;} //return NULL if not playing.
/*virtual*/ virtual bool supportsWaveData(){return false;}
/*virtual*/ virtual bool getWaveData(float* arr, S32 count, S32 stride = 1){return false;}
private:
LLPluginClassMedia* initializeMedia(const std::string& media_type);

View File

@@ -247,6 +247,7 @@
#include "llfloatermessagelog.h"
#include "llfloatervfs.h"
#include "llfloatervfsexplorer.h"
#include "shfloatermediaticker.h"
// </edit>
#include "scriptcounter.h"
@@ -825,6 +826,8 @@ void init_menus()
&handle_sounds_explorer, NULL));
menu->append(new LLMenuItemCallGL( "Asset Blacklist",
&handle_blacklist, NULL));
menu->append(new LLMenuItemCheckGL( "Streaming Audio Display",
&handle_ticker_toggle, &handle_ticker_enabled, &handle_ticker_check, NULL ));

View File

@@ -872,7 +872,7 @@ S32 LLViewerParcelOverlay::renderPropertyLines ()
LLGLSUIDefault gls_ui; // called from pipeline
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
LLGLDepthTest mDepthTest(GL_TRUE);
LLGLDepthTest mDepthTest(GL_TRUE, GL_FALSE);
// Find camera height off the ground (not from zero)
F32 ground_height_at_camera = land.resolveHeightGlobal( gAgentCamera.getCameraPositionGlobal() );

View File

@@ -166,6 +166,16 @@ void LLViewerTextureList::doPreloadImages()
image->setAddressMode(LLTexUnit::TAM_WRAP);
mImagePreloads.insert(image);
}
//Hideous hack to set filtering and address modes without messing with our texture classes.
{
LLPointer<LLUIImage> temp_image = image_list->getUIImage("checkerboard.tga",LLViewerFetchedTexture::BOOST_UI);
if(temp_image.notNull() && temp_image->getImage().notNull())
{
LLViewerTexture *tex = (LLViewerTexture*)temp_image->getImage().get();
tex->setAddressMode(LLTexUnit::TAM_WRAP);
tex->setFilteringOption(LLTexUnit::TFO_POINT);
}
}
}

View File

@@ -178,7 +178,7 @@ LLViewerRegion* LLWorld::addRegion(const U64 &region_handle, const LLHost &host,
U32 iindex = 0;
U32 jindex = 0;
mWidth = region_size_x; //MegaRegion
mWidth = region_size_x; //MegaRegion
mWidthInMeters = mWidth * mScale; //MegaRegion
from_region_handle(region_handle, &iindex, &jindex);
S32 x = (S32)(iindex/256); //MegaRegion
@@ -1266,16 +1266,16 @@ void process_enable_simulator(LLMessageSystem *msg, void **user_data)
// which simulator should we modify?
LLHost sim(ip_u32, port);
U32 region_size_x = 256;
msg->getU32Fast(_PREHASH_SimulatorInfo, _PREHASH_RegionSizeX, region_size_x);
U32 region_size_y = 256;
msg->getU32Fast(_PREHASH_SimulatorInfo, _PREHASH_RegionSizeY, region_size_y);
if (region_size_y == 0 || region_size_x == 0)
{
region_size_x = 256;
region_size_y = 256;
U32 region_size_x = 256;
msg->getU32Fast(_PREHASH_SimulatorInfo, _PREHASH_RegionSizeX, region_size_x);
U32 region_size_y = 256;
msg->getU32Fast(_PREHASH_SimulatorInfo, _PREHASH_RegionSizeY, region_size_y);
if (region_size_y == 0 || region_size_x == 0)
{
region_size_x = 256;
region_size_y = 256;
}
// Viewer trusts the simulator.

View File

@@ -3263,7 +3263,7 @@ void render_hud_elements()
{
LLFastTimer t(LLFastTimer::FTM_RENDER_UI);
gPipeline.disableLights();
LLGLDisable fog(GL_FOG);
LLGLSUIDefault gls_ui;
@@ -3280,22 +3280,25 @@ void render_hud_elements()
}
LLGLDepthTest depth(GL_TRUE, GL_FALSE);
if (!LLPipeline::sReflectionRender && gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI))
if (gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI))
{
static const LLCachedControl<U32> RenderFSAASamples("RenderFSAASamples",0);
LLGLEnable multisample(RenderFSAASamples > 0 ? GL_MULTISAMPLE_ARB : 0);
gViewerWindow->renderSelections(FALSE, FALSE, FALSE); // For HUD version in render_ui_3d()
if(!LLPipeline::sReflectionRender)
{
static const LLCachedControl<U32> RenderFSAASamples("RenderFSAASamples",0);
LLGLEnable multisample(RenderFSAASamples > 0 ? GL_MULTISAMPLE_ARB : 0);
gViewerWindow->renderSelections(FALSE, FALSE, FALSE); // For HUD version in render_ui_3d()
// Draw the tracking overlays
LLTracker::render3D();
// Draw the tracking overlays
LLTracker::render3D();
// Show the property lines
LLWorld::getInstance()->renderPropertyLines();
LLViewerParcelMgr::getInstance()->render();
LLViewerParcelMgr::getInstance()->renderParcelCollision();
// Show the property lines
LLWorld::getInstance()->renderPropertyLines();
LLViewerParcelMgr::getInstance()->render();
LLViewerParcelMgr::getInstance()->renderParcelCollision();
// Render name tags.
LLHUDObject::renderAll();
// Render name tags.
LLHUDObject::renderAll();
}
}
else if (gForceRenderLandFence)
{

View File

@@ -0,0 +1,274 @@
#include "llviewerprecompiledheaders.h"
#include "shfloatermediaticker.h"
// Library includes
#include "llaudioengine.h"
#include "lliconctrl.h"
#include "llstreamingaudio.h"
#include "lluictrlfactory.h"
// Viewer includes
#include "llviewercontrol.h"
SHFloaterMediaTicker::SHFloaterMediaTicker() : LLFloater()/*, LLSingleton<SHFloaterMediaTicker>()*/,
mPlayState(STATE_PLAYING),
mArtistScrollChars(0),
mTitleScrollChars(0),
mCurScrollChar(0),
mTickerBackground(NULL),
mArtistText(NULL),
mTitleText(NULL),
mVisualizer(NULL)
{
setIsChrome(TRUE);
if(gAudiop->getStreamingAudioImpl()->supportsWaveData())
LLUICtrlFactory::getInstance()->buildFloater(this, "sh_floater_media_ticker_visualizer.xml");
else
LLUICtrlFactory::getInstance()->buildFloater(this, "sh_floater_media_ticker.xml");
}
/*virtual*/ BOOL SHFloaterMediaTicker::postBuild()
{
mTickerBackground = getChild<LLIconCtrl>("ticker_background");
mArtistText = getChild<LLTextBox>("artist_text",true,false);
mTitleText = getChild<LLTextBox>("title_text",true,false);
mVisualizer = getChild<LLUICtrl>("visualizer_box",true,false);
mszLoading = getString("loading");
mszPaused = getString("paused");
mOscillatorColor = gColors.getColor("SHMediaTickerOscillatorColor");
setPaused(true);
return LLFloater::postBuild();
}
/*virtual*/ void SHFloaterMediaTicker::draw()
{
updateTickerText();
LLFloater::draw();
drawOscilloscope();
}
/*virtual*/ void SHFloaterMediaTicker::onOpen()
{
LLFloater::onOpen();
gSavedSettings.setBOOL("SHShowMediaTicker", TRUE);
}
/*virtual*/ void SHFloaterMediaTicker::onClose(bool app_quitting)
{
LLFloater::onClose(app_quitting);
if (!app_quitting)
{
gSavedSettings.setBOOL("SHShowMediaTicker", FALSE);
delete this;
}
}
/*virtual*/void SHFloaterMediaTicker::reshape(S32 width, S32 height, BOOL called_from_parent/*=TRUE*/)
{
//disable height change.
bool width_changed = (getRect().getWidth() != width);
LLFloater::reshape(width,getRect().getHeight(), called_from_parent);
if(width_changed)
{
if(mTitleText)
mTitleScrollChars = countExtraChars(mTitleText,mszTitle);
if(mArtistText)
mArtistScrollChars = countExtraChars(mArtistText,mszArtist);
resetTicker();
}
}
void SHFloaterMediaTicker::updateTickerText() //called via draw.
{
bool stream_paused = gAudiop->getStreamingAudioImpl()->isPlaying() != 1; //will return 1 if playing.
bool dirty = setPaused(stream_paused);
if(!stream_paused)
{
if(dirty || mUpdateTimer.getElapsedTimeF64() >= .5f)
{
mUpdateTimer.reset();
const LLSD* metadata = gAudiop->getStreamingAudioImpl()->getMetaData();
LLSD artist = metadata ? metadata->get("ARTIST") : LLSD();
LLSD title = metadata ? metadata->get("TITLE") : LLSD();
dirty |= setArtist(artist.isDefined() ? artist.asString() : mszLoading);
dirty |= setTitle(title.isDefined() ? title.asString() : mszLoading);
if(artist.isDefined() && title.isDefined())
mLoadTimer.stop();
else if(dirty)
mLoadTimer.reset();
else if(mLoadTimer.getStarted() && mLoadTimer.getElapsedTimeF64() > 10.f) //It has been 10 seconds.. give up.
{
if(!artist.isDefined())
dirty |= setArtist("");
if(!title.isDefined())
dirty |= setTitle("");
mLoadTimer.stop();
}
}
}
if(dirty)
resetTicker();
else
iterateTickerOffset();
}
void SHFloaterMediaTicker::drawOscilloscope() //called via draw.
{
if(!mVisualizer || !gAudiop->getStreamingAudioImpl()->supportsWaveData())
return;
static const S32 NUM_LINE_STRIPS = 64; //How many lines to draw. 64 is more than enough.
static const S32 WAVE_DATA_STEP_SIZE = 4; //Increase to provide more history at expense of cpu/memory.
static const S32 NUM_WAVE_DATA_VALUES = NUM_LINE_STRIPS*WAVE_DATA_STEP_SIZE; //Actual buffer size. Don't toy with this. Change above vars to tweak.
static F32 buf[NUM_WAVE_DATA_VALUES];
LLRect root_rect = mVisualizer->getRect();
F32 height = root_rect.getHeight();
F32 height_scale = height / 2.f; //WaveData ranges from 1 to -1, so height_scale = height / 2
F32 width = root_rect.getWidth();
F32 width_scale = width / (F32)NUM_WAVE_DATA_VALUES;
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
gGL.color4fv(mOscillatorColor.mV);
gGL.pushMatrix();
gGL.translatef((F32)root_rect.mLeft, (F32)root_rect.mBottom + height*.5f, 0.f);
gGL.begin( LLRender::LINE_STRIP );
if(mPlayState == STATE_PAUSED || !gAudiop->getStreamingAudioImpl()->getWaveData(&buf[0],NUM_WAVE_DATA_VALUES,WAVE_DATA_STEP_SIZE))
{
gGL.vertex2i(0,0);
gGL.vertex2i((S32)width,0);
}
else
for(S32 i = NUM_WAVE_DATA_VALUES-1; i>=0;i-=WAVE_DATA_STEP_SIZE)
gGL.vertex2f((F32)i * width_scale, buf[i]*height_scale);
gGL.end();
gGL.popMatrix();
gGL.flush();
}
bool SHFloaterMediaTicker::setPaused(bool pause)
{
if(pause == (mPlayState == STATE_PAUSED))
return false;
mPlayState = pause ? STATE_PAUSED : STATE_PLAYING;
if(pause)
{
setArtist(mszPaused);
setTitle(mszPaused);
}
return true;
}
void SHFloaterMediaTicker::resetTicker()
{
mScrollTimer.reset();
mCurScrollChar=0;
if(mArtistText) mArtistText->setText(LLStringExplicit(mszArtist.substr(0,mszArtist.length()-mArtistScrollChars)));
if(mTitleText) mTitleText->setText(LLStringExplicit(mszTitle.substr(0,mszTitle.length()-mTitleScrollChars)));
}
bool SHFloaterMediaTicker::setArtist(const std::string &artist)
{
if(!mArtistText || mszArtist == artist)
return false;
mszArtist = artist;
mArtistText->setText(mszArtist);
mArtistScrollChars = countExtraChars(mArtistText,mszArtist);
return true;
}
bool SHFloaterMediaTicker::setTitle(const std::string &title)
{
if(!mTitleText || mszTitle == title)
return false;
mszTitle=title;
mTitleText->setText(mszTitle);
mTitleScrollChars = countExtraChars(mTitleText,mszTitle);
return true;
}
S32 SHFloaterMediaTicker::countExtraChars(LLTextBox *texbox, const std::string &text)
{
S32 text_width = texbox->getTextPixelWidth();
S32 box_width = texbox->getRect().getWidth();
if(text_width > box_width)
{
const LLFontGL* font = texbox->getFont();
for(S32 count = 1;count<(S32)text.length();count++)
{
//This isn't very efficient...
const std::string substr = text.substr(0,text.length()-count);
if(font->getWidth(substr) <= box_width)
return count;
}
}
return 0;
}
void SHFloaterMediaTicker::iterateTickerOffset()
{
if( (mPlayState != STATE_PAUSED) &&
(mArtistScrollChars || mTitleScrollChars) &&
((!mCurScrollChar && mScrollTimer.getElapsedTimeF32() >= 5.f) ||
( mCurScrollChar && mScrollTimer.getElapsedTimeF32() >= .5f)))
{
if(++mCurScrollChar > llmax(mArtistScrollChars, mTitleScrollChars))
{
if(mScrollTimer.getElapsedTimeF32() >= 2.f) //pause for a bit when it reaches beyond last character.
resetTicker();
}
else
{
mScrollTimer.reset();
if(mArtistText && mCurScrollChar <= mArtistScrollChars)
{
mArtistText->setText(LLStringExplicit(mszArtist.substr(mCurScrollChar,mszArtist.length()-mArtistScrollChars+mCurScrollChar)));
}
if(mTitleText && mCurScrollChar <= mTitleScrollChars)
{
mTitleText->setText(LLStringExplicit(mszTitle.substr(mCurScrollChar,mszTitle.length()-mTitleScrollChars+mCurScrollChar)));
}
}
}
}
/*static*/
void SHFloaterMediaTicker::showInstance()
{
if(!handle_ticker_enabled(NULL))
return;
if(!SHFloaterMediaTicker::instanceExists())
{
SHFloaterMediaTicker::getInstance();
}
}
BOOL handle_ticker_enabled(void *)
{
return gAudiop && gAudiop->getStreamingAudioImpl() && gAudiop->getStreamingAudioImpl()->supportsMetaData();
}
BOOL handle_ticker_check(void *)
{
return SHFloaterMediaTicker::instanceExists();
}
void handle_ticker_toggle(void *)
{
if(!handle_ticker_enabled(NULL))
return;
if(!SHFloaterMediaTicker::instanceExists())
{
SHFloaterMediaTicker::getInstance();
}
else
{
SHFloaterMediaTicker::getInstance()->close();
}
}

View File

@@ -0,0 +1,59 @@
#include "llfloater.h"
class LLIconCtrl;
class SHFloaterMediaTicker : public LLFloater, public LLSingleton<SHFloaterMediaTicker>
{
friend class LLSingleton<SHFloaterMediaTicker>;
public:
SHFloaterMediaTicker(); //ctor
virtual ~SHFloaterMediaTicker() {}
/*virtual*/ BOOL postBuild();
/*virtual*/ void draw();
/*virtual*/ void onOpen();
/*virtual*/ void onClose(bool app_quitting);
/*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);
static void showInstance(); //use to create.
private:
void updateTickerText(); //called via draw.
void drawOscilloscope(); //called via draw.
bool setPaused(bool pause); //returns true on state change.
void resetTicker(); //Resets tickers to their innitial values (no offset).
bool setArtist(const std::string &artist); //returns true on change
bool setTitle(const std::string &title); //returns true on change
S32 countExtraChars(LLTextBox *texbox, const std::string &text); //calculates how many characters are truncated by bounds.
void iterateTickerOffset(); //Logic that actually shuffles the text to the left.
enum ePlayState
{
STATE_PAUSED,
STATE_PLAYING
};
ePlayState mPlayState;
std::string mszLoading;
std::string mszPaused;
std::string mszArtist;
std::string mszTitle;
LLTimer mScrollTimer;
LLTimer mLoadTimer;
LLTimer mUpdateTimer;
S32 mArtistScrollChars;
S32 mTitleScrollChars;
S32 mCurScrollChar;
LLColor4 mOscillatorColor;
//UI elements
LLIconCtrl* mTickerBackground;
LLTextBox* mArtistText;
LLTextBox* mTitleText;
LLUICtrl* mVisualizer;
};
//Menu callbacks.
BOOL handle_ticker_enabled(void *);
BOOL handle_ticker_check(void *);
void handle_ticker_toggle(void *);

View File

@@ -183,6 +183,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 165, 90, 255"/> <!-- "loading..." in the inv -->
<InventoryBackgroundColor value="62, 62, 62, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<ComboBoxBg value="255, 255, 255, 255"/>
<AvatarListTextDistNormalRange value="0, 0, 0, 255"/>
<AvatarListTextDistShoutRange value="0, 0, 0, 128"/>

View File

@@ -184,6 +184,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 165, 90, 255"/> <!-- "loading..." in the inv -->
<InventoryBackgroundColor value="62, 62, 62, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<ComboBoxBg value="255, 255, 255, 255"/>
<AvatarListTextDistNormalRange value="0, 0, 0, 255"/>
<AvatarListTextDistShoutRange value="0, 0, 0, 128"/>

View File

@@ -181,6 +181,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 165, 90, 255"/>
<InventoryBackgroundColor value="62, 62, 62, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<ComboBoxBg value="255, 255, 255, 255"/>
<AvatarListTextDistNormalRange value="0, 0, 0, 255"/>
<AvatarListTextDistShoutRange value="0, 0, 0, 128"/>

View File

@@ -181,6 +181,7 @@
<ConsoleBackground value="10, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 5, 0, 255"/>
<InventoryBackgroundColor value="0, 0, 0, 180"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<ComboBoxBg value="255, 255, 255, 255"/>
<AvatarListTextDistNormalRange value="0, 0, 0, 255"/>
<AvatarListTextDistShoutRange value="0, 0, 0, 128"/>

View File

@@ -184,6 +184,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 165, 90, 255"/> <!-- "loading..." in the inv -->
<InventoryBackgroundColor value="62, 62, 62, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<ComboBoxBg value="255, 255, 255, 255"/>
<AvatarListTextDistNormalRange value="0, 0, 0, 255"/>
<AvatarListTextDistShoutRange value="0, 0, 0, 128"/>

View File

@@ -195,6 +195,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 165, 90, 255"/> <!-- "loading..." in the inv -->
<InventoryBackgroundColor value="62, 62, 62, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<!-- Alert box colors -->
<AlertBoxColor value="62, 62, 62, 255" /> <!-- Warnings floaters, like when returning objects -->

Binary file not shown.

After

Width:  |  Height:  |  Size: 812 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater can_close="true" can_drag_on_left="false" can_minimize="false" can_resize="true"
height="33" min_height="33" min_width="256" name="mediaticker" rect_control="SHMediaTickerRect" control_name="SHShowMediaTicker"
title="" width="256">
<icon bottom="-32" color="1, 1, 1, 1" follows="top|left|right" height="31"
image_name="ticker_background_small.tga" left="2" mouse_opaque="false" name="ticker_background"
width="234" />
<icon bottom="-17" color="0, 0, 0, .2" follows="top|left|right" height="1"
image_name="white.tga" left="2" mouse_opaque="false" name="ticker_background"
width="234" />
<text text_color="0,0,0,1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-17" drop_shadow_visible="true" follows="top|left"
font="SansSerifBold" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="artist_label" v_pad="0" width="50">
Artist:
</text>
<text text_color="0,0,0,1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-17" drop_shadow_visible="true" follows="top|left|right"
font="SansSerifBold" h_pad="0" halign="left" height="16" left="50"
mouse_opaque="true" name="artist_text" v_pad="0" width="185">
</text>
<text text_color="0,0,0,1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-32" drop_shadow_visible="true" follows="top|left"
font="SansSerifBold" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="title_label" v_pad="0" width="50">
Title:
</text>
<text text_color="0,0,0,1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-32" drop_shadow_visible="true" follows="top|left|right"
font="SansSerifBold" h_pad="0" halign="left" height="16" left="50"
mouse_opaque="true" name="title_text" v_pad="0" width="185">
</text>
<string name="paused">
(not playing)
</string>
<string name="loading">
(loading...)
</string>
</floater>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater can_close="true" can_drag_on_left="false" can_minimize="false" can_resize="true"
height="33" min_height="33" min_width="256" name="mediaticker" rect_control="SHMediaTickerRect" control_name="SHShowMediaTicker"
title="" width="256">
<icon bottom="-32" color="1, 1, 1, 1" follows="top|left|right" height="31"
image_name="ticker_background_small.tga" left="2" mouse_opaque="false" name="ticker_background"
width="234" />
<icon bottom="-17" color="0, 0, 0, .2" follows="top|left|right" height="1"
image_name="white.tga" left="2" mouse_opaque="false" name="ticker_background"
width="175" />
<locate bottom="-32" height="31" left="177" name="visualizer_box" width="60" follows="top|right" use_bounding_rect="true"/>
<icon bottom="-33" color="0, 0, 0, .2" follows="top|right" height="33"
image_name="ticker_visualizer_grid.tga" left="177" mouse_opaque="false" name="visualizer_grid"
width="60" />
<text text_color="0,0,0,1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-17" drop_shadow_visible="true" follows="top|left"
font="SansSerifBold" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="artist_label" v_pad="0" width="50">
Artist:
</text>
<text text_color="0,0,0,1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-17" drop_shadow_visible="true" follows="top|left|right"
font="SansSerifBold" h_pad="0" halign="left" height="16" left="50"
mouse_opaque="true" name="artist_text" v_pad="0" width="125">
</text>
<text text_color="0,0,0,1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-32" drop_shadow_visible="true" follows="top|left"
font="SansSerifBold" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="title_label" v_pad="0" width="50">
Title:
</text>
<text text_color="0,0,0,1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-32" drop_shadow_visible="true" follows="top|left|right"
font="SansSerifBold" h_pad="0" halign="left" height="16" left="50"
mouse_opaque="true" name="title_text" v_pad="0" width="125">
</text>
<string name="paused">
(not playing)
</string>
<string name="loading">
(loading...)
</string>
</floater>

View File

@@ -182,6 +182,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 165, 90, 255"/> <!-- "loading..." in the inv -->
<InventoryBackgroundColor value="0, 0, 0, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<ComboBoxBg value="255, 255, 255, 255"/>
<AvatarListTextDistNormalRange value="0, 0, 0, 255"/>
<AvatarListTextDistShoutRange value="0, 0, 0, 128"/>

View File

@@ -184,6 +184,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="255, 255, 255, 128"/> <!-- "loading..." in the inv -->
<InventoryBackgroundColor value="11, 11, 11, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<DefaultListText value="255, 255, 255, 255"/> <!-- We are replacing all the hardcoded black text with this color so we can make skins with white text on dark background -->
<ComboBoxBg value="11, 11, 11, 255"/>
<AvatarListTextDistNormalRange value="255, 255, 255, 255"/>

View File

@@ -181,6 +181,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 5, 0, 255"/>
<InventoryBackgroundColor value="0, 0, 0, 180"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<ComboBoxBg value="255, 255, 255, 255"/>
<AvatarListTextDistNormalRange value="0, 0, 0, 255"/>
<AvatarListTextDistShoutRange value="0, 0, 0, 128"/>

View File

@@ -183,6 +183,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 165, 90, 255"/> <!-- "loading..." in the inv -->
<InventoryBackgroundColor value="62, 62, 62, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<!-- Alert box colors -->
<AlertBoxColor value="62, 62, 62, 255" /> <!-- Warnings floaters, like when returning objects -->

View File

@@ -183,6 +183,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 165, 90, 255"/> <!-- "loading..." in the inv -->
<InventoryBackgroundColor value="62, 62, 62, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<!-- Alert box colors -->
<AlertBoxColor value="62, 62, 62, 255" /> <!-- Warnings floaters, like when returning objects -->

View File

@@ -171,6 +171,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 165, 90, 255"/> <!-- "loading..." in the inv -->
<InventoryBackgroundColor value="62, 62, 62, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<!-- Alert box colors -->
<AlertBoxColor value="62, 62, 62, 255" /> <!-- Warnings floaters, like when returning objects -->

View File

@@ -171,6 +171,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 165, 90, 255"/> <!-- "loading..." in the inv -->
<InventoryBackgroundColor value="62, 62, 62, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<!-- Alert box colors -->
<AlertBoxColor value="62, 62, 62, 255" /> <!-- Warnings floaters, like when returning objects -->

View File

@@ -181,6 +181,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 165, 90, 255"/>
<InventoryBackgroundColor value="62, 62, 62, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<ComboBoxBg value="255, 255, 255, 255"/>
<AvatarListTextDistNormalRange value="0, 0, 0, 255"/>
<AvatarListTextDistShoutRange value="0, 0, 0, 128"/>

View File

@@ -181,6 +181,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 165, 90, 255"/>
<InventoryBackgroundColor value="62, 62, 62, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<ComboBoxBg value="255, 255, 255, 255"/>
<AvatarListTextDistNormalRange value="0, 0, 0, 255"/>
<AvatarListTextDistShoutRange value="0, 0, 0, 128"/>

View File

@@ -181,6 +181,7 @@
<ConsoleBackground value="10, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 5, 0, 255"/>
<InventoryBackgroundColor value="0, 0, 0, 180"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<ComboBoxBg value="255, 255, 255, 255"/>
<AvatarListTextDistNormalRange value="0, 0, 0, 255"/>
<AvatarListTextDistShoutRange value="0, 0, 0, 128"/>

View File

@@ -187,6 +187,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 165, 90, 255"/>
<InventoryBackgroundColor value="62, 62, 62, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<DefaultListText value="0, 0, 0, 255"/> <!-- We are replacing all the hardcoded black text with this color so we can make skins with white text on dark background -->
<ComboBoxBg value="255, 255, 255, 255"/>
<AvatarListTextDistNormalRange value="0, 0, 0, 255"/>

View File

@@ -193,6 +193,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 165, 90, 255"/>
<InventoryBackgroundColor value="255, 255, 255, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<ComboBoxBg value="255, 255, 255, 255"/>
<!-- Alert box colors -->

View File

@@ -182,6 +182,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="0, 0, 0, 255"/>
<InventoryBackgroundColor value="255, 255, 255, 255"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<ComboBoxBg value="255, 255, 255, 255"/>
<AvatarListTextDistNormalRange value="0, 0, 0, 255"/>
<AvatarListTextDistShoutRange value="0, 0, 0, 128"/>

View File

@@ -186,6 +186,7 @@
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="240, 165, 90, 255"/> <!-- "loading..." in the inv -->
<InventoryBackgroundColor value="62, 62, 62, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<!-- Alert box colors -->
<AlertBoxColor value="62, 62, 62, 255" /> <!-- Warnings floaters, like when returning objects -->