diff --git a/CHANGES b/CHANGES index 2c2ad867..71adb846 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,8 @@ SPoG - Fixed doom3 func_static with model not appearing to move when dragged. - Changed ASE model loader to parse material names the same way as DoomEdit. - Fixed title of wait-dialog when loading a model. +- Fixed doom3 func_static with blank 'model' key being invisible. +- Changed doom3 func_static model creation to replace selected models. 09/07/2006 Shaderman diff --git a/plugins/entity/doom3group.cpp b/plugins/entity/doom3group.cpp index 4fbc0ccf..c8a0b8cf 100644 --- a/plugins/entity/doom3group.cpp +++ b/plugins/entity/doom3group.cpp @@ -198,7 +198,7 @@ private: void updateIsModel() { - setIsModel(!string_empty(m_modelKey.c_str()) && !string_equal(m_modelKey.c_str(), m_name.c_str())); + setIsModel(!string_equal(m_modelKey.c_str(), m_name.c_str())); } void nameChanged(const char* value) diff --git a/radiant/entity.cpp b/radiant/entity.cpp index eb4dea50..6fb499fd 100644 --- a/radiant/entity.cpp +++ b/radiant/entity.cpp @@ -246,7 +246,7 @@ void Entity_createFromSelection(const char* name, const Vector3& origin) entitypath.push(makeReference(node.get())); scene::Instance& instance = findInstance(entitypath); - if(entityClass->fixedsize) + if(entityClass->fixedsize || (isModel && !brushesSelected)) { Select_Delete(); @@ -264,13 +264,13 @@ void Entity_createFromSelection(const char* name, const Vector3& origin) } else { - Scene_parentSelectedBrushesToEntity(GlobalSceneGraph(), node); - Scene_forEachChildSelectable(SelectableSetSelected(true), instance.path()); - if (g_pGameDescription->mGameType == "doom3") { Node_getEntity(node)->setKeyValue("model", Node_getEntity(node)->getKeyValue("name")); } + + Scene_parentSelectedBrushesToEntity(GlobalSceneGraph(), node); + Scene_forEachChildSelectable(SelectableSetSelected(true), instance.path()); } // tweaking: when right clic dropping a light entity, ask for light value in a custom dialog box