- fixed some texture priorititing problems with Hexen's player displays for the menu. The patches for these should not be placed in the TEX_WallPatch namespace because it's not what modders might expect from them.

SVN r2841 (trunk)
This commit is contained in:
Christoph Oelckers 2010-09-21 16:50:09 +00:00
parent a3e98eb4ab
commit 385cfc5698
2 changed files with 39 additions and 30 deletions

View file

@ -189,7 +189,7 @@ protected:
private: private:
void CheckForHacks (); void CheckForHacks ();
void ParsePatch(FScanner &sc, TexPart & part, bool silent); void ParsePatch(FScanner &sc, TexPart & part, bool silent, int usetype);
}; };
//========================================================================== //==========================================================================
@ -970,12 +970,12 @@ void FTextureManager::AddTexturesLumps (int lump1, int lump2, int patcheslump)
// //
//========================================================================== //==========================================================================
void FMultiPatchTexture::ParsePatch(FScanner &sc, TexPart & part, bool silent) void FMultiPatchTexture::ParsePatch(FScanner &sc, TexPart & part, bool silent, int usetype)
{ {
FString patchname; FString patchname;
sc.MustGetString(); sc.MustGetString();
FTextureID texno = TexMan.CheckForTexture(sc.String, TEX_WallPatch); FTextureID texno = TexMan.CheckForTexture(sc.String, usetype);
int Mirror = 0; int Mirror = 0;
if (!texno.isValid()) if (!texno.isValid())
@ -996,10 +996,10 @@ void FMultiPatchTexture::ParsePatch(FScanner &sc, TexPart & part, bool silent)
} }
else if (strlen(sc.String) <= 8 && !strpbrk(sc.String, "./")) else if (strlen(sc.String) <= 8 && !strpbrk(sc.String, "./"))
{ {
int lumpnum = Wads.CheckNumForName(sc.String, ns_patches); int lumpnum = Wads.CheckNumForName(sc.String, usetype == TEX_MiscPatch? ns_graphics : ns_patches);
if (lumpnum >= 0) if (lumpnum >= 0)
{ {
part.Texture = FTexture::CreateTexture(lumpnum, TEX_WallPatch); part.Texture = FTexture::CreateTexture(lumpnum, usetype);
TexMan.AddTexture(part.Texture); TexMan.AddTexture(part.Texture);
} }
} }
@ -1252,7 +1252,15 @@ FMultiPatchTexture::FMultiPatchTexture (FScanner &sc, int usetype)
else if (sc.Compare("Patch")) else if (sc.Compare("Patch"))
{ {
TexPart part; TexPart part;
ParsePatch(sc, part, bSilent); ParsePatch(sc, part, bSilent, TEX_WallPatch);
if (part.Texture != NULL) parts.Push(part);
part.Texture = NULL;
part.Translation = NULL;
}
else if (sc.Compare("Graphic"))
{
TexPart part;
ParsePatch(sc, part, bSilent, TEX_MiscPatch);
if (part.Texture != NULL) parts.Push(part); if (part.Texture != NULL) parts.Push(part);
part.Texture = NULL; part.Texture = NULL;
part.Translation = NULL; part.Translation = NULL;

View file

@ -1,72 +1,73 @@
// Note: These textures use 'graphic' instead of patch because the patches must not be placed in the TEX_WallPatch namespace.
Graphic optional P_FWALK1, 112, 136 Graphic optional P_FWALK1, 112, 136
{ {
Patch "M_FBOX", 0, 0 Graphic "M_FBOX", 0, 0
Patch "M_FWALK1", 24, 12 { useoffsets } Graphic "M_FWALK1", 24, 12 { useoffsets }
} }
Graphic optional P_FWALK2, 112, 136 Graphic optional P_FWALK2, 112, 136
{ {
Patch "M_FBOX", 0, 0 Graphic "M_FBOX", 0, 0
Patch "M_FWALK2", 24, 12 { useoffsets } Graphic "M_FWALK2", 24, 12 { useoffsets }
} }
Graphic optional P_FWALK3, 112, 136 Graphic optional P_FWALK3, 112, 136
{ {
Patch "M_FBOX", 0, 0 Graphic "M_FBOX", 0, 0
Patch "M_FWALK3", 24, 12 { useoffsets } Graphic "M_FWALK3", 24, 12 { useoffsets }
} }
Graphic optional P_FWALK4, 112, 136 Graphic optional P_FWALK4, 112, 136
{ {
Patch "M_FBOX", 0, 0 Graphic "M_FBOX", 0, 0
Patch "M_FWALK4", 24, 12 { useoffsets } Graphic "M_FWALK4", 24, 12 { useoffsets }
} }
Graphic optional P_CWALK1, 112, 136 Graphic optional P_CWALK1, 112, 136
{ {
Patch "M_CBOX", 0, 0 Graphic "M_CBOX", 0, 0
Patch "M_CWALK1", 24, 12 { useoffsets } Graphic "M_CWALK1", 24, 12 { useoffsets }
} }
Graphic optional P_CWALK2, 112, 136 Graphic optional P_CWALK2, 112, 136
{ {
Patch "M_CBOX", 0, 0 Graphic "M_CBOX", 0, 0
Patch "M_CWALK2", 24, 12 { useoffsets } Graphic "M_CWALK2", 24, 12 { useoffsets }
} }
Graphic optional P_CWALK3, 112, 136 Graphic optional P_CWALK3, 112, 136
{ {
Patch "M_CBOX", 0, 0 Graphic "M_CBOX", 0, 0
Patch "M_CWALK3", 24, 12 { useoffsets } Graphic "M_CWALK3", 24, 12 { useoffsets }
} }
Graphic optional P_CWALK4, 112, 136 Graphic optional P_CWALK4, 112, 136
{ {
Patch "M_CBOX", 0, 0 Graphic "M_CBOX", 0, 0
Patch "M_CWALK4", 24, 12 { useoffsets } Graphic "M_CWALK4", 24, 12 { useoffsets }
} }
Graphic optional P_MWALK1, 112, 136 Graphic optional P_MWALK1, 112, 136
{ {
Patch "M_MBOX", 0, 0 Graphic "M_MBOX", 0, 0
Patch "M_MWALK1", 24, 12 { useoffsets } Graphic "M_MWALK1", 24, 12 { useoffsets }
} }
Graphic optional P_MWALK2, 112, 136 Graphic optional P_MWALK2, 112, 136
{ {
Patch "M_MBOX", 0, 0 Graphic "M_MBOX", 0, 0
Patch "M_MWALK2", 24, 12 { useoffsets } Graphic "M_MWALK2", 24, 12 { useoffsets }
} }
Graphic optional P_MWALK3, 112, 136 Graphic optional P_MWALK3, 112, 136
{ {
Patch "M_MBOX", 0, 0 Graphic "M_MBOX", 0, 0
Patch "M_MWALK3", 24, 12 { useoffsets } Graphic "M_MWALK3", 24, 12 { useoffsets }
} }
Graphic optional P_MWALK4, 112, 136 Graphic optional P_MWALK4, 112, 136
{ {
Patch "M_MBOX", 0, 0 Graphic "M_MBOX", 0, 0
Patch "M_MWALK4", 24, 12 { useoffsets } Graphic "M_MWALK4", 24, 12 { useoffsets }
} }