Difference between revisions of "AddForm - FormList"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>DavidJCobb
(→‎Notes: created refs aren't made persistent by membership in form lists!)
imported>DavidJCobb
(→‎Notes: list item order)
Line 23: Line 23:


== Notes ==
== Notes ==
* This function adds the new form at the 0th index, adding 1 to the indices of the other list entries.
* 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''.
* 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.

Revision as of 14:44, 19 April 2019

Member of: FormList Script

Adds the given form to the form list.

Syntax

Function AddForm(Form apForm) native

Parameters

  • apForm: Form to add to the list, if apForm == None this function seems to have no effect

Return Value

None

Examples

; Adds the diamond to the gem list
GemList.AddForm(Diamond)

Notes

  • 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.
  • 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.

See Also