Optimize actors data storing in savegame
Known issues:
We store data for dead actors even after we dispose corpses while Morrowind does not do it.We store skill increases count (INCR subrecord) for every NpcStats, while it is used only for player.We write bool flags as integers (4 bytes + metadata for every flag which we set), while it is possible to use a single integer to store all flags (there are 13 flags ATM).-
For equipped items (EQUI subrecord) we use integers to store slot Id's. It may be an overkill, a byte may be enough.Does not make much difference We write mTradeTime for every actor, not just for traders.-
Does not make much differencemReputation
andmDisposition
from NpcStats are unsigned chars in Morrowind, not integers. -
We store skills, stats, dynamic stats, and AI settings for every actor in visited cells, despite in 99% of cases such data is just the same as in ESM files.Would require a major re-design
Edited by Andrei Kortunov