diff --git a/src/osgPlugins/flt/TexturePaletteRecord.cpp b/src/osgPlugins/flt/TexturePaletteRecord.cpp index 174476d12..566b2e4e2 100644 --- a/src/osgPlugins/flt/TexturePaletteRecord.cpp +++ b/src/osgPlugins/flt/TexturePaletteRecord.cpp @@ -28,9 +28,23 @@ TexturePaletteRecord::~TexturePaletteRecord() // virtual void TexturePaletteRecord::endian() { - STexturePalette *pSTexture = (STexturePalette*)getData(); - ENDIAN( pSTexture->diIndex ); - ENDIAN( pSTexture->diX ); - ENDIAN( pSTexture->diY ); + int flightVersion = getFlightVersion(); + + if (flightVersion > 13) + { + STexturePalette *pSTexture = (STexturePalette*)getData(); + + ENDIAN( pSTexture->diIndex ); + ENDIAN( pSTexture->diX ); + ENDIAN( pSTexture->diY ); + } + else // version 11, 12 & 13 + { + SOldTexturePalette *pSOldTexture = (SOldTexturePalette*)getData(); + + ENDIAN( pSOldTexture->diIndex ); + ENDIAN( pSOldTexture->diX ); + ENDIAN( pSOldTexture->diY ); + } }