Talk:Modifying an existing level: Difference between revisions

m
no edit summary
mNo edit summary
mNo edit summary
Line 212: Line 212:
=====Roundtripping=====
=====Roundtripping=====
* On a general note: Roundtripping data is a very effective method to detect observable differences and bugs that were introduced by the initial codebase conversion.
* On a general note: Roundtripping data is a very effective method to detect observable differences and bugs that were introduced by the initial codebase conversion.
* More specifically: Descriptor IDs, such as in <code><TRAC id="6787"></code>, are not preserved because ONI files use ''local'' IDs and are later repacked during DAT creation. Therefore, IDs in XML/ONI are typically reset to 0.
* More specifically: '''Descriptor IDs''', such as in <code><TRAC id="6787"></code>, are '''typically reset to 0 and then incremented by 1''' for each instance. '''ONI files''' are '''modular containers for''' different '''subfile types''', or as we say, '''instances'''. Therefore, ONI files use '''[[XML:TxtC#Example|local IDs]]'''. Eventually, all [[XML:DOOR#File_structure|instances]] become repacked later when the larger level archives (DAT) are rebuilt.
** Therefore, you can define hash parity of output files as a general goal, with the exception that differences can be ignored if they are caused only by non-semantic ID changes. In other words: you may consider semantic equivalence under normalized comparison as sufficient.
** Therefore, you can define '''hash parity''' of output files as a '''general goal''', with the '''exception''' that differences can be ignored if they are caused only by '''non-semantic ID changes'''. In other words: you may consider semantic equivalence under normalized comparison as sufficient.
** By the way, DAE files - which are internally XML - contain a tag for the authoring tool and version. Therefore, these files may also differ at the byte level.
** By the way, DAE files - which are internally XML - contain tags for the authoring tool and version. Therefore, these files may also differ at the byte level.


=====Agent.md example=====
=====Agent.md example=====
8,981

edits