Don't free replaced textures that are used as patches.
- Fixed: If a part of a multipatch texture is replaced by a HIRESTEX version, the original patch must not be deleted, since the multipatch texture still needs it for compositing.
This commit is contained in:
parent
5a5fb9b3d1
commit
1d4f4b25d7
4 changed files with 7 additions and 4 deletions
|
|
@ -244,7 +244,6 @@ FMultiPatchTexture::FMultiPatchTexture (const void *texdef, FPatchLookup *patchl
|
|||
Height = SAFESHORT(mtexture.d->height);
|
||||
strncpy (Name, (const char *)mtexture.d->name, 8);
|
||||
Name[8] = 0;
|
||||
|
||||
CalcBitSize ();
|
||||
|
||||
xScale = mtexture.d->ScaleX ? mtexture.d->ScaleX*(FRACUNIT/8) : FRACUNIT;
|
||||
|
|
@ -280,6 +279,10 @@ FMultiPatchTexture::FMultiPatchTexture (const void *texdef, FPatchLookup *patchl
|
|||
NumParts--;
|
||||
i--;
|
||||
}
|
||||
else
|
||||
{
|
||||
Parts[i].Texture->bKeepAround = true;
|
||||
}
|
||||
if (strife)
|
||||
mpatch.s++;
|
||||
else
|
||||
|
|
@ -859,7 +862,6 @@ void FTextureManager::AddTexturesLump (const void *lumpdata, int lumpsize, int d
|
|||
{
|
||||
pnames.Read (patchlookup[i].Name, 8);
|
||||
patchlookup[i].Name[8] = 0;
|
||||
|
||||
FTextureID j = CheckForTexture (patchlookup[i].Name, FTexture::TEX_WallPatch);
|
||||
if (j.isValid())
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue