* Updated to ZDoom r2629:

- Fixed: The automap was too aggressive about hiding markers.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@922 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
gez 2010-08-29 09:51:24 +00:00
parent 210825b5ec
commit d43f8a936f
3 changed files with 26 additions and 22 deletions

View file

@ -2291,19 +2291,15 @@ void AM_drawAuthorMarkers ()
while (marked != NULL) while (marked != NULL)
{ {
if (mark->args[1] == 0 || (mark->args[1] == 1)) // Use more correct info if we have GL nodes available
if (mark->args[1] == 0 ||
(mark->args[1] == 1 && (hasglnodes ?
marked->subsector->flags & SSECF_DRAWN :
marked->Sector->MoreFlags & SECF_DRAWN)))
{ {
// Use more correct info if we have GL nodes available DrawMarker (tex, marked->x >> FRACTOMAPBITS, marked->y >> FRACTOMAPBITS, 0,
INTBOOL drawn = hasglnodes? flip, mark->scaleX, mark->scaleY, mark->Translation,
marked->subsector->flags & SSECF_DRAWN : mark->alpha, mark->fillcolor, mark->RenderStyle);
marked->Sector->MoreFlags & SECF_DRAWN;
if (drawn)
{
DrawMarker (tex, marked->x >> FRACTOMAPBITS, marked->y >> FRACTOMAPBITS, 0,
flip, mark->scaleX, mark->scaleY, mark->Translation,
mark->alpha, mark->fillcolor, mark->RenderStyle);
}
} }
marked = mark->args[0] != 0 ? it.Next() : NULL; marked = mark->args[0] != 0 ? it.Next() : NULL;
} }

View file

@ -1134,6 +1134,14 @@ static bool P_CheckV4Nodes(MapData *map)
// //
//=========================================================================== //===========================================================================
struct badseg
{
badseg(int t, int s, int d) : badtype(t), badsegnum(s), baddata(d) {}
int badtype;
int badsegnum;
int baddata;
};
template<class segtype> template<class segtype>
void P_LoadSegs (MapData * map) void P_LoadSegs (MapData * map)
{ {
@ -1199,7 +1207,7 @@ void P_LoadSegs (MapData * map)
if (vnum1 >= numvertexes || vnum2 >= numvertexes) if (vnum1 >= numvertexes || vnum2 >= numvertexes)
{ {
throw i * 4; throw badseg(0, i, MAX(vnum1, vnum2));
} }
li->v1 = &vertexes[vnum1]; li->v1 = &vertexes[vnum1];
@ -1266,14 +1274,14 @@ void P_LoadSegs (MapData * map)
linedef = LittleShort(ml->linedef); linedef = LittleShort(ml->linedef);
if ((unsigned)linedef >= (unsigned)numlines) if ((unsigned)linedef >= (unsigned)numlines)
{ {
throw i * 4 + 1; throw badseg(1, i, linedef);
} }
ldef = &lines[linedef]; ldef = &lines[linedef];
li->linedef = ldef; li->linedef = ldef;
side = LittleShort(ml->side); side = LittleShort(ml->side);
if ((unsigned)(ldef->sidedef[side] - sides) >= (unsigned)numsides) if ((unsigned)(ldef->sidedef[side] - sides) >= (unsigned)numsides)
{ {
throw i * 4 + 2; throw badseg(2, i, int(ldef->sidedef[side] - sides));
} }
li->sidedef = ldef->sidedef[side]; li->sidedef = ldef->sidedef[side];
li->frontsector = ldef->sidedef[side]->sector; li->frontsector = ldef->sidedef[side]->sector;
@ -1290,20 +1298,20 @@ void P_LoadSegs (MapData * map)
} }
} }
} }
catch (int foo) catch (badseg bad)
{ {
switch (foo & 3) switch (bad.badtype)
{ {
case 0: case 0:
Printf ("Seg %d references a nonexistant vertex.\n", foo >> 2); Printf ("Seg %d references a nonexistant vertex %d (max %d).\n", bad.badsegnum, bad.baddata, numvertexes);
break; break;
case 1: case 1:
Printf ("Seg %d references a nonexistant linedef.\n", foo >> 2); Printf ("Seg %d references a nonexistant linedef %d (max %d).\n", bad.badsegnum, bad.baddata, numlines);
break; break;
case 2: case 2:
Printf ("The linedef for seg %d references a nonexistant sidedef.\n", foo >> 2); Printf ("The linedef for seg %d references a nonexistant sidedef %d (max %d).\n", bad.badsegnum, bad.baddata, numsides);
break; break;
} }
Printf ("The BSP will be rebuilt.\n"); Printf ("The BSP will be rebuilt.\n");

View file

@ -3,5 +3,5 @@
// This file was automatically generated by the // This file was automatically generated by the
// updaterevision tool. Do not edit by hand. // updaterevision tool. Do not edit by hand.
#define ZD_SVN_REVISION_STRING "2627" #define ZD_SVN_REVISION_STRING "2629"
#define ZD_SVN_REVISION_NUMBER 2627 #define ZD_SVN_REVISION_NUMBER 2629