X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fnetradiant.git;a=blobdiff_plain;f=radiant%2Fbrush.cpp;h=2593ac55726fa7aa26ff7759d20eeb7c4b9398e7;hp=2250b45a39d0242a181b28e683773c5c5b89a884;hb=bfc8a12a6b315ae261101a34db8ba1b682c67bb7;hpb=12b372f89ce109a4db9d510884fbe7d05af79870 diff --git a/radiant/brush.cpp b/radiant/brush.cpp index 2250b45a..2593ac55 100644 --- a/radiant/brush.cpp +++ b/radiant/brush.cpp @@ -20,23 +20,24 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "brush.h" +#include "signal/signal.h" -std::set g_brushTextureChangedCallbacks; +Signal0 g_brushTextureChangedCallbacks; -void Brush_addTextureChangedCallback(const Callback& callback) +void Brush_addTextureChangedCallback(const SignalHandler& handler) { - g_brushTextureChangedCallbacks.insert(callback); + g_brushTextureChangedCallbacks.connectLast(handler); } void Brush_textureChanged() { - std::for_each(g_brushTextureChangedCallbacks.begin(), g_brushTextureChangedCallbacks.end(), CallbackInvoke()); + g_brushTextureChangedCallbacks(); } QuantiseFunc Face::m_quantise; EBrushType Face::m_type; EBrushType FacePlane::m_type; -bool g_brush_texturelock_enabled = false; +bool g_brush_texturelock_enabled = true; EBrushType Brush::m_type; double Brush::m_maxWorldCoord = 0; @@ -269,14 +270,17 @@ void Brush::buildBRep() } } - ASSERT_MESSAGE((uniqueVertices.size() + faces_size) - uniqueEdges.size() == 2, "Final B-Rep: inconsistent vertex count"); + if((uniqueVertices.size() + faces_size) - uniqueEdges.size() != 2) + { + globalErrorStream() << "Final B-Rep: inconsistent vertex count\n"; + } #if BRUSH_CONNECTIVITY_DEBUG if((uniqueVertices.size() + faces_size) - uniqueEdges.size() != 2) { for(Faces::iterator i = m_faces.begin(); i != m_faces.end(); ++i) { - std::size_t faceIndex = std::distance(m_faces.begin(), i); + std::size_t faceIndex = std::distance(m_faces.begin(), i); if(!(*i)->contributes()) {