Editor dialogue record Morrowind/TESCS compatibility issues
A couple issues popped up recently that prevent renamed omwaddon dialogue from being compatible with Morrowind/TESCS. This indicates insufficient ESM format understanding.
- Dialogue record IDs are not null-terminated, causing topic record names to be corrupted for e.g. edited responses from Morrowind's/TESCS' perspective. This prevents responses from being added to the right topic record.
@Assumeru narrowed it down to !2862 (merged) erroneously changing writeHNCRefId
(or, in .48, writeHNCString
) to writeHNString
for dialogue record ID writing, i.e. removing the null terminator.
- While seemingly not a regression, a connected issue is that OpenMW-CS' generated topic response IDs (32 hex-digit long random sequences based on QUuid + null terminator) are too long for Morrowind to handle, which seemingly expects 31 characters + null terminator as the longest possible ID. This can be harmlessly worked around by omitting a digit. Note that TESCS' generated response IDs are 4 concantenated random numbers (most likely 16-bit integers) written out in decimal digits, which roughly emulates 64-bit number generation, typically resulting in a numerical ID 17 to 20 characters long. Also note that as of Qt 5.11 which is below OpenMW's current minimum requirements QUuid allows to change the conversion string format to omit braces and hyphens the code tries to remove manually.
Edited by Alexei Kotov