Difference between revisions of "AddForm - FormList"

227 bytes added ,  15:09, 19 April 2019
m
imported>DavidJCobb
(→‎Notes: ARGH)
imported>DavidJCobb
Line 25: Line 25:
* It is not clear where in the list the form will be added.
* It is not clear where in the list the form will be added.
** Code analysis indicates that new forms are appended to a block at the start of the list. This is ''almost'' the same as adding them to the start of the list. If the Creation Kit defines a FormList with elements A and B, and you add elements C, D, and E in that order, then the expected list order based on disassembly of the executable would be ''C D E A B''.
** Code analysis indicates that new forms are appended to a block at the start of the list. This is ''almost'' the same as adding them to the start of the list. If the Creation Kit defines a FormList with elements A and B, and you add elements C, D, and E in that order, then the expected list order based on disassembly of the executable would be ''C D E A B''.
** The same editor who performed that code analysis also ran a simple test in-game, adding three activators to a FormList that already contained two. The resulting order was ''A B C D E''.
** The same wiki editor who performed that code analysis also ran a simple test in-game, adding three activators to a FormList that already contained two. The resulting order was ''A B C D E''.
** Other wiki editors have observed elements being added to the start of the list, although it's not clear whether they tested multiple additions (the difference between prepending, and appending to a block at the start).
* FormLists cannot contain duplicate entries. Using AddForm(...) with a form that is already in the list will not add a second copy to the list.
* FormLists cannot contain duplicate entries. Using AddForm(...) with a form that is already in the list will not add a second copy to the list.
* A created reference does not become persistent by virtue of being added to a FormList. If you try to retrieve the reference from the FormList when it is not loaded and not persistent, you will get an incorrect result or no result.
* A created reference does not become persistent by virtue of being added to a FormList. If you try to retrieve the reference from the FormList when it is not loaded and not persistent, you will get an incorrect result or no result.
Anonymous user