mirror of
https://github.com/ZDoom/gzdoom-last-svn.git
synced 2025-06-04 11:10:48 +00:00
* 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:
parent
210825b5ec
commit
d43f8a936f
3 changed files with 26 additions and 22 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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");
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue