mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-05-06 19:01:21 +03:00
Merge branch 'master' into filter
Conflicts: apps/opencs/model/world/universalid.cpp apps/opencs/view/doc/view.cpp apps/opencs/view/world/subviews.cpp
This commit is contained in:
commit
adb05737ee
107 changed files with 3082 additions and 810 deletions
|
@ -71,16 +71,26 @@ public:
|
|||
}
|
||||
|
||||
/// Look up the actual object from the index
|
||||
X* getPtr() const
|
||||
const X* getPtr() const
|
||||
{
|
||||
assert(ptr != NULL);
|
||||
return ptr;
|
||||
}
|
||||
X& get() const
|
||||
X* getPtr()
|
||||
{
|
||||
assert(ptr != NULL);
|
||||
return ptr;
|
||||
}
|
||||
|
||||
const X& get() const
|
||||
{ return *getPtr(); }
|
||||
X& get()
|
||||
{ return *getPtr(); }
|
||||
|
||||
/// Syntactic sugar
|
||||
X* operator->() const
|
||||
const X* operator->() const
|
||||
{ return getPtr(); }
|
||||
X* operator->()
|
||||
{ return getPtr(); }
|
||||
|
||||
/// Pointers are allowed to be empty
|
||||
|
@ -116,6 +126,8 @@ public:
|
|||
|
||||
const Ptr& operator[](size_t index) const
|
||||
{ return list.at(index); }
|
||||
Ptr& operator[](size_t index)
|
||||
{ return list.at(index); }
|
||||
|
||||
size_t length() const
|
||||
{ return list.size(); }
|
||||
|
|
|
@ -688,6 +688,21 @@ class NIFObjectLoader
|
|||
}
|
||||
|
||||
std::string::size_type nextpos = std::min(str.find('\r', pos), str.find('\n', pos));
|
||||
if(nextpos != std::string::npos)
|
||||
{
|
||||
do {
|
||||
nextpos--;
|
||||
} while(nextpos > pos && ::isspace(str[nextpos]));
|
||||
nextpos++;
|
||||
}
|
||||
else if(::isspace(*str.rbegin()))
|
||||
{
|
||||
std::string::const_iterator last = str.end();
|
||||
do {
|
||||
last--;
|
||||
} while(last != str.begin() && ::isspace(*last));
|
||||
nextpos = std::distance(str.begin(), ++last);
|
||||
}
|
||||
std::string result = str.substr(pos, nextpos-pos);
|
||||
textkeys.insert(std::make_pair(tk->list[i].time, Misc::StringUtils::toLower(result)));
|
||||
|
||||
|
@ -743,7 +758,7 @@ class NIFObjectLoader
|
|||
e = e->extra;
|
||||
}
|
||||
|
||||
if(!node->controller.empty())
|
||||
if(!node->controller.empty() && (node->parent || node->recType != Nif::RC_NiNode))
|
||||
createNodeControllers(name, node->controller, objectlist, animflags);
|
||||
|
||||
if(node->recType == Nif::RC_NiCamera)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue