This commit is contained in:
Rachael Alexanderson 2016-11-23 11:09:46 -05:00
commit 2e7c512891
5 changed files with 24 additions and 9 deletions

View file

@ -1508,10 +1508,18 @@ level_info_t *FMapInfoParser::ParseMapHeader(level_info_t &defaultinfo)
if (sc.CheckNumber()) if (sc.CheckNumber())
{ // MAPNAME is a number; assume a Hexen wad { // MAPNAME is a number; assume a Hexen wad
if (format_type == FMT_New)
{
mapname = sc.String;
}
else
{
char maptemp[8]; char maptemp[8];
mysnprintf (maptemp, countof(maptemp), "MAP%02d", sc.Number); mysnprintf(maptemp, countof(maptemp), "MAP%02d", sc.Number);
mapname = maptemp; mapname = maptemp;
HexenHack = true; HexenHack = true;
format_type = FMT_Old;
}
} }
else else
{ {

View file

@ -252,7 +252,7 @@ static bool LoadScriptFile(int lumpnum, FileReader *lump, int numnodes, bool inc
if ((type == 1 && !isbinary) || (type == 2 && isbinary)) if ((type == 1 && !isbinary) || (type == 2 && isbinary))
{ {
DPrintf(DMSG_ERROR, "Incorrect data format for %s.", Wads.GetLumpFullName(lumpnum)); DPrintf(DMSG_ERROR, "Incorrect data format for conversation script in %s.\n", Wads.GetLumpFullName(lumpnum));
return false; return false;
} }
@ -272,7 +272,7 @@ static bool LoadScriptFile(int lumpnum, FileReader *lump, int numnodes, bool inc
// is exactly 1516 bytes long. // is exactly 1516 bytes long.
if (numnodes % 1516 != 0) if (numnodes % 1516 != 0)
{ {
DPrintf(DMSG_ERROR, "Incorrect data format for %s.", Wads.GetLumpFullName(lumpnum)); DPrintf(DMSG_ERROR, "Incorrect data format for conversation script in %s.\n", Wads.GetLumpFullName(lumpnum));
return false; return false;
} }
numnodes /= 1516; numnodes /= 1516;
@ -282,7 +282,7 @@ static bool LoadScriptFile(int lumpnum, FileReader *lump, int numnodes, bool inc
// And the teaser version has 1488-byte entries. // And the teaser version has 1488-byte entries.
if (numnodes % 1488 != 0) if (numnodes % 1488 != 0)
{ {
DPrintf(DMSG_ERROR, "Incorrect data format for %s.", Wads.GetLumpFullName(lumpnum)); DPrintf(DMSG_ERROR, "Incorrect data format for conversation script in %s.\n", Wads.GetLumpFullName(lumpnum));
return false; return false;
} }
numnodes /= 1488; numnodes /= 1488;

View file

@ -839,9 +839,11 @@ bool PIT_CheckLine(FMultiBlockLinesIterator &mit, FMultiBlockLinesIterator::Chec
// If the floor planes on both sides match we should recalculate open.bottom at the actual position we are checking // If the floor planes on both sides match we should recalculate open.bottom at the actual position we are checking
// This is to avoid bumpy movement when crossing a linedef with the same slope on both sides. // This is to avoid bumpy movement when crossing a linedef with the same slope on both sides.
// This should never narrow down the opening, though, only widen it.
if (open.frontfloorplane == open.backfloorplane && open.bottom > LINEOPEN_MIN) if (open.frontfloorplane == open.backfloorplane && open.bottom > LINEOPEN_MIN)
{ {
open.bottom = open.frontfloorplane.ZatPoint(cres.Position); auto newopen = open.frontfloorplane.ZatPoint(cres.Position);
if (newopen < open.bottom) open.bottom = newopen;
} }
if (rail && if (rail &&

View file

@ -5063,7 +5063,11 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position)
if (mthing->FloatbobPhase >= 0 && mthing->FloatbobPhase < 64) mobj->FloatBobPhase = mthing->FloatbobPhase; if (mthing->FloatbobPhase >= 0 && mthing->FloatbobPhase < 64) mobj->FloatBobPhase = mthing->FloatbobPhase;
if (mthing->Gravity < 0) mobj->Gravity = -mthing->Gravity; if (mthing->Gravity < 0) mobj->Gravity = -mthing->Gravity;
else if (mthing->Gravity > 0) mobj->Gravity *= mthing->Gravity; else if (mthing->Gravity > 0) mobj->Gravity *= mthing->Gravity;
else mobj->flags &= ~MF_NOGRAVITY; else
{
mobj->flags |= MF_NOGRAVITY;
mobj->Gravity = 0;
}
// For Hexen floatbob 'compatibility' we do not really want to alter the floorz. // For Hexen floatbob 'compatibility' we do not really want to alter the floorz.
if (mobj->specialf1 == 0 || !(mobj->flags2 & MF2_FLOATBOB) || !(ib_compatflags & BCOMPATF_FLOATBOB)) if (mobj->specialf1 == 0 || !(mobj->flags2 & MF2_FLOATBOB) || !(ib_compatflags & BCOMPATF_FLOATBOB))

View file

@ -1336,6 +1336,7 @@ void FMultiPatchTexture::ResolvePatches()
{ {
if (Inits[i].HasLine) Inits[i].sc.Message(MSG_WARNING, "Texture '%s' references itself as patch\n", Inits[i].TexName.GetChars()); if (Inits[i].HasLine) Inits[i].sc.Message(MSG_WARNING, "Texture '%s' references itself as patch\n", Inits[i].TexName.GetChars());
else Printf(TEXTCOLOR_YELLOW "Texture '%s' references itself as patch\n", Inits[i].TexName.GetChars()); else Printf(TEXTCOLOR_YELLOW "Texture '%s' references itself as patch\n", Inits[i].TexName.GetChars());
continue;
} }
else else
{ {