From af1144b45d2fceb125ccb84292e245b3f59639de Mon Sep 17 00:00:00 2001 From: ac-stef Date: Tue, 23 Aug 2016 00:42:00 +0200 Subject: [PATCH] optionally show ladder entities in edit mode If enabled, render ladder entities as blue wireframes. DOCREF showladderentities --- config/menus_edit.cfg | 1 + source/src/entities.cpp | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/config/menus_edit.cfg b/config/menus_edit.cfg index cbbb3610..3b05b6c2 100644 --- a/config/menus_edit.cfg +++ b/config/menus_edit.cfg @@ -496,6 +496,7 @@ menuitem "\f2\t\t [ OK ]" [ watercolour $redw $greenw $bluew ] newmenu [Editing settings] menuitemslider "Grid/Selection style: " 0 1 "$oldselstyle" 1 [triangles "squares (default)"] [ oldselstyle $arg1 ] menuitemcheckbox "Show mapmodel clippings: " "$showmodelclipping" [ showmodelclipping $arg1 ] +menuitemcheckbox "Show ladder entities: " "$showladderentities" [ showladderentities $arg1 ] menuitemcheckbox "Show all playerstarts: " "$showplayerstarts" [ showplayerstarts $arg1 ] menuitemslider "Fly speeds multiplier: " 1 5 "$flyspeed" 1 [] [ flyspeed $arg1 ] // opt/autosave.cfg may add some entries diff --git a/source/src/entities.cpp b/source/src/entities.cpp index d310f488..f1118a7a 100644 --- a/source/src/entities.cpp +++ b/source/src/entities.cpp @@ -4,6 +4,7 @@ VAR(showclips, 0, 1, 1); VAR(showmodelclipping, 0, 0, 1); +VAR(showladderentities, 0, 0, 1); VAR(showplayerstarts, 0, 0, 1); vector ents; @@ -57,6 +58,7 @@ void renderclip(entity &e) case CLIP: linestyle(1, 0xFF, 0xFF, 0); break; // yellow case MAPMODEL: linestyle(1, 0, 0xFF, 0); break; // green case PLCLIP: linestyle(1, 0xFF, 0, 0xFF); break; // magenta + case LADDER: linestyle(1, 0, 0, 0xFF); break; // blue } glBegin(GL_LINES); loopi(16) @@ -238,7 +240,6 @@ void renderentities() if(mmi && mmi->h) { entity ce = e; - ce.type = MAPMODEL; ce.attr1 = (mmi->zoff + float(e.attr3) / ENTSCALE5) * ENTSCALE10; ce.attr2 = ce.attr3 = mmi->rad * ENTSCALE5; ce.attr4 = mmi->h * ENTSCALE5; @@ -246,6 +247,16 @@ void renderentities() renderclip(ce); } } + else if(e.type == LADDER && showladderentities && !stenciling) + { + entity ce = e; + ce.attr1 = 0; + ce.attr2 = ce.attr3 = 0; + ce.attr4 = e.attr1 * ENTSCALE5; + ce.attr5 = ce.attr6 = 0; + ce.attr7 = 3; + renderclip(ce); + } else if(e.type == PLAYERSTART && showplayerstarts) { vec o(e.x, e.y, 0);