Tomb-Editor
Tomb-Editor copied to clipboard
TE: Unpredictable random corruption of imported PRJs
Some time ago I have occasionally stumbled onto weird issue with certain room lights in imported PRJ (Karnak) which became total blackness in final compiled level:
Back then I solved it by simply restarting TE so I thought it was memory-related issue. However, recently I faced same bug again which doesn't go away on TE restart in Catacombs PRJ:
Strangely, if you re-import PRJ, occurence of corrupted lights may change. E.g., corruption occurs only on first import after TE restart at this point:
If you re-import same project again, it won't occur in this place:
I still think it may be related to certain circumstances in OS (high memory usage?), but nevertheless it will be nice if TE will provide some kind of warning or other feedback if such circumstances are about to occur. A program should provide correct output in any case, not regarding of circumstances, or don't provide output at all if it's about to be incorrect.
After more tests, more serious issues surfaced. It seems that light "blackouts" are totally random and can appear and disappear on various lights in various rooms (mostly directly connected to current room) on certain actions - such as undo/redo, texturing, toggling various light options, and so on.
This is video demonstration of what is happening: https://youtu.be/RM2JEG4ca9U
I can't reproduce it again... I think it's very weird problem related to specific system condition, e.g. restarting OS may help in such case.
It turns out that not only me experiencing this issue. Roli reports that not only lights are corrupted on PRJ import but also object positions and texture coordinates! In his case, issue only appears after re-saving PRJ to PRJ2 and reopening it.
Is this still happening these days?
I think legacy .PRJ import is as good as it gets, and if there's any more issues with it, I don't think anyone would care much about it. Most people have fully moved to TE, and the very few people, who still use RoomEdit / NGLE, prefer to not port their projects over and simply finish them with the old tools that they started with.
If this issue is totally random and hard to replicate, then I don't think it's worth spending too much time on it.