Skip to content

Strings from NIF should be parsed only to first null terminator

An example of affected file: Animations.zip

This KF file from Greatness7 is supposed to replace walk/run animations to swim ones, but bone names in NiStringExtraData's from this file are null-terminated, while bone names in skeletons are not null-terminated. As a result, OpenMW can not find requested bones and spams addAnimSource: can't find bone warnings, while an original engine just reads strings only to the first null terminator, so the file works well.

In theory, NIFStream::getSizedString() should trim output std::string to the first null-terminator, but I am not sure how it will affect performance.