From 4f0aa75a000fef55a2ab6780ed436fa396d55a5c Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sun, 4 Apr 2004 00:54:22 +0000 Subject: [PATCH] cleanup don't create a max size (usually 2048x2048) texture; fixes major speed issues when movie textures fail to load --- .../arch/MovieTexture/MovieTexture_Null.cpp | 38 +++++-------------- 1 file changed, 9 insertions(+), 29 deletions(-) diff --git a/stepmania/src/arch/MovieTexture/MovieTexture_Null.cpp b/stepmania/src/arch/MovieTexture/MovieTexture_Null.cpp index 51c2a1dd21..cfbd5ea0c6 100644 --- a/stepmania/src/arch/MovieTexture/MovieTexture_Null.cpp +++ b/stepmania/src/arch/MovieTexture/MovieTexture_Null.cpp @@ -16,14 +16,15 @@ #include "MovieTexture_Null.h" #include "SDL_utils.h" -MovieTexture_Null::MovieTexture_Null(RageTextureID ID) : RageMovieTexture(ID) { +MovieTexture_Null::MovieTexture_Null(RageTextureID ID) : RageMovieTexture(ID) +{ LOG->Trace("MovieTexture_Null::MovieTexture_Null(ID)"); texHandle = 0; RageTextureID actualID = GetID(); actualID.iAlphaBits = 0; - long size = actualID.iMaxSize = min(actualID.iMaxSize, DISPLAY->GetMaxTextureSize()); + int size = 64; m_iSourceWidth = size; m_iSourceHeight = size; m_iImageWidth = size; @@ -35,39 +36,18 @@ MovieTexture_Null::MovieTexture_Null(RageTextureID ID) : RageMovieTexture(ID) { CreateFrameRects(); - RageDisplay::PixelFormat pixfmt; + RageDisplay::PixelFormat pixfmt = RageDisplay::FMT_RGBA4; - switch( TEXTUREMAN->GetMovieColorDepth() ){ - default: - ASSERT(0); - case 16: - if( DISPLAY->SupportsTextureFormat(RageDisplay::FMT_RGB5) ) - pixfmt = RageDisplay::FMT_RGB5; - else - pixfmt = RageDisplay::FMT_RGBA4; // everything supports RGBA4 - break; - case 32: - if( DISPLAY->SupportsTextureFormat(RageDisplay::FMT_RGB8) ) - pixfmt = RageDisplay::FMT_RGB8; - else if( DISPLAY->SupportsTextureFormat(RageDisplay::FMT_RGBA8) ) - pixfmt = RageDisplay::FMT_RGBA8; - else if( DISPLAY->SupportsTextureFormat(RageDisplay::FMT_RGB5) ) - pixfmt = RageDisplay::FMT_RGB5; - else - pixfmt = RageDisplay::FMT_RGBA4; // everything supports RGBA4 - break; - } - - const RageDisplay::PixelFormatDesc *pfd = DISPLAY->GetPixelFormatDesc(pixfmt); + const RageDisplay::PixelFormatDesc *pfd = DISPLAY->GetPixelFormatDesc( pixfmt ); SDL_Surface *img = SDL_CreateRGBSurfaceSane(SDL_SWSURFACE, size, size, pfd->bpp, pfd->masks[0], pfd->masks[1], pfd->masks[2], pfd->masks[3]); - texHandle = DISPLAY->CreateTexture(pixfmt, img, false); + texHandle = DISPLAY->CreateTexture( pixfmt, img, false ); - //DISPLAY->UpdateTexture(texHandle, img, 0, 0, size, size); SDL_FreeSurface(img); } -MovieTexture_Null::~MovieTexture_Null() { - DISPLAY->DeleteTexture(texHandle); +MovieTexture_Null::~MovieTexture_Null() +{ + DISPLAY->DeleteTexture( texHandle ); }