fixed detail brushes being converted to structural by texture application

git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@77 8a3a26a2-13c4-0310-b231-cf6edde360e5
This commit is contained in:
spog 2006-06-03 13:24:20 +00:00
parent 3fe01800e2
commit 541e8259e7
3 changed files with 15 additions and 9 deletions

View file

@ -5,6 +5,7 @@ that we distribute with the binaries. (see changelog)
SPoG SPoG
- Changed doom3 entity creation to add model key for brush-entities. - Changed doom3 entity creation to add model key for brush-entities.
- Fixed crash in Save Region. - Fixed crash in Save Region.
- Fixed detail brushes being turned structural when texture is set.
29/05/2006 29/05/2006
SPoG SPoG

View file

@ -642,7 +642,8 @@ void global_accel_group_remove_accelerator(Accelerator accelerator)
/// \brief Propagates key events to the focus-widget, overriding global accelerators. /// \brief Propagates key events to the focus-widget, overriding global accelerators.
static gboolean override_global_accelerators(GtkWindow* window, GdkEventKey* event, gpointer data) 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) void global_accel_connect_window(GtkWindow* window)

View file

@ -378,14 +378,18 @@ public:
bool m_specified; bool m_specified;
}; };
inline unsigned int ContentFlags_assignable(unsigned int contentFlags) inline void ContentsFlagsValue_assignMasked(ContentsFlagsValue& flags, const ContentsFlagsValue& other)
{ {
return contentFlags & ~CONTENTS_DETAIL; bool detail = bitfield_enabled(flags.m_contentFlags, CONTENTS_DETAIL);
} flags = other;
if(detail)
inline ContentsFlagsValue ContentsFlagsValue_maskDetail(const ContentsFlagsValue& other) {
{ flags.m_contentFlags = bitfield_enable(flags.m_contentFlags, CONTENTS_DETAIL);
return ContentsFlagsValue(other.m_surfaceFlags, ContentFlags_assignable(other.m_contentFlags), other.m_value, other.m_specified); }
else
{
flags.m_contentFlags = bitfield_disable(flags.m_contentFlags, CONTENTS_DETAIL);
}
} }
@ -526,7 +530,7 @@ public:
void setFlags(const ContentsFlagsValue& flags) void setFlags(const ContentsFlagsValue& flags)
{ {
ASSERT_MESSAGE(m_realised, "FaceShader::setFlags: flags not valid when unrealised"); ASSERT_MESSAGE(m_realised, "FaceShader::setFlags: flags not valid when unrealised");
m_flags = ContentsFlagsValue_maskDetail(flags); ContentsFlagsValue_assignMasked(m_flags, flags);
} }
Shader* state() const Shader* state() const