@@ -1818,19 +1818,21 @@ Finds or loads the given image.
18181818Returns nullptr if it fails, not a default image.
18191819==============
18201820*/
1821- image_t *R_FindImageFile ( const char *imageName , imageParams_t &imageParams )
1821+ image_t *R_FindImageFile ( const char *imageName0 , imageParams_t &imageParams )
18221822{
1823- if ( !imageName )
1823+ if ( !imageName0 )
18241824 {
18251825 return nullptr ;
18261826 }
18271827
1828- unsigned hash = GenerateImageHashValue ( imageName );
1828+ std::string imageName = FS::Path::NormalizeSlashes ( imageName0 );
1829+
1830+ unsigned hash = GenerateImageHashValue ( imageName.c_str () );
18291831
18301832 // See if the image is already loaded.
18311833 for ( image_t *image = r_imageHashTable[ hash ]; image; image = image->next )
18321834 {
1833- if ( ! Q_strnicmp ( imageName, image->name , sizeof ( image-> name ) ) )
1835+ if ( Str::IsIEqual ( imageName, image->name ) )
18341836 {
18351837 if ( imageParams == image->initialParams || r_allowImageParamMismatch.Get () )
18361838 {
@@ -1889,7 +1891,7 @@ image_t *R_FindImageFile( const char *imageName, imageParams_t &imageParams )
18891891 byte *pic[ MAX_TEXTURE_MIPS * MAX_TEXTURE_LAYERS ];
18901892 pic[ 0 ] = nullptr ;
18911893
1892- R_LoadImage ( imageName, pic, &width, &height, &numLayers, &numMips, &imageParams.bits );
1894+ R_LoadImage ( imageName. c_str () , pic, &width, &height, &numLayers, &numMips, &imageParams.bits );
18931895
18941896 if ( *pic )
18951897 {
@@ -1909,7 +1911,7 @@ image_t *R_FindImageFile( const char *imageName, imageParams_t &imageParams )
19091911 R_ProcessLightmap ( *pic, width, height, imageParams.bits );
19101912 }
19111913
1912- image_t *image = R_CreateImage ( imageName, (const byte **)pic, width, height, numMips, imageParams );
1914+ image_t *image = R_CreateImage ( imageName. c_str () , (const byte**)pic, width, height, numMips, imageParams);
19131915 image->initialParams = initialParams;
19141916
19151917 Z_Free ( *pic );
0 commit comments