Skip to content

Show original dialogue name

Dialogues are identified by ESM::RefId with string values which are stored in a shared static map. When a new object of ESM::StringRefId is created if the value exist in the map it will be reused. The map keys are case-insensitive so if there are 2 equal ids bu having different case loaded from content files the first one will be used. This leads to issues like described in this comment.

Add mStringId field to ESM::Dialogue to store original value from the content file and use it to show dialogue name in the dialogue menu. Add new sub record ID__ to store ESM::RefId assuming it may have any type and use NAME to store mStringId for new save files. For MaxStringRefIdFormatVersion and older format versions load mStringId from NAME first and then convert it to mId. For versions in between load NAME as mId and convert it to mStringId. Also support new field in the editor.

Merge request reports

Loading