mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-27 22:42:57 +00:00
- remove texture name length limits for udmf maps
This commit is contained in:
parent
ae8995e65b
commit
59885b856d
12 changed files with 1383 additions and 1377 deletions
|
@ -297,7 +297,7 @@ void DDoor::DoorSound(bool raise, DSeqNode *curseq) const
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
FTexture *tex = TexMan[line->sidedef[0]->GetTexture(side_t::top)];
|
FTexture *tex = TexMan[line->sidedef[0]->GetTexture(side_t::top)];
|
||||||
texname = tex? tex->Name : NULL;
|
texname = tex ? tex->Name.GetChars() : NULL;
|
||||||
if (texname != NULL && texname[0] == 'D' && texname[1] == 'O' && texname[2] == 'R')
|
if (texname != NULL && texname[0] == 'D' && texname[1] == 'O' && texname[2] == 'R')
|
||||||
{
|
{
|
||||||
switch (texname[3])
|
switch (texname[3])
|
||||||
|
|
|
@ -249,6 +249,8 @@ static void R_InstallSprite (int num)
|
||||||
// letter/number appended.
|
// letter/number appended.
|
||||||
// The rotation character can be 0 to signify no rotations.
|
// The rotation character can be 0 to signify no rotations.
|
||||||
//
|
//
|
||||||
|
#define TEX_DWNAME(tex) MAKE_ID(tex->Name[0], tex->Name[1], tex->Name[2], tex->Name[3])
|
||||||
|
|
||||||
void R_InitSpriteDefs ()
|
void R_InitSpriteDefs ()
|
||||||
{
|
{
|
||||||
struct Hasher
|
struct Hasher
|
||||||
|
@ -272,7 +274,7 @@ void R_InitSpriteDefs ()
|
||||||
FTexture *tex = TexMan.ByIndex(i);
|
FTexture *tex = TexMan.ByIndex(i);
|
||||||
if (tex->UseType == FTexture::TEX_Sprite && strlen(tex->Name) >= 6)
|
if (tex->UseType == FTexture::TEX_Sprite && strlen(tex->Name) >= 6)
|
||||||
{
|
{
|
||||||
size_t bucket = tex->dwName % smax;
|
size_t bucket = TEX_DWNAME(tex) % smax;
|
||||||
hashes[i].Next = hashes[bucket].Head;
|
hashes[i].Next = hashes[bucket].Head;
|
||||||
hashes[bucket].Head = i;
|
hashes[bucket].Head = i;
|
||||||
}
|
}
|
||||||
|
@ -352,7 +354,7 @@ void R_InitSpriteDefs ()
|
||||||
while (hash != -1)
|
while (hash != -1)
|
||||||
{
|
{
|
||||||
FTexture *tex = TexMan[hash];
|
FTexture *tex = TexMan[hash];
|
||||||
if (tex->dwName == intname)
|
if (TEX_DWNAME(tex) == intname)
|
||||||
{
|
{
|
||||||
bool res = R_InstallSpriteLump (FTextureID(hash), tex->Name[4] - 'A', tex->Name[5], false);
|
bool res = R_InstallSpriteLump (FTextureID(hash), tex->Name[4] - 'A', tex->Name[5], false);
|
||||||
|
|
||||||
|
|
|
@ -78,7 +78,7 @@ FBuildTexture::FBuildTexture (int tilenum, const BYTE *pixels, int width, int he
|
||||||
LeftOffset = left;
|
LeftOffset = left;
|
||||||
TopOffset = top;
|
TopOffset = top;
|
||||||
CalcBitSize ();
|
CalcBitSize ();
|
||||||
mysnprintf (Name, countof(Name), "BTIL%04d", tilenum);
|
Name.Format("BTIL%04d", tilenum);
|
||||||
UseType = TEX_Build;
|
UseType = TEX_Build;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -41,8 +41,7 @@
|
||||||
|
|
||||||
FCanvasTexture::FCanvasTexture (const char *name, int width, int height)
|
FCanvasTexture::FCanvasTexture (const char *name, int width, int height)
|
||||||
{
|
{
|
||||||
strncpy (Name, name, 8);
|
Name = name;
|
||||||
Name[8] = 0;
|
|
||||||
Width = width;
|
Width = width;
|
||||||
Height = height;
|
Height = height;
|
||||||
LeftOffset = TopOffset = 0;
|
LeftOffset = TopOffset = 0;
|
||||||
|
|
|
@ -106,7 +106,6 @@ FIMGZTexture::FIMGZTexture (int lumpnum, WORD w, WORD h, SWORD l, SWORD t)
|
||||||
: FTexture(NULL, lumpnum), Pixels(0), Spans(0)
|
: FTexture(NULL, lumpnum), Pixels(0), Spans(0)
|
||||||
{
|
{
|
||||||
Wads.GetLumpName (Name, lumpnum);
|
Wads.GetLumpName (Name, lumpnum);
|
||||||
Name[8] = 0;
|
|
||||||
Width = w;
|
Width = w;
|
||||||
Height = h;
|
Height = h;
|
||||||
LeftOffset = l;
|
LeftOffset = l;
|
||||||
|
|
|
@ -137,7 +137,7 @@ struct strifemaptexture_t
|
||||||
|
|
||||||
struct FPatchLookup
|
struct FPatchLookup
|
||||||
{
|
{
|
||||||
char Name[9];
|
FString Name;
|
||||||
FTexture *Texture;
|
FTexture *Texture;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -243,8 +243,7 @@ FMultiPatchTexture::FMultiPatchTexture (const void *texdef, FPatchLookup *patchl
|
||||||
Parts = NumParts > 0 ? new TexPart[NumParts] : NULL;
|
Parts = NumParts > 0 ? new TexPart[NumParts] : NULL;
|
||||||
Width = SAFESHORT(mtexture.d->width);
|
Width = SAFESHORT(mtexture.d->width);
|
||||||
Height = SAFESHORT(mtexture.d->height);
|
Height = SAFESHORT(mtexture.d->height);
|
||||||
strncpy (Name, (const char *)mtexture.d->name, 8);
|
Name = (char *)mtexture.d->name;
|
||||||
Name[8] = 0;
|
|
||||||
CalcBitSize ();
|
CalcBitSize ();
|
||||||
|
|
||||||
xScale = mtexture.d->ScaleX ? mtexture.d->ScaleX*(FRACUNIT/8) : FRACUNIT;
|
xScale = mtexture.d->ScaleX ? mtexture.d->ScaleX*(FRACUNIT/8) : FRACUNIT;
|
||||||
|
@ -824,7 +823,7 @@ FMultiPatchTexture::TexPart::TexPart()
|
||||||
|
|
||||||
void FTextureManager::AddTexturesLump (const void *lumpdata, int lumpsize, int deflumpnum, int patcheslump, int firstdup, bool texture1)
|
void FTextureManager::AddTexturesLump (const void *lumpdata, int lumpsize, int deflumpnum, int patcheslump, int firstdup, bool texture1)
|
||||||
{
|
{
|
||||||
FPatchLookup *patchlookup;
|
FPatchLookup *patchlookup = NULL;
|
||||||
int i;
|
int i;
|
||||||
DWORD numpatches;
|
DWORD numpatches;
|
||||||
|
|
||||||
|
@ -857,12 +856,13 @@ void FTextureManager::AddTexturesLump (const void *lumpdata, int lumpsize, int d
|
||||||
|
|
||||||
// Catalog the patches these textures use so we know which
|
// Catalog the patches these textures use so we know which
|
||||||
// textures they represent.
|
// textures they represent.
|
||||||
patchlookup = (FPatchLookup *)alloca (numpatches * sizeof(*patchlookup));
|
patchlookup = new FPatchLookup[numpatches];
|
||||||
|
|
||||||
for (DWORD i = 0; i < numpatches; ++i)
|
for (DWORD i = 0; i < numpatches; ++i)
|
||||||
{
|
{
|
||||||
pnames.Read (patchlookup[i].Name, 8);
|
char pname[9];
|
||||||
patchlookup[i].Name[8] = 0;
|
pnames.Read (pname, 8);
|
||||||
|
pname[8] = '\0';
|
||||||
|
patchlookup[i].Name = pname;
|
||||||
FTextureID j = CheckForTexture (patchlookup[i].Name, FTexture::TEX_WallPatch);
|
FTextureID j = CheckForTexture (patchlookup[i].Name, FTexture::TEX_WallPatch);
|
||||||
if (j.isValid())
|
if (j.isValid())
|
||||||
{
|
{
|
||||||
|
@ -892,6 +892,7 @@ void FTextureManager::AddTexturesLump (const void *lumpdata, int lumpsize, int d
|
||||||
if (maxoff < DWORD(numtextures+1)*4)
|
if (maxoff < DWORD(numtextures+1)*4)
|
||||||
{
|
{
|
||||||
Printf ("Texture directory is too short");
|
Printf ("Texture directory is too short");
|
||||||
|
delete[] patchlookup;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -902,6 +903,7 @@ void FTextureManager::AddTexturesLump (const void *lumpdata, int lumpsize, int d
|
||||||
if (offset > maxoff)
|
if (offset > maxoff)
|
||||||
{
|
{
|
||||||
Printf ("Bad texture directory");
|
Printf ("Bad texture directory");
|
||||||
|
delete[] patchlookup;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -937,6 +939,7 @@ void FTextureManager::AddTexturesLump (const void *lumpdata, int lumpsize, int d
|
||||||
if (offset > maxoff)
|
if (offset > maxoff)
|
||||||
{
|
{
|
||||||
Printf ("Bad texture directory");
|
Printf ("Bad texture directory");
|
||||||
|
delete[] patchlookup;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -960,6 +963,7 @@ void FTextureManager::AddTexturesLump (const void *lumpdata, int lumpsize, int d
|
||||||
StartScreen->Progress();
|
StartScreen->Progress();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
delete[] patchlookup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1221,8 +1225,8 @@ FMultiPatchTexture::FMultiPatchTexture (FScanner &sc, int usetype)
|
||||||
bSilent = false;
|
bSilent = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
uppercopy(Name, !textureName ? sc.String : textureName);
|
Name = !textureName ? sc.String : textureName;
|
||||||
Name[8] = 0;
|
Name.ToUpper();
|
||||||
sc.MustGetStringName(",");
|
sc.MustGetStringName(",");
|
||||||
sc.MustGetNumber();
|
sc.MustGetNumber();
|
||||||
Width = sc.Number;
|
Width = sc.Number;
|
||||||
|
|
|
@ -137,7 +137,10 @@ FTexture * FTexture::CreateTexture (int lumpnum, int usetype)
|
||||||
FTexture * FTexture::CreateTexture (const char *name, int lumpnum, int usetype)
|
FTexture * FTexture::CreateTexture (const char *name, int lumpnum, int usetype)
|
||||||
{
|
{
|
||||||
FTexture *tex = CreateTexture(lumpnum, usetype);
|
FTexture *tex = CreateTexture(lumpnum, usetype);
|
||||||
if (tex != NULL && name != NULL) uppercopy(tex->Name, name);
|
if (tex != NULL && name != NULL) {
|
||||||
|
tex->Name = name;
|
||||||
|
tex->Name.ToUpper();
|
||||||
|
}
|
||||||
return tex;
|
return tex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -152,16 +155,16 @@ FTexture::FTexture (const char *name, int lumpnum)
|
||||||
id.SetInvalid();
|
id.SetInvalid();
|
||||||
if (name != NULL)
|
if (name != NULL)
|
||||||
{
|
{
|
||||||
uppercopy(Name, name);
|
Name = name;
|
||||||
|
Name.ToUpper();
|
||||||
}
|
}
|
||||||
else if (lumpnum < 0)
|
else if (lumpnum < 0)
|
||||||
{
|
{
|
||||||
*Name = 0;
|
Name = FString();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Wads.GetLumpName (Name, lumpnum);
|
Wads.GetLumpName (Name, lumpnum);
|
||||||
Name[8] = 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -574,7 +577,6 @@ FDummyTexture::FDummyTexture ()
|
||||||
HeightBits = 6;
|
HeightBits = 6;
|
||||||
WidthBits = 6;
|
WidthBits = 6;
|
||||||
WidthMask = 63;
|
WidthMask = 63;
|
||||||
Name[0] = 0;
|
|
||||||
UseType = TEX_Null;
|
UseType = TEX_Null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -373,7 +373,7 @@ FTextureID FTextureManager::AddTexture (FTexture *texture)
|
||||||
// Later textures take precedence over earlier ones
|
// Later textures take precedence over earlier ones
|
||||||
|
|
||||||
// Textures without name can't be looked for
|
// Textures without name can't be looked for
|
||||||
if (texture->Name[0] != 0)
|
if (texture->Name[0] != '\0')
|
||||||
{
|
{
|
||||||
bucket = int(MakeKey (texture->Name) % HASH_SIZE);
|
bucket = int(MakeKey (texture->Name) % HASH_SIZE);
|
||||||
hash = HashFirst[bucket];
|
hash = HashFirst[bucket];
|
||||||
|
@ -429,7 +429,7 @@ void FTextureManager::ReplaceTexture (FTextureID picnum, FTexture *newtexture, b
|
||||||
|
|
||||||
FTexture *oldtexture = Textures[index].Texture;
|
FTexture *oldtexture = Textures[index].Texture;
|
||||||
|
|
||||||
strcpy (newtexture->Name, oldtexture->Name);
|
newtexture->Name = oldtexture->Name;
|
||||||
newtexture->UseType = oldtexture->UseType;
|
newtexture->UseType = oldtexture->UseType;
|
||||||
Textures[index].Texture = newtexture;
|
Textures[index].Texture = newtexture;
|
||||||
|
|
||||||
|
@ -488,9 +488,7 @@ void FTextureManager::AddGroup(int wadnum, int ns, int usetype)
|
||||||
{
|
{
|
||||||
int firsttx = Wads.GetFirstLump(wadnum);
|
int firsttx = Wads.GetFirstLump(wadnum);
|
||||||
int lasttx = Wads.GetLastLump(wadnum);
|
int lasttx = Wads.GetLastLump(wadnum);
|
||||||
char name[9];
|
FString Name;
|
||||||
|
|
||||||
name[8] = 0;
|
|
||||||
|
|
||||||
// Go from first to last so that ANIMDEFS work as expected. However,
|
// Go from first to last so that ANIMDEFS work as expected. However,
|
||||||
// to avoid duplicates (and to keep earlier entries from overriding
|
// to avoid duplicates (and to keep earlier entries from overriding
|
||||||
|
@ -501,9 +499,9 @@ void FTextureManager::AddGroup(int wadnum, int ns, int usetype)
|
||||||
{
|
{
|
||||||
if (Wads.GetLumpNamespace(firsttx) == ns)
|
if (Wads.GetLumpNamespace(firsttx) == ns)
|
||||||
{
|
{
|
||||||
Wads.GetLumpName (name, firsttx);
|
Wads.GetLumpName (Name, firsttx);
|
||||||
|
|
||||||
if (Wads.CheckNumForName (name, ns) == firsttx)
|
if (Wads.CheckNumForName (Name, ns) == firsttx)
|
||||||
{
|
{
|
||||||
CreateTexture (firsttx, usetype);
|
CreateTexture (firsttx, usetype);
|
||||||
}
|
}
|
||||||
|
@ -511,7 +509,7 @@ void FTextureManager::AddGroup(int wadnum, int ns, int usetype)
|
||||||
}
|
}
|
||||||
else if (ns == ns_flats && Wads.GetLumpFlags(firsttx) & LUMPF_MAYBEFLAT)
|
else if (ns == ns_flats && Wads.GetLumpFlags(firsttx) & LUMPF_MAYBEFLAT)
|
||||||
{
|
{
|
||||||
if (Wads.CheckNumForName (name, ns) < firsttx)
|
if (Wads.CheckNumForName (Name, ns) < firsttx)
|
||||||
{
|
{
|
||||||
CreateTexture (firsttx, usetype);
|
CreateTexture (firsttx, usetype);
|
||||||
}
|
}
|
||||||
|
@ -531,7 +529,7 @@ void FTextureManager::AddHiresTextures (int wadnum)
|
||||||
int firsttx = Wads.GetFirstLump(wadnum);
|
int firsttx = Wads.GetFirstLump(wadnum);
|
||||||
int lasttx = Wads.GetLastLump(wadnum);
|
int lasttx = Wads.GetLastLump(wadnum);
|
||||||
|
|
||||||
char name[9];
|
FString Name;
|
||||||
TArray<FTextureID> tlist;
|
TArray<FTextureID> tlist;
|
||||||
|
|
||||||
if (firsttx == -1 || lasttx == -1)
|
if (firsttx == -1 || lasttx == -1)
|
||||||
|
@ -539,18 +537,16 @@ void FTextureManager::AddHiresTextures (int wadnum)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
name[8] = 0;
|
|
||||||
|
|
||||||
for (;firsttx <= lasttx; ++firsttx)
|
for (;firsttx <= lasttx; ++firsttx)
|
||||||
{
|
{
|
||||||
if (Wads.GetLumpNamespace(firsttx) == ns_hires)
|
if (Wads.GetLumpNamespace(firsttx) == ns_hires)
|
||||||
{
|
{
|
||||||
Wads.GetLumpName (name, firsttx);
|
Wads.GetLumpName (Name, firsttx);
|
||||||
|
|
||||||
if (Wads.CheckNumForName (name, ns_hires) == firsttx)
|
if (Wads.CheckNumForName (Name, ns_hires) == firsttx)
|
||||||
{
|
{
|
||||||
tlist.Clear();
|
tlist.Clear();
|
||||||
int amount = ListTextures(name, tlist);
|
int amount = ListTextures(Name, tlist);
|
||||||
if (amount == 0)
|
if (amount == 0)
|
||||||
{
|
{
|
||||||
// A texture with this name does not yet exist
|
// A texture with this name does not yet exist
|
||||||
|
@ -594,14 +590,13 @@ void FTextureManager::AddHiresTextures (int wadnum)
|
||||||
void FTextureManager::LoadTextureDefs(int wadnum, const char *lumpname)
|
void FTextureManager::LoadTextureDefs(int wadnum, const char *lumpname)
|
||||||
{
|
{
|
||||||
int remapLump, lastLump;
|
int remapLump, lastLump;
|
||||||
char src[9];
|
FString src;
|
||||||
bool is32bit;
|
bool is32bit;
|
||||||
int width, height;
|
int width, height;
|
||||||
int type, mode;
|
int type, mode;
|
||||||
TArray<FTextureID> tlist;
|
TArray<FTextureID> tlist;
|
||||||
|
|
||||||
lastLump = 0;
|
lastLump = 0;
|
||||||
src[8] = '\0';
|
|
||||||
|
|
||||||
while ((remapLump = Wads.FindLump(lumpname, &lastLump)) != -1)
|
while ((remapLump = Wads.FindLump(lumpname, &lastLump)) != -1)
|
||||||
{
|
{
|
||||||
|
@ -678,7 +673,7 @@ void FTextureManager::LoadTextureDefs(int wadnum, const char *lumpname)
|
||||||
FString base = ExtractFileBase(sc.String, false);
|
FString base = ExtractFileBase(sc.String, false);
|
||||||
if (!base.IsEmpty())
|
if (!base.IsEmpty())
|
||||||
{
|
{
|
||||||
strncpy(src, base, 8);
|
src = base.Left(8);
|
||||||
|
|
||||||
int lumpnum = Wads.CheckNumForFullName(sc.String, true, ns_patches);
|
int lumpnum = Wads.CheckNumForFullName(sc.String, true, ns_patches);
|
||||||
if (lumpnum == -1) lumpnum = Wads.CheckNumForFullName(sc.String, true, ns_graphics);
|
if (lumpnum == -1) lumpnum = Wads.CheckNumForFullName(sc.String, true, ns_graphics);
|
||||||
|
@ -701,7 +696,7 @@ void FTextureManager::LoadTextureDefs(int wadnum, const char *lumpname)
|
||||||
// Replace the entire texture and adjust the scaling and offset factors.
|
// Replace the entire texture and adjust the scaling and offset factors.
|
||||||
newtex->bWorldPanning = true;
|
newtex->bWorldPanning = true;
|
||||||
newtex->SetScaledSize(width, height);
|
newtex->SetScaledSize(width, height);
|
||||||
memcpy(newtex->Name, src, sizeof(newtex->Name));
|
newtex->Name = src;
|
||||||
|
|
||||||
FTextureID oldtex = TexMan.CheckForTexture(src, FTexture::TEX_MiscPatch);
|
FTextureID oldtex = TexMan.CheckForTexture(src, FTexture::TEX_MiscPatch);
|
||||||
if (oldtex.isValid())
|
if (oldtex.isValid())
|
||||||
|
@ -757,7 +752,7 @@ void FTextureManager::AddPatches (int lumpnum)
|
||||||
char name[9];
|
char name[9];
|
||||||
|
|
||||||
*file >> numpatches;
|
*file >> numpatches;
|
||||||
name[8] = 0;
|
name[8] = '\0';
|
||||||
|
|
||||||
for (i = 0; i < numpatches; ++i)
|
for (i = 0; i < numpatches; ++i)
|
||||||
{
|
{
|
||||||
|
@ -839,9 +834,8 @@ void FTextureManager::AddTexturesForWad(int wadnum)
|
||||||
for (int i= firsttx; i <= lasttx; i++)
|
for (int i= firsttx; i <= lasttx; i++)
|
||||||
{
|
{
|
||||||
bool skin = false;
|
bool skin = false;
|
||||||
char name[9];
|
FString Name;
|
||||||
Wads.GetLumpName(name, i);
|
Wads.GetLumpName(Name, i);
|
||||||
name[8]=0;
|
|
||||||
|
|
||||||
// Ignore anything not in the global namespace
|
// Ignore anything not in the global namespace
|
||||||
int ns = Wads.GetLumpNamespace(i);
|
int ns = Wads.GetLumpNamespace(i);
|
||||||
|
@ -867,20 +861,20 @@ void FTextureManager::AddTexturesForWad(int wadnum)
|
||||||
if (Wads.CheckLumpName(i, "BEHAVIOR")) continue;
|
if (Wads.CheckLumpName(i, "BEHAVIOR")) continue;
|
||||||
|
|
||||||
// Don't bother looking at this lump if something later overrides it.
|
// Don't bother looking at this lump if something later overrides it.
|
||||||
if (Wads.CheckNumForName(name, ns_graphics) != i) continue;
|
if (Wads.CheckNumForName(Name, ns_graphics) != i) continue;
|
||||||
|
|
||||||
// skip this if it has already been added as a wall patch.
|
// skip this if it has already been added as a wall patch.
|
||||||
if (CheckForTexture(name, FTexture::TEX_WallPatch, 0).Exists()) continue;
|
if (CheckForTexture(Name, FTexture::TEX_WallPatch, 0).Exists()) continue;
|
||||||
}
|
}
|
||||||
else if (ns == ns_graphics)
|
else if (ns == ns_graphics)
|
||||||
{
|
{
|
||||||
// Don't bother looking this lump if something later overrides it.
|
// Don't bother looking this lump if something later overrides it.
|
||||||
if (Wads.CheckNumForName(name, ns_graphics) != i) continue;
|
if (Wads.CheckNumForName(Name, ns_graphics) != i) continue;
|
||||||
}
|
}
|
||||||
else if (ns >= ns_firstskin)
|
else if (ns >= ns_firstskin)
|
||||||
{
|
{
|
||||||
// Don't bother looking this lump if something later overrides it.
|
// Don't bother looking this lump if something later overrides it.
|
||||||
if (Wads.CheckNumForName(name, ns) != i) continue;
|
if (Wads.CheckNumForName(Name, ns) != i) continue;
|
||||||
skin = true;
|
skin = true;
|
||||||
}
|
}
|
||||||
else continue;
|
else continue;
|
||||||
|
|
|
@ -157,11 +157,7 @@ public:
|
||||||
int SourceLump;
|
int SourceLump;
|
||||||
FTextureID id;
|
FTextureID id;
|
||||||
|
|
||||||
union
|
FString Name;
|
||||||
{
|
|
||||||
char Name[9];
|
|
||||||
DWORD dwName; // Used with sprites
|
|
||||||
};
|
|
||||||
BYTE UseType; // This texture's primary purpose
|
BYTE UseType; // This texture's primary purpose
|
||||||
|
|
||||||
BYTE bNoDecals:1; // Decals should not stick to texture
|
BYTE bNoDecals:1; // Decals should not stick to texture
|
||||||
|
|
|
@ -145,7 +145,6 @@ FTGATexture::FTGATexture (int lumpnum, TGAHeader * hdr)
|
||||||
: FTexture(NULL, lumpnum), Pixels(0), Spans(0)
|
: FTexture(NULL, lumpnum), Pixels(0), Spans(0)
|
||||||
{
|
{
|
||||||
Wads.GetLumpName (Name, lumpnum);
|
Wads.GetLumpName (Name, lumpnum);
|
||||||
Name[8] = 0;
|
|
||||||
Width = hdr->width;
|
Width = hdr->width;
|
||||||
Height = hdr->height;
|
Height = hdr->height;
|
||||||
// Alpha channel is used only for 32 bit RGBA and paletted images with RGBA palettes.
|
// Alpha channel is used only for 32 bit RGBA and paletted images with RGBA palettes.
|
||||||
|
|
|
@ -492,7 +492,7 @@ int FWadCollection::CheckNumForFullName (const char *name, bool trynormal, int n
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
i = FirstLumpIndex_FullName[MakeKey (name) % NumLumps];
|
i = FirstLumpIndex_FullName[MakeKey(name) % NumLumps];
|
||||||
|
|
||||||
while (i != NULL_INDEX && stricmp(name, LumpInfo[i].lump->FullName))
|
while (i != NULL_INDEX && stricmp(name, LumpInfo[i].lump->FullName))
|
||||||
{
|
{
|
||||||
|
@ -1015,6 +1015,16 @@ void FWadCollection::GetLumpName (char *to, int lump) const
|
||||||
uppercopy (to, LumpInfo[lump].lump->Name);
|
uppercopy (to, LumpInfo[lump].lump->Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FWadCollection::GetLumpName(FString &to, int lump) const
|
||||||
|
{
|
||||||
|
if ((size_t)lump >= NumLumps)
|
||||||
|
to = FString();
|
||||||
|
else {
|
||||||
|
to = LumpInfo[lump].lump->Name;
|
||||||
|
to.ToUpper();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
// FWadCollection :: GetLumpFullName
|
// FWadCollection :: GetLumpFullName
|
||||||
|
|
|
@ -196,7 +196,8 @@ public:
|
||||||
int GetLumpOffset (int lump); // [RH] Returns offset of lump in the wadfile
|
int GetLumpOffset (int lump); // [RH] Returns offset of lump in the wadfile
|
||||||
int GetLumpFlags (int lump); // Return the flags for this lump
|
int GetLumpFlags (int lump); // Return the flags for this lump
|
||||||
void GetLumpName (char *to, int lump) const; // [RH] Copies the lump name to to using uppercopy
|
void GetLumpName (char *to, int lump) const; // [RH] Copies the lump name to to using uppercopy
|
||||||
const char *GetLumpFullName (int lump) const; // [RH] Returns the lump's full name
|
void FWadCollection::GetLumpName(FString &to, int lump) const;
|
||||||
|
const char *GetLumpFullName(int lump) const; // [RH] Returns the lump's full name
|
||||||
FString GetLumpFullPath (int lump) const; // [RH] Returns wad's name + lump's full name
|
FString GetLumpFullPath (int lump) const; // [RH] Returns wad's name + lump's full name
|
||||||
int GetLumpFile (int lump) const; // [RH] Returns wadnum for a specified lump
|
int GetLumpFile (int lump) const; // [RH] Returns wadnum for a specified lump
|
||||||
int GetLumpNamespace (int lump) const; // [RH] Returns the namespace a lump belongs to
|
int GetLumpNamespace (int lump) const; // [RH] Returns the namespace a lump belongs to
|
||||||
|
|
Loading…
Reference in a new issue