From: spog Date: Sat, 3 Jun 2006 13:24:20 +0000 (+0000) Subject: fixed detail brushes being converted to structural by texture application X-Git-Url: http://git.xonotic.org/?a=commitdiff_plain;h=5066a35849c9360fb02d91395dd4e72d32e5c7f0;p=xonotic%2Fnetradiant.git fixed detail brushes being converted to structural by texture application git-svn-id: https://zerowing.idsoftware.com/svn/radiant/GtkRadiant/trunk@77 8a3a26a2-13c4-0310-b231-cf6edde360e5 --- diff --git a/CHANGES b/CHANGES index e7eeaede..60931b22 100644 --- a/CHANGES +++ b/CHANGES @@ -5,6 +5,7 @@ that we distribute with the binaries. (see changelog) SPoG - Changed doom3 entity creation to add model key for brush-entities. - Fixed crash in Save Region. +- Fixed detail brushes being turned structural when texture is set. 29/05/2006 SPoG diff --git a/libs/gtkutil/accelerator.cpp b/libs/gtkutil/accelerator.cpp index 914fc9f9..af3eec17 100644 --- a/libs/gtkutil/accelerator.cpp +++ b/libs/gtkutil/accelerator.cpp @@ -642,7 +642,8 @@ void global_accel_group_remove_accelerator(Accelerator accelerator) /// \brief Propagates key events to the focus-widget, overriding global accelerators. static gboolean override_global_accelerators(GtkWindow* window, GdkEventKey* event, gpointer data) { - return gtk_window_propagate_key_event(window, event); + gboolean b = gtk_window_propagate_key_event(window, event); + return b; } void global_accel_connect_window(GtkWindow* window) diff --git a/radiant/brush.h b/radiant/brush.h index 8d31d3e7..81d16a62 100644 --- a/radiant/brush.h +++ b/radiant/brush.h @@ -378,14 +378,18 @@ public: bool m_specified; }; -inline unsigned int ContentFlags_assignable(unsigned int contentFlags) +inline void ContentsFlagsValue_assignMasked(ContentsFlagsValue& flags, const ContentsFlagsValue& other) { - return contentFlags & ~CONTENTS_DETAIL; -} - -inline ContentsFlagsValue ContentsFlagsValue_maskDetail(const ContentsFlagsValue& other) -{ - return ContentsFlagsValue(other.m_surfaceFlags, ContentFlags_assignable(other.m_contentFlags), other.m_value, other.m_specified); + bool detail = bitfield_enabled(flags.m_contentFlags, CONTENTS_DETAIL); + flags = other; + if(detail) + { + flags.m_contentFlags = bitfield_enable(flags.m_contentFlags, CONTENTS_DETAIL); + } + else + { + flags.m_contentFlags = bitfield_disable(flags.m_contentFlags, CONTENTS_DETAIL); + } } @@ -526,7 +530,7 @@ public: void setFlags(const ContentsFlagsValue& flags) { ASSERT_MESSAGE(m_realised, "FaceShader::setFlags: flags not valid when unrealised"); - m_flags = ContentsFlagsValue_maskDetail(flags); + ContentsFlagsValue_assignMasked(m_flags, flags); } Shader* state() const