0x000D
From SimsWiki
Revision as of 15:39, 24 April 2011 by MogHughson (Talk | contribs)
Push Interaction | ||
---|---|---|
OpCode: | 0x000D | |
Game Version: | The Sims 2 |
Contents |
Overview
This primitive provides a way to cause another interaction to be added to your Sims queue of interactions from BHAV code instead of by the user clicking on it. Useful when an interaction that could be chosen by the user is also needed from code. In order to choose the interaction to push, you need to know what number it is in the object's TTAB.
Use
There is no instruction wizard for this instruction, so the following table details the meaning of each of the operands. The Target of this instruction is always the Stack Object so prior to calling this instruction, ensure it is set correctly.
Operand | Description | Operand Values |
---|---|---|
0 | Interaction | Number in the pie menu functions list as a literal, unless operand 3 - bit 5, or operand 14 - bit 2 is set. |
1 | Qualifier for Object variable (either Param or Local controlled by Operand 3 - bit 2. | |
2 | Controls priority | 00: inherited priority 01: maximum priority 02: autonomous priority 03: user driven priority |
3 - bit 1 | Controls Icon Object | Takes precedent over operand 14 - bit 3 off: No Icon Object on: Icon Object in Local variable number in Operand 4. |
3 - bit 2 | Controls the Object variable | off: Param variable number in Operand 1 on: Local variable number in Operand 1 |
3 - bit 3 | Unused? | |
3 - bit 4 | Controls 'use name' | off: no 'use name' on: use name |
3 - bit 5 | Controls Interaction variable | off: Interaction is a Literal with value in Operand 0 on: Interaction number is stored in a variable whose type is in operand 5. |
3 - bit 6 | Controls 'force run Check Tree' | off: no 'force run Check Tree' on: force run Check Tree |
3 - bit 7 | Controls 'linking to interaction' | off: no 'linking to interaction' on: linking to interaction is stored in a variable whose type is in operand 8. |
3 - bit 8 | Controls 'returning ID' | off: no 'returning ID; on: returning ID is stored in a variable whose type is in operand 11. |
4 | Unused? | |
5 | Variable containing Interaction. The choices are any of the many variables and attributes that are part of SimAntics. Where the variable type can have many of them, e.g. Local variables, operands 6 and 7 give the low and high order byte respectively. | |
6 & 7 | qualifiers on the variable from operand 5, eg. Local(0xnnnn) | |
8 | Variable containing 'Linking to Interaction'. The choices are any of the many variables and attributes that are part of SimAntics. Where the variable type can have many of them, e.g. Local variables, operands 9 and 10 give the low and high order byte respectively. | |
9 & 10 | qualifiers on the variable from operand 8, eg. Local(0xnnnn) | |
11 | Variable containing 'returning ID'. The choices are any of the many variables and attributes that are part of SimAntics. Where the variable type can have many of them, e.g. Local variables, operands 12 and 13 give the low and high order byte respectively. | |
12 & 13 | qualifiers on the variable from operand 11, eg. Local(0xnnnn) | |
14 - bit 1 | Controls 'passing on Caller's params 0 to 3 | off: doesn't on: does |
14 - bit 2 | Controls Interaction | off: Variable or Literal (depending on other operands) on: from last FBA call |
14 - bit 3 | Controls Icon Object | off: No icon object on: Icon Object in Temp 0x0004,5 |
14 - bit 4 | Controls Icon Index | off: Icon index is a Literal number in operand 15 on: Icon index in Temp 0x0006 |
15 | Controls Icon Index | Literal number of Icon Index |