Index into a slotted array and assign a sub-object to another slot
Look up the array in slot parent_slot
Retrieve the sub-object at the index specified in array_id
Place sub-object into the slot new_slot
or the next available slot if new_slot
is 0.
Return the new slot number.
C
C
parent_slot
uint32_t
Slot the parent array is in
array_id
uint32_t
The sf
code of the field you are searching for.
To compute this manually take the serialized type
and shift it into the 16 highest bits of uint32_t, then take the field
and place it in the 16 lowest bits.
For example:
sfEmitNonce
has type
5 and field
11 thus its value is 0x050BU
new_slot
uint32_t
New slot number to place the object from the selected array index into. If null, choose the next available slot. May be null.
int64_t
The slot number of the newly allocated object
If negative, an error:
DOESNT_EXIST
- The specified array_id
doesn't exist in the array pointed to by parent_slot
NO_FREE_SLOTS
- The API would require a new slot to be allocated but the Hook is already at the maximum number of slots.
NOT_AN_ARRAY
- The specified parent_slot
does not contain an STArray.