[Go back to index]

Asobo\Generic\Helpers.xml

Source XML
<ModelBehaviors> <Template Name="ASOBO_GT_Helper_Recursive_Param_Builder"> <DefaultTemplateParameters> <PARAM_REPEATED_START/> <PARAM_REPEATED_END/> <PARAM_START/> <PARAM_END/> <ID>1</ID> </DefaultTemplateParameters> <OverrideTemplateParameters> <PARAM_TO_BUILD/> <NEXT_ID>2</NEXT_ID> </OverrideTemplateParameters> <UseTemplate Name="ASOBO_GT_Helper_Recursive_Param_Builder_2"> </UseTemplate> </Template> <Template Name="ASOBO_GT_Helper_Recursive_Param_Builder_2"> <DefaultTemplateParameters> <PARAM_REPEATED_2_START/> <PARAM_REPEATED_2_END/> </DefaultTemplateParameters> <OverrideTemplateParameters> <Condition> <Test> <Or> <Arg NotEmpty="PARAM_REPEATED_2_START"/> <Arg NotEmpty="PARAM_REPEATED_2_END"/> </Or> </Test> <True> <PARAM_TO_BUILD>#PARAM_TO_BUILD##PARAM_REPEATED_START##ID##PARAM_REPEATED_END##PARAM_REPEATED_2_START##ID##PARAM_REPEATED_2_END#</PARAM_TO_BUILD> </True> <False> <PARAM_TO_BUILD>#PARAM_TO_BUILD##PARAM_REPEATED_START##ID##PARAM_REPEATED_END#</PARAM_TO_BUILD> </False> </Condition> <TEST_ID Process="Param">ID#NEXT_ID#</TEST_ID> </OverrideTemplateParameters> <Condition NotEmpty="TEST_ID"> <True> <UseTemplate Name="ASOBO_GT_Helper_Recursive_Param_Builder_2"> <ID>#TEST_ID#</ID> <NEXT_ID Process="Int">#NEXT_ID# 1 +</NEXT_ID> </UseTemplate> </True> <False> <UseTemplate Name="#EXIT_TEMPLATE#"> <#PARAM_NAME#>#PARAM_START##PARAM_TO_BUILD##PARAM_END#</#PARAM_NAME#> </UseTemplate> </False> </Condition> </Template> <!-- Incremental param builder: build as much param as requested with desired content, prefix and suffix --> <Template Name="ASOBO_GT_Helper_Param_Builder_INC"> <DefaultTemplateParameters> <CONTENT></CONTENT><!-- What's in between prefix and suffix (both optional) --> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Helper_Param_Builder_INC_1"> <PARAM_ID>1</PARAM_ID><!-- Must be an integer (incremented) --> </UseTemplate> </Template> <Template Name="ASOBO_GT_Helper_Param_Builder_INC_1"> <OverrideTemplateParameters> <Condition Valid="PARAM#PARAM_ID#"> <Condition Valid="PROCESS_PARAM#PARAM_ID#"> <PROCESS_PARAM>True</PROCESS_PARAM> </Condition> <PARAM_NAME Process="Param">PARAM#PARAM_ID#</PARAM_NAME> <Condition Valid="PARAM#PARAM_ID#_PREFIX"> <True> <PREFIX Process="Param">PARAM#PARAM_ID#_PREFIX</PREFIX> </True> <False> <PREFIX/> </False> </Condition> <Condition Valid="PARAM#PARAM_ID#_SUFFIX"> <True> <SUFFIX Process="Param">PARAM#PARAM_ID#_SUFFIX</SUFFIX> </True> <False> <SUFFIX/> </False> </Condition> </Condition> </OverrideTemplateParameters> <Switch> <Case Valid="PARAM#PARAM_ID#"> <UseTemplate Name="ASOBO_GT_Helper_Param_Builder_INC_1"> <PARAM_ID Process="Int">#PARAM_ID# 1 +</PARAM_ID> <Condition Valid="PROCESS_PARAM"> <True> <Condition NotEmpty="#PREFIX##CONTENT##SUFFIX#"><!-- Make sure param is not empty --> <#PARAM_NAME# Process="Param">#PREFIX##CONTENT##SUFFIX#</#PARAM_NAME#> <PROCESS_PARAM>False</PROCESS_PARAM><!-- Reset flag --> </Condition> </True> <False> <#PARAM_NAME#>#PREFIX##CONTENT##SUFFIX#</#PARAM_NAME#> </False> </Condition> </UseTemplate> </Case> <Default> <UseTemplate Name="#EXIT_TEMPLATE#"> </UseTemplate> </Default> </Switch> </Template> <!-- call EXIT_TEMPLATE as many times as MAX_ID each time with the param PARAM increasing by one --> <Template Name="ASOBO_GT_Helper_Increasing_ID"> <DefaultTemplateParameters> <FIRST_ID>1</FIRST_ID> <MAX_ID>1</MAX_ID> <PARAM>BTN_ID</PARAM> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Helper_Increasing_ID_2"> <NEXT_ID>#FIRST_ID#</NEXT_ID> </UseTemplate> </Template> <Template Name="ASOBO_GT_Helper_Increasing_ID_2"> <UseTemplate Name="#EXIT_TEMPLATE#"> <#PARAM#>#NEXT_ID#</#PARAM#> </UseTemplate> <Condition> <Test> <Lower> <Number>#NEXT_ID#</Number> <Number>#MAX_ID#</Number> </Lower> </Test> <True> <UseTemplate Name="ASOBO_GT_Helper_Increasing_ID_2"> <NEXT_ID Process="Int">#NEXT_ID# 1 +</NEXT_ID> </UseTemplate> </True> </Condition> </Template> <!-- call EXIT_TEMPLATE with as much parameters as given for multiple IDs PARAM1 (ID by default): dynamic, goes from FIRST_ID to MAX_ID (Integer) can be configured to add as many as you want with specified PREFIX and SUFFIX (ex: PARAM2: NODE_ID, PARAM2_PREFIX: Node_, MAX_ID:2 ; will generate: <NODE_ID>Node_1</NODE_ID><ID>1</ID> for the first call to EXIT_TEMPLATE <NODE_ID>Node_2</NODE_ID><ID>2</ID> for the second ) --> <Template Name="ASOBO_GT_Helper_Recursive_ID"> <DefaultTemplateParameters> <FIRST_ID>1</FIRST_ID> <MAX_ID>1</MAX_ID> <PARAM1>ID</PARAM1> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Helper_Recursive_ID_2"> <NEXT_ID>#FIRST_ID#</NEXT_ID> </UseTemplate> </Template> <Template Name="ASOBO_GT_Helper_Recursive_ID_2"> <UseTemplate Name="ASOBO_GT_Helper_Param_Builder_INC"> <CONTENT>#NEXT_ID#</CONTENT> </UseTemplate> <Condition> <Test> <Lower> <Number>#NEXT_ID#</Number> <Number>#MAX_ID#</Number> </Lower> </Test> <True> <UseTemplate Name="ASOBO_GT_Helper_Recursive_ID_2"> <NEXT_ID Process="Int">#NEXT_ID# 1 +</NEXT_ID> </UseTemplate> </True> </Condition> </Template> <Template Name="ASOBO_GT_Helper_Suffix_ID_Appender"> <DefaultTemplateParameters> <Switch> <Case Valid="DONT_APPEND_ID"> <SUFFIX_ID></SUFFIX_ID> </Case> <Default> <Condition NotEmpty="CONTAINER_ID"> <True> <SUFFIX_ID>_#CONTAINER_ID#</SUFFIX_ID> </True> <False> <SUFFIX_ID>_#ID#</SUFFIX_ID> </False> </Condition> </Default> </Switch> </DefaultTemplateParameters> <UseTemplate Name="#TEMPLATE_TO_CALL#"> </UseTemplate> </Template> <Template Name="ASOBO_GT_Helper_Non_Linear_Animation_Code"> <DefaultTemplateParameters> <SELECTION>50</SELECTION><!-- dynamic parameter for example gallons qty in a fuel tank --> <!-- at least 2 points of reference to interpolate --> <!-- ANIM_VALUE = frame for which the REF_VALUE is corresponding --> <!-- REF_VALUE = value used as a comparison point to SELECTION --> <ANIM_VALUE_0>0</ANIM_VALUE_0> <REF_VALUE_0>0</REF_VALUE_0> <ANIM_VALUE_1>100</ANIM_VALUE_1> <REF_VALUE_1>100</REF_VALUE_1> <!-- Add as much as necessary when calling the template --> <!-- ######################################################### --> <ANIM_LENGTH>100</ANIM_LENGTH><!-- number of frame in the animation --> <MAX_POINT_INDEX>1</MAX_POINT_INDEX><!-- index of latest point of reference --> <MAX_DISPLAYABLE>100</MAX_DISPLAYABLE><!-- higher bound the value SELECTION can reach (the maximum your gauge can display) --> <MIN_DISPLAYABLE>0</MIN_DISPLAYABLE><!-- lower bound the value SELECTION can reach (the minimum your gauge can display) --> <EXIT_TEMPLATE>ASOBO_GT_Anim_Code</EXIT_TEMPLATE> <EXIT_PARAM_NAME>ANIM_CODE</EXIT_PARAM_NAME> <CONTENT></CONTENT><!-- CONTENT init: can be used to tweak the value before interpolating --> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Helper_Non_Linear_Animation_Code_2"> <NEXT_ID Process="Int">#MAX_POINT_INDEX#</NEXT_ID> </UseTemplate> </Template> <Template Name="ASOBO_GT_Helper_Non_Linear_Animation_Code_2"> <OverrideTemplateParameters> <ANIM_VAL_CURRENT_POINT Process="Param">ANIM_VALUE_#NEXT_ID#</ANIM_VAL_CURRENT_POINT> <REF_VAL_CURRENT_POINT Process="Param">REF_VALUE_#NEXT_ID#</REF_VAL_CURRENT_POINT> </OverrideTemplateParameters> <Condition> <Test> <GreaterOrEqual> <Number>#NEXT_ID#</Number> <Number>0</Number> </GreaterOrEqual> </Test> <True> <Condition> <Test> <Equal> <Number>#NEXT_ID#</Number> <Number>#MAX_POINT_INDEX#</Number> </Equal> </Test> <True> <!-- First point (higher bound) --> <UseTemplate Name="ASOBO_GT_Helper_Non_Linear_Animation_Code_2"> <NEXT_ID Process="Int">#NEXT_ID# 1 -</NEXT_ID> <ANIM_VAL_PREVIOUS_POINT Process="Param">ANIM_VALUE_#NEXT_ID#</ANIM_VAL_PREVIOUS_POINT> <REF_VAL_PREVIOUS_POINT Process="Param">REF_VALUE_#NEXT_ID#</REF_VAL_PREVIOUS_POINT> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO_GT_Helper_Non_Linear_Animation_Code_2"> <NEXT_ID Process="Int">#NEXT_ID# 1 -</NEXT_ID> <CONTENT> #CONTENT# l0 #REF_VAL_CURRENT_POINT# &gt; if{ l0 #REF_VAL_CURRENT_POINT# - #REF_VAL_PREVIOUS_POINT# #REF_VAL_CURRENT_POINT# - / #ANIM_VAL_PREVIOUS_POINT# #ANIM_VAL_CURRENT_POINT# - * #ANIM_VAL_CURRENT_POINT# + sp1 g1 } </CONTENT> <ANIM_VAL_PREVIOUS_POINT Process="Param">ANIM_VALUE_#NEXT_ID#</ANIM_VAL_PREVIOUS_POINT> <REF_VAL_PREVIOUS_POINT Process="Param">REF_VALUE_#NEXT_ID#</REF_VAL_PREVIOUS_POINT> </UseTemplate> </False> </Condition> </True> <False> <UseTemplate Name="ASOBO_GT_Helper_Non_Linear_Animation_Code_3"> </UseTemplate> </False> </Condition> </Template> <Template Name="ASOBO_GT_Helper_Non_Linear_Animation_Code_3"> <UseTemplate Name="#EXIT_TEMPLATE#"> <#EXIT_PARAM_NAME#> #SELECTION# #MAX_DISPLAYABLE# min #MIN_DISPLAYABLE# max sp0 #CONTENT# :1 l1 </#EXIT_PARAM_NAME#> </UseTemplate> </Template> <ParametersFn Name="Get_Max_Param_Iteration"> <Parameters Type="Default"> <MAX_VALUE>-1</MAX_VALUE> <PARAM_PREFIX/> <PARAM_SUFFIX/> <MAX_ITERATION>0</MAX_ITERATION> <OUTGOING_PARAM>OUT_VALUE</OUTGOING_PARAM> </Parameters> <Parameters Type="Override"> <Loop> <Setup> <Param>CUR_ID</Param> <From>1</From> <Inc>1</Inc> <While> <Not> <Arg Valid="INFINITE"/> </Not> </While> </Setup> <Do> <SaveParameters ID="Prop_#ID#_FoundValue"> <FOUND_VALUE>False</FOUND_VALUE> <MAX_ITERATION>#MAX_ITERATION#</MAX_ITERATION> </SaveParameters> <Parameters Type="Override" Lifetime="Loop"> <Loop> <Setup> <Param>CUR_PARAM_ID</Param> <From>0</From> <Inc>1</Inc> <While> <Or> <Arg NotEmpty="PARAM_PREFIX_#CUR_PARAM_ID#"/> <Arg NotEmpty="PARAM_SUFIX_#CUR_PARAM_ID#"/> </Or> </While> </Setup> <Do> <Parameters Type="Override" Lifetime="Iteration"> <PARAM_PREFIX Process="Param">PARAM_PREFIX_#CUR_PARAM_ID#</PARAM_PREFIX> <PARAM_SUFIX Process="Param">PARAM_SUFIX_#CUR_PARAM_ID#</PARAM_SUFIX> </Parameters> <Parameters Type="Override" Lifetime="Iteration"> <PARAM_FINAL Process="Param">#PARAM_PREFIX##CUR_ID##PARAM_SUFFIX#</PARAM_FINAL> </Parameters> <Parameters Type="Override" Lifetime="Loop"> <Condition NotEmpty="PARAM_FINAL"> <SaveParameters ID="Prop_#ID#_FoundValue"> <FOUND_VALUE>True</FOUND_VALUE> <MAX_ITERATION Process="Int">#MAX_ITERATION# #CUR_ID# max</MAX_ITERATION> </SaveParameters> </Condition> </Parameters> </Do> </Loop> <LoadParameters ID="Prop_#ID#_FoundValue"/> <Condition Valid="FOUND_VALUE"> <False> <Break/> </False> </Condition> </Parameters> </Do> </Loop> <LoadParameters ID="Prop_#ID#_FoundValue"/> </Parameters> <ReturnParameters> <#OUTGOING_PARAM# Process="Int">#MAX_ITERATION#</#OUTGOING_PARAM#> </ReturnParameters> </ParametersFn> <!-- ############################################################################## --> <!-- Append if not Empty --> <ParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <Parameters Type="Default"> <OUT_PARAM_NAME>#PARAM#</OUT_PARAM_NAME> </Parameters> <Parameters Type="Override"> <PARAM_CONTENT Process="Param">#PARAM#</PARAM_CONTENT> <PREV_CONTENT Process="Param">#OUT_PARAM_NAME#</PREV_CONTENT> </Parameters> <ReturnParameters> <Condition NotEmpty="PARAM_CONTENT"> <Condition NotEmpty="PREV_CONTENT"> <True> <Switch> <Case Valid="APPEND_BEFORE"> <#OUT_PARAM_NAME#>#PARAM_CONTENT# #PREV_CONTENT#</#OUT_PARAM_NAME#> </Case> <Default> <#OUT_PARAM_NAME#>#PREV_CONTENT# #PARAM_CONTENT#</#OUT_PARAM_NAME#> </Default> </Switch> </True> <False> <#OUT_PARAM_NAME#>#PARAM_CONTENT#</#OUT_PARAM_NAME#> </False> </Condition> </Condition> </ReturnParameters> </ParametersFn> <!-- ############################################################################## --> <ParametersFn Name="ASOBO_Gates_Input_Handling"> <Parameters Type="Default"> <VAR_UID/> <GET_GATES>Lever_Gates</GET_GATES> <GET_GATES_CONFIG>Lever_Gates_Config</GET_GATES_CONFIG> <OUT_PARAM_NAME>GATE_CLAMP_VALUE_CHECK</OUT_PARAM_NAME> <OUT_PARAM_IS_AT_GATE>IS_AT_ANY_GATE_CHECK</OUT_PARAM_IS_AT_GATE> <OUT_PARAM_SET_CAN_BYPASS_GATE>SET_CAN_BYPASS_GATE</OUT_PARAM_SET_CAN_BYPASS_GATE> <INC_HOLD_DURATION_TO_BYPASS_GATE>0.0</INC_HOLD_DURATION_TO_BYPASS_GATE> <DEC_HOLD_DURATION_TO_BYPASS_GATE>0.3</DEC_HOLD_DURATION_TO_BYPASS_GATE> <IN_RANGE_OFFSET>0.0001</IN_RANGE_OFFSET> </Parameters> <Parameters Type="Override"> <LoadParameters ID="#GET_GATES_CONFIG#"/> <Condition NotEmpty="VAR_UID"> <True> <VAR_UID_PREFIX>_#VAR_UID#</VAR_UID_PREFIX> </True> <False> <VAR_UID_PREFIX/> </False> </Condition> </Parameters> <ReturnParameters> <Loop> <Setup> <Value>GATE_NAME</Value> <Parameters> <LoadParameters ID="#GET_GATES#"/> </Parameters> </Setup> <Do> <Parameters Type="Override"> <GATE_POSITION Process="Param">#GATE_NAME#_IE_PERCENT_SET</GATE_POSITION> <GATE_DIRECTION Process="Param">#GATE_NAME#_GATE_DIRECTION</GATE_DIRECTION> <GATE_DEC_HOLD_DURATION Process="Param">#GATE_NAME#_DEC_HOLD_DURATION</GATE_DEC_HOLD_DURATION> <GATE_INC_HOLD_DURATION Process="Param">#GATE_NAME#_INC_HOLD_DURATION</GATE_INC_HOLD_DURATION> </Parameters> <Parameters Type="Override"> <GATE_POS_NORMALIZED Process="Float">#GATE_POSITION# 100 /</GATE_POS_NORMALIZED> <Condition NotEmpty="GATE_INC_HOLD_DURATION"> <False> <GATE_INC_HOLD_DURATION>#INC_HOLD_DURATION_TO_BYPASS_GATE#</GATE_INC_HOLD_DURATION> </False> </Condition> <Condition NotEmpty="GATE_DEC_HOLD_DURATION"> <False> <GATE_DEC_HOLD_DURATION>#DEC_HOLD_DURATION_TO_BYPASS_GATE#</GATE_DEC_HOLD_DURATION> </False> </Condition> </Parameters> <Parameters Type="Override"> <GATE_POS_NORMALIZED_UP Process="Float">#GATE_POS_NORMALIZED# #IN_RANGE_OFFSET# +</GATE_POS_NORMALIZED_UP> <GATE_POS_NORMALIZED_DN Process="Float">#GATE_POS_NORMALIZED# #IN_RANGE_OFFSET# -</GATE_POS_NORMALIZED_DN> </Parameters> <Parameters Type="Override"> <IS_AT_GATE_CHECK>#GATE_POS_NORMALIZED_DN# #GATE_POS_NORMALIZED_UP# l0 rng</IS_AT_GATE_CHECK> </Parameters> <Parameters Type="Override"> <Switch Param="GATE_DIRECTION"> <Case Value="Both"> <!-- check is we in/decremented past the gate or already are at the gate --> <THIS_GATE_CHECK> l1 #GATE_POS_NORMALIZED_UP# &gt; l0 #GATE_POS_NORMALIZED_DN# &lt;= and l1 #GATE_POS_NORMALIZED_UP# &lt; l0 #GATE_POS_NORMALIZED_DN# &gt;= and or #IS_AT_GATE_CHECK# or </THIS_GATE_CHECK> <THIS_GATE_VALUE_AND_HOLD_DURATION> #GATE_POS_NORMALIZED# sp4 l1 l0 &gt; if{ #GATE_INC_HOLD_DURATION# sp6 } els{ #GATE_DEC_HOLD_DURATION# sp6 } </THIS_GATE_VALUE_AND_HOLD_DURATION> </Case> <Case Value="Inc"> <THIS_GATE_CHECK>l1 #GATE_POS_NORMALIZED_UP# &gt; l0 #GATE_POS_NORMALIZED_DN# &lt;= and #IS_AT_GATE_CHECK# or</THIS_GATE_CHECK> <THIS_GATE_VALUE_AND_HOLD_DURATION>#GATE_POS_NORMALIZED# sp4 #GATE_INC_HOLD_DURATION# sp6</THIS_GATE_VALUE_AND_HOLD_DURATION> </Case> <Case Value="Dec"> <THIS_GATE_CHECK>l1 #GATE_POS_NORMALIZED_UP# &lt; l0 #GATE_POS_NORMALIZED_DN# &gt;= and #IS_AT_GATE_CHECK# or</THIS_GATE_CHECK> <THIS_GATE_VALUE_AND_HOLD_DURATION>#GATE_POS_NORMALIZED# sp4 #GATE_DEC_HOLD_DURATION# sp6</THIS_GATE_VALUE_AND_HOLD_DURATION> </Case> </Switch> </Parameters> <Parameters Type="Override" Lifetime="Loop"> <Condition NotEmpty="THIS_GATE_CHECK"> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_CHECK_GATE_BYPASSED</PARAM> <OUT_PARAM_NAME>CHECK_GATE_BYPASSED</OUT_PARAM_NAME> <THIS_CHECK_GATE_BYPASSED>#THIS_GATE_CHECK# if{ 1 sp3 #THIS_GATE_VALUE_AND_HOLD_DURATION# }</THIS_CHECK_GATE_BYPASSED> </UseParametersFn> <Condition NotEmpty="CHECK_IS_AT_ANY_GATE"> <True> <CHECK_IS_AT_ANY_GATE>#CHECK_IS_AT_ANY_GATE# #IS_AT_GATE_CHECK# or</CHECK_IS_AT_ANY_GATE> </True> <False> <CHECK_IS_AT_ANY_GATE>#IS_AT_GATE_CHECK#</CHECK_IS_AT_ANY_GATE> </False> </Condition> </Condition> </Parameters> </Do> <Then> <Condition NotEmpty="CHECK_GATE_BYPASSED"> <True> <#OUT_PARAM_NAME#> sp1 '#INPUT_NAME#' 'pressed_or_down'_n (F:InputAction) if{ #GET_POSITION_PCT_OVER_100# sp0 #CHECK_GATE_BYPASSED# l3 if{ '#INPUT_NAME#' 'pressed_or_down_time'_n (F:InputAction) sp5 (O:XMLVAR#VAR_UID_PREFIX#_Can_Bypass_Gate) ! if{ l5 (O:XMLVAR#VAR_UID_PREFIX#_Last_Pressed_Time) &lt; if{ (* we release the button and started pressing again *) 1 (&gt;O:XMLVAR#VAR_UID_PREFIX#_Can_Bypass_Gate) 0 (&gt;O:XMLVAR#VAR_UID_PREFIX#_Last_Pressed_Time) } els{ l5 (&gt;O:XMLVAR#VAR_UID_PREFIX#_Last_Pressed_Time) l4 sp1 } } (O:XMLVAR#VAR_UID_PREFIX#_Can_Bypass_Gate) if{ l5 l6 &lt; if{ l4 sp1 } els{ 0 (&gt;O:XMLVAR#VAR_UID_PREFIX#_Can_Bypass_Gate) } } } els{ 0 (&gt;O:XMLVAR#VAR_UID_PREFIX#_Last_Pressed_Time) } } l1 </#OUT_PARAM_NAME#> <#OUT_PARAM_IS_AT_GATE#>#CHECK_IS_AT_ANY_GATE#</#OUT_PARAM_IS_AT_GATE#> <#OUT_PARAM_SET_CAN_BYPASS_GATE#>(&gt;O:XMLVAR#VAR_UID_PREFIX#_Can_Bypass_Gate)</#OUT_PARAM_SET_CAN_BYPASS_GATE#> </True> <False> <#OUT_PARAM_NAME# /> <#OUT_PARAM_IS_AT_GATE# /> <#OUT_PARAM_SET_CAN_BYPASS_GATE# /> </False> </Condition> </Then> </Loop> </ReturnParameters> </ParametersFn> <!-- ############################################################################## --> <Template Name="ASOBO_Intercept_Key_Events_Template"> <Parameters Type="Override"> <Condition CheckSavedParameters="GET_KEY_EVENTS_TO_INTERCEPT"> <Loop> <Setup> <Param>PFN_GET_KEY_EVENTS_TO_INTERCEPT</Param> <Parameters> <LoadParameters ID="GET_KEY_EVENTS_TO_INTERCEPT"/> <RemoveSavedParameters ID="GET_KEY_EVENTS_TO_INTERCEPT"/> </Parameters> </Setup> <Do> <SaveParameters ID="Key_Events_To_Intercept" Append="Override"> <UseParametersFn Name="#PFN_GET_KEY_EVENTS_TO_INTERCEPT#" /> </SaveParameters> </Do> </Loop> </Condition> </Parameters> <UseInputEvent ID="ASOBO_GIE_Base"> <INPUT_EVENT_ID_SOURCE>PROCEDURE</INPUT_EVENT_ID_SOURCE> <IE_NAME>Intercept_Key_Events</IE_NAME> <SET_ARG_COUNT>1</SET_ARG_COUNT> <SET_PARAM_0>p0</SET_PARAM_0> <SET_PARAM_0_TYPE>Float</SET_PARAM_0_TYPE> <SET_PARAM_0_IS_DYNAMIC>True</SET_PARAM_0_IS_DYNAMIC> <TT_INOP>True</TT_INOP> <TT_ICON /> <TT_INTERACTION /> <TT_INTERACTION_LOCKABLE /> <TT_DESCRIPTION /> <TT_DESCRIPTION_IS_DYNAMIC>False</TT_DESCRIPTION_IS_DYNAMIC> <TT_VALUE /> <TT_VALUE_IS_DYNAMIC>False</TT_VALUE_IS_DYNAMIC> <VALUE_UNITS /> <VALUE_CODE /> <INIT_CODE /> <INC_CODE /> <DEC_CODE /> <SET_CODE /> <Loop> <Setup> <Param>EVENT_ID</Param> <Value>EVENT_CODE</Value> <Parameters> <LoadParameters ID="Key_Events_To_Intercept"/> <RemoveSavedParameters ID="Key_Events_To_Intercept"/> </Parameters> </Setup> <Do> <Parameters Type="Override" Lifetime="Loop"> <Condition Check="ID"> <True> <ID Process="Int">#ID# 1 +</ID> </True> <False> <ID>0</ID> </False> </Condition> </Parameters> <BINDING_SET_#ID#>#EVENT_ID#</BINDING_SET_#ID#> <BINDING_SET_#ID#_EVENT_ID>#EVENT_ID#</BINDING_SET_#ID#_EVENT_ID> <BINDING_SET_#ID#_EVENT_ID_ONLY>True</BINDING_SET_#ID#_EVENT_ID_ONLY> <BINDING_SET_#ID#_PARAM_0>#EVENT_CODE#</BINDING_SET_#ID#_PARAM_0> <BINDING_SET_#ID#_PARAM_0_IS_DYNAMIC>True</BINDING_SET_#ID#_PARAM_0_IS_DYNAMIC> </Do> </Loop> </UseInputEvent> <UseTemplate Name="ASOBO_Process_Saved_Updates_Template"/> </Template> <!-- ############################################################################## --> <ParametersFn Name="ASOBO_Save_Update_Helper"> <Parameters Type="Default"> <UPDATE_CODE/> <UPDATE_INTERACTION_MODEL>All</UPDATE_INTERACTION_MODEL> <UPDATE_FREQUENCY>1</UPDATE_FREQUENCY> <UPDATE_TEMPLATE>ASOBO_GT_Update</UPDATE_TEMPLATE> <SAVE_UPDATE_TO>Temp_Update</SAVE_UPDATE_TO> </Parameters> <Parameters Type="Override"> <SaveParameters ID="#SAVE_UPDATE_TO#" Append="Default"> <UPDATE_TEMPLATE>#UPDATE_TEMPLATE#</UPDATE_TEMPLATE> <UPDATE_CODE>#UPDATE_CODE#</UPDATE_CODE> <Condition Check="UPDATE_ONCE"> <True> <UPDATE_ONCE>#UPDATE_ONCE#</UPDATE_ONCE> </True> <False> <FREQUENCY>#UPDATE_FREQUENCY#</FREQUENCY> </False> </Condition> <INTERACTION_MODEL>#UPDATE_INTERACTION_MODEL#</INTERACTION_MODEL> </SaveParameters> </Parameters> </ParametersFn> <ParametersFn Name="ASOBO_Increment_ID_Helper"> <Parameters Type="Default"> <OUT_PARAM_ID_NAME>CUR_ID</OUT_PARAM_ID_NAME> <OUT_FIRST_ID>0</OUT_FIRST_ID> <INCREMENT_COUNT>1</INCREMENT_COUNT> </Parameters> <Parameters Type="Override"> <Condition Check="#OUT_PARAM_ID_NAME#"> <CUR_VALUE Process="Param">#OUT_PARAM_ID_NAME#</CUR_VALUE> </Condition> </Parameters> <ReturnParameters> <Condition Check="#OUT_PARAM_ID_NAME#"> <True> <#OUT_PARAM_ID_NAME# Process="Int">#CUR_VALUE# #INCREMENT_COUNT# +</#OUT_PARAM_ID_NAME#> </True> <False> <#OUT_PARAM_ID_NAME#>#OUT_FIRST_ID#</#OUT_PARAM_ID_NAME#> </False> </Condition> </ReturnParameters> </ParametersFn> <ParametersFn Name="ASOBO_Incremental_Save_Helper"> <Parameters Type="Default"> <SAVE_ELEMENT_PREFIX>Saved_#ELEMENT_TYPE_NAME#</SAVE_ELEMENT_PREFIX> <APPEND_ELEMENT>Append_With_#ELEMENT_TYPE_NAME#</APPEND_ELEMENT> <SAVE_INCREMENT_TO>Saved_#ELEMENT_TYPE_NAME#_Parameters</SAVE_INCREMENT_TO> <SAVE_ELEMENT>ASOBO_Save_#ELEMENT_TYPE_NAME#_Helper</SAVE_ELEMENT> </Parameters> <Parameters Type="Override"> <LoadParameters ID="#SAVE_INCREMENT_TO#"/> <ELEMENT_TYPE_NAME_UC Process="String">'#ELEMENT_TYPE_NAME#' uc</ELEMENT_TYPE_NAME_UC> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Increment_ID_Helper"> <OUT_PARAM_ID_NAME>#ELEMENT_TYPE_NAME_UC#_LAST_ID_USED</OUT_PARAM_ID_NAME> </UseParametersFn> </Parameters> <Parameters Type="Override"> <LAST_ID_USED Process="Param">#ELEMENT_TYPE_NAME_UC#_LAST_ID_USED</LAST_ID_USED> </Parameters> <Parameters Type="Default"> <SAVE_#ELEMENT_TYPE_NAME_UC#_TO>#SAVE_ELEMENT_PREFIX#_#LAST_ID_USED#</SAVE_#ELEMENT_TYPE_NAME_UC#_TO> <Condition CheckSavedParameters="#APPEND_ELEMENT#"> <APPEND_WITH_SAVED_#ELEMENT_TYPE_NAME_UC#>#APPEND_ELEMENT#</APPEND_WITH_SAVED_#ELEMENT_TYPE_NAME_UC#> </Condition> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="#SAVE_ELEMENT#"/> <SaveParameters ID="#SAVE_INCREMENT_TO#" Append="Override"> <#ELEMENT_TYPE_NAME_UC#_LAST_ID_USED>#LAST_ID_USED#</#ELEMENT_TYPE_NAME_UC#_LAST_ID_USED> </SaveParameters> </Parameters> </ParametersFn> <ParametersFn Name="ASOBO_Add_Update_Helper"> <Parameters Type="Override"> <Condition Check="UPDATE_TYPE_NAME"> <SAVE_ELEMENT_PREFIX>Saved_#UPDATE_TYPE_NAME#_Update</SAVE_ELEMENT_PREFIX> <SAVE_INCREMENT_TO>Saved_#UPDATE_TYPE_NAME#_Update_Parameters</SAVE_INCREMENT_TO> </Condition> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Incremental_Save_Helper"> <ELEMENT_TYPE_NAME>Update</ELEMENT_TYPE_NAME> </UseParametersFn> </Parameters> </ParametersFn> <Template Name="ASOBO_Process_Saved_Updates_Template"> <Parameters Type="Override"> <Condition Check="ELEMENT_TYPE_NAME"> <GET_SAVED_ELEMENT_PREFIX>Saved_#ELEMENT_TYPE_NAME#_Update</GET_SAVED_ELEMENT_PREFIX> <GET_SAVED_INCREMENT_TO>Saved_#ELEMENT_TYPE_NAME#_Update_Parameters</GET_SAVED_INCREMENT_TO> </Condition> </Parameters> <UseTemplate Name="ASOBO_Process_Saved_Elements_Template"> <ELEMENT_TYPE_NAME>Update</ELEMENT_TYPE_NAME> </UseTemplate> </Template> <ParametersFn Name="ASOBO_Load_Then_Remove_Parameters_Helper"> <Parameters Type="Default"> <REMOVE_#SAVED_PARAMETERS#>True</REMOVE_#SAVED_PARAMETERS#> </Parameters> <Parameters Type="Override"> <__SAVED_PARAMETERS__ Process="Param">#SAVED_PARAMETERS#</__SAVED_PARAMETERS__> </Parameters> <ReturnParameters> <Condition CheckSavedParameters="#__SAVED_PARAMETERS__#"> <LoadParameters ID="#__SAVED_PARAMETERS__#"/> <Condition Valid="REMOVE_#SAVED_PARAMETERS#"> <RemoveSavedParameters ID="#__SAVED_PARAMETERS__#"/> </Condition> </Condition> </ReturnParameters> </ParametersFn> <Template Name="ASOBO_Process_Saved_Elements_Template"> <Parameters Type="Default"> <GET_SAVED_ELEMENT_PREFIX>Saved_#ELEMENT_TYPE_NAME#</GET_SAVED_ELEMENT_PREFIX> <GET_SAVED_INCREMENT_TO>Saved_#ELEMENT_TYPE_NAME#_Parameters</GET_SAVED_INCREMENT_TO> </Parameters> <Parameters Type="Override"> <Condition CheckSavedParameters="#GET_SAVED_INCREMENT_TO#"> <UseParametersFn Name="ASOBO_Load_Then_Remove_Parameters_Helper"> <SAVED_PARAMETERS>GET_SAVED_INCREMENT_TO</SAVED_PARAMETERS> </UseParametersFn> <ELEMENT_TYPE_NAME_UC Process="String">'#ELEMENT_TYPE_NAME#' uc</ELEMENT_TYPE_NAME_UC> <__PROCESS_ELEMENTS__>True</__PROCESS_ELEMENTS__> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="__PROCESS_ELEMENTS__"> <LAST_ID_USED Process="Param">#ELEMENT_TYPE_NAME_UC#_LAST_ID_USED</LAST_ID_USED> </Condition> </Parameters> <Condition Valid="__PROCESS_ELEMENTS__"> <Loop> <Setup> <Param>ELEMENT_ID</Param> <From>0</From> <Inc>1</Inc> <To>#LAST_ID_USED#</To> </Setup> <Do> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Load_Then_Remove_Parameters_Helper"> <PLOAD_#ELEMENT_TYPE_NAME_UC#_PARAMETERS>#GET_SAVED_ELEMENT_PREFIX#_#ELEMENT_ID#</PLOAD_#ELEMENT_TYPE_NAME_UC#_PARAMETERS> <SAVED_PARAMETERS>PLOAD_#ELEMENT_TYPE_NAME_UC#_PARAMETERS</SAVED_PARAMETERS> </UseParametersFn> <#ELEMENT_TYPE_NAME_UC#_ID>#ELEMENT_ID#</#ELEMENT_TYPE_NAME_UC#_ID> </Parameters> <Parameters Type="Override"> <TEMPLATE_TO_USE Process="Param">#ELEMENT_TYPE_NAME_UC#_TEMPLATE</TEMPLATE_TO_USE> </Parameters> <UseTemplate Name="#TEMPLATE_TO_USE#"/> </Do> </Loop> </Condition> </Template> <!-- ############################################################################## --> <ParametersFn Name="ASOBO_Get_Throttle_Key_Events_To_Intercepts"> <Parameters Type="Default"> <THROTTLE_INCREMENT_SCALE>0.01</THROTTLE_INCREMENT_SCALE> </Parameters> <Parameters Type="Default"> <INPUT_VALUE>p1</INPUT_VALUE> <MAP_INPUT_VALUE>@16K /</MAP_INPUT_VALUE> <MAP_AXIS_VALUE>@16K / 1 + 0.5 *</MAP_AXIS_VALUE> <DECREMENT>p0 #THROTTLE_INCREMENT_SCALE# * -</DECREMENT> <INCREMENT>p0 #THROTTLE_INCREMENT_SCALE# * +</INCREMENT> <THROTTLE_CUT_VALUE>0</THROTTLE_CUT_VALUE> <THROTTLE_FULL_VALUE>1</THROTTLE_FULL_VALUE> <SET_ALL_REVERSE_THRUST_ENABLED>(&gt;A:GENERAL ENG REVERSE THRUST ENGAGED:0, Bool)</SET_ALL_REVERSE_THRUST_ENABLED> </Parameters> <Parameters Type="Override"> <Loop> <Setup> <Param>THROTTLE_NAME</Param> <Value>THROTTLE_INDEX</Value> <Parameters> <LoadParameters ID="Throttles"/> <RemoveSavedParameters ID="Throttles"/> </Parameters> </Setup> <Do> <Parameters Type="Default"> <IS_REVERSE_THRUST_ENABLED>(A:GENERAL ENG REVERSE THRUST ENGAGED:#THROTTLE_INDEX#, Bool)</IS_REVERSE_THRUST_ENABLED> <SET_REVERSE_THRUST_ENABLED>(&gt;A:GENERAL ENG REVERSE THRUST ENGAGED:#THROTTLE_INDEX#, Bool)</SET_REVERSE_THRUST_ENABLED> <GET_POSITION_PCT_OVER_100>(B:#THROTTLE_NAME#, percent over 100)</GET_POSITION_PCT_OVER_100> <GET_GATES>#THROTTLE_NAME#_CURVE</GET_GATES> <GET_GATES_CONFIG>#THROTTLE_NAME#_CURVE_CONFIG</GET_GATES_CONFIG> </Parameters> <Parameters Type="Default"> <Condition NotEmpty="PFN_MAP_SETTABLE_VALUE"> <True> <UseParametersFn Name="#PFN_MAP_SETTABLE_VALUE#" /> </True> <False> <Condition Check="THROTTLE_CUT_VALUE" Match="0"> <True> <!-- No remap needed send axis mapped between 0 and 1 --> <MAP_SETTABLE_VALUE/> </True> <False> <MAP_SETTABLE_VALUE>0 1 #THROTTLE_CUT_VALUE# 0 #THROTTLE_FULL_VALUE# #IS_REVERSE_THRUST_ENABLED# ? (F:MapRange)</MAP_SETTABLE_VALUE> </False> </Condition> </False> </Condition> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Gates_Input_Handling"> <INPUT_NAME>KEY_THROTTLE_INCR</INPUT_NAME> <OUT_PARAM_NAME>GLB_CLAMP_THROTTLE_INCR</OUT_PARAM_NAME> <VAR_UID>#THROTTLE_NAME#</VAR_UID> <OUT_PARAM_SET_CAN_BYPASS_GATE>GLB_SET_CAN_BYPASS_GATE</OUT_PARAM_SET_CAN_BYPASS_GATE> </UseParametersFn> <UseParametersFn Name="ASOBO_Gates_Input_Handling"> <INPUT_NAME>KEY_THROTTLE_DECR</INPUT_NAME> <OUT_PARAM_NAME>GLB_CLAMP_THROTTLE_DECR</OUT_PARAM_NAME> <VAR_UID>#THROTTLE_NAME#</VAR_UID> <OUT_PARAM_SET_CAN_BYPASS_GATE>GLB_SET_CAN_BYPASS_GATE</OUT_PARAM_SET_CAN_BYPASS_GATE> </UseParametersFn> <UseParametersFn Name="ASOBO_Gates_Input_Handling"> <INPUT_NAME>KEY_THROTTLE#THROTTLE_INDEX#_INCR</INPUT_NAME> <OUT_PARAM_NAME>CLAMP_THROTTLE_INCR</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Gates_Input_Handling"> <INPUT_NAME>KEY_THROTTLE#THROTTLE_INDEX#_DECR</INPUT_NAME> <OUT_PARAM_NAME>CLAMP_THROTTLE_DECR</OUT_PARAM_NAME> </UseParametersFn> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Add_Update_Helper"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>#GET_POSITION_PCT_OVER_100# sp0 #IS_AT_ANY_GATE_CHECK# if{ 1 #SET_CAN_BYPASS_GATE# 1 #GLB_SET_CAN_BYPASS_GATE# }</UPDATE_CODE> </UseParametersFn> <Condition NotEmpty="THROTTLE_FULL_ALIAS_ID"> <True> <THIS_THROTTLE_FULL>(&gt;B:#THROTTLE_NAME#_#THROTTLE_FULL_ALIAS_ID#)</THIS_THROTTLE_FULL> </True> <False> <THIS_THROTTLE_FULL>#THROTTLE_FULL_VALUE# (&gt;B:#THROTTLE_NAME#_SET)</THIS_THROTTLE_FULL> </False> </Condition> <Condition NotEmpty="THROTTLE_CUT_ALIAS_ID"> <True> <THIS_THROTTLE_CUT>(&gt;B:#THROTTLE_NAME#_#THROTTLE_CUT_ALIAS_ID#)</THIS_THROTTLE_CUT> </True> <False> <THIS_THROTTLE_CUT>#THROTTLE_CUT_VALUE# (&gt;B:#THROTTLE_NAME#_SET)</THIS_THROTTLE_CUT> </False> </Condition> <INCREMENT_THIS_THROTTLE>#GET_POSITION_PCT_OVER_100# #INCREMENT#</INCREMENT_THIS_THROTTLE> <DECREMENT_THIS_THROTTLE>#GET_POSITION_PCT_OVER_100# #DECREMENT#</DECREMENT_THIS_THROTTLE> <THIS_THROTTLE_SET>#INPUT_VALUE# #MAP_INPUT_VALUE# #MAP_SETTABLE_VALUE# (&gt;B:#THROTTLE_NAME#_SET)</THIS_THROTTLE_SET> <THIS_THROTTLE_AXIS_SET>#INPUT_VALUE# #MAP_AXIS_VALUE# #MAP_SETTABLE_VALUE# (&gt;B:#THROTTLE_NAME#_SET)</THIS_THROTTLE_AXI_SET> <THIS_THROTTLE_RESET_IN_RANGE> #GET_POSITION_PCT_OVER_100# sp0 #IS_REVERSE_THRUST_ENABLED# if{ l0 #THROTTLE_CUT_VALUE# &gt; if{ l0 #THROTTLE_CUT_VALUE# #THROTTLE_FULL_VALUE# #THROTTLE_CUT_VALUE# 0 (F:MapRange) (&gt;B:#THROTTLE_NAME#_SET) } } els{ l0 #THROTTLE_CUT_VALUE# &lt; if{ l0 0 #THROTTLE_CUT_VALUE# #THROTTLE_FULL_VALUE# #THROTTLE_CUT_VALUE# (F:MapRange) (&gt;B:#THROTTLE_NAME#_SET) } } </THIS_THROTTLE_RESET_IN_RANGE> </Parameters> <Parameters Type="Override" Lifetime="Loop"> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_THROTTLE_INCR</PARAM> <OUT_PARAM_NAME>ALL_THROTTLE_INCR</OUT_PARAM_NAME> <THIS_THROTTLE_INCR>#INCREMENT_THIS_THROTTLE# #GLB_CLAMP_THROTTLE_INCR# (&gt;B:#THROTTLE_NAME#_SET)</THIS_THROTTLE_INCR> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_THROTTLE_DECR</PARAM> <OUT_PARAM_NAME>ALL_THROTTLE_DECR</OUT_PARAM_NAME> <THIS_THROTTLE_DECR>#DECREMENT_THIS_THROTTLE# #GLB_CLAMP_THROTTLE_DECR# (&gt;B:#THROTTLE_NAME#_SET)</THIS_THROTTLE_DECR> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_THROTTLE_FULL</PARAM> <OUT_PARAM_NAME>ALL_THROTTLE_FULL</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_THROTTLE_CUT</PARAM> <OUT_PARAM_NAME>ALL_THROTTLE_CUT</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_THROTTLE_SET</PARAM> <OUT_PARAM_NAME>ALL_THROTTLE_SET</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_THROTTLE_AXIS_SET</PARAM> <OUT_PARAM_NAME>ALL_THROTTLE_AXIS_SET</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_THROTTLE_RESET_IN_RANGE</PARAM> <OUT_PARAM_NAME>ALL_THROTTLE_RESET_IN_RANGE</OUT_PARAM_NAME> </UseParametersFn> </Parameters> <SaveParameters ID="Throttle_Key_Events_To_Intercept" Append="Override"> <THROTTLE#THROTTLE_INDEX#_INCR>#INCREMENT_THIS_THROTTLE# #CLAMP_THROTTLE_INCR# (&gt;B:#THROTTLE_NAME#_SET)</THROTTLE#THROTTLE_INDEX#_INCR> <THROTTLE#THROTTLE_INDEX#_DECR>#DECREMENT_THIS_THROTTLE# #CLAMP_THROTTLE_DECR# (&gt;B:#THROTTLE_NAME#_SET)</THROTTLE#THROTTLE_INDEX#_DECR> <THROTTLE#THROTTLE_INDEX#_FULL>#THIS_THROTTLE_FULL#</THROTTLE#THROTTLE_INDEX#_FULL> <THROTTLE#THROTTLE_INDEX#_CUT>#THIS_THROTTLE_CUT#</THROTTLE#THROTTLE_INDEX#_CUT> <THROTTLE#THROTTLE_INDEX#_SET>#THIS_THROTTLE_SET#</THROTTLE#THROTTLE_INDEX#_SET> <THROTTLE#THROTTLE_INDEX#_AXIS_SET_EX1>#THIS_THROTTLE_AXIS_SET#</THROTTLE#THROTTLE_INDEX#_AXIS_SET_EX1> <TOGGLE_THROTTLE#THROTTLE_INDEX#_REVERSE_THRUST>#IS_REVERSE_THRUST_ENABLED# ! #SET_REVERSE_THRUST_ENABLED# #THIS_THROTTLE_RESET_IN_RANGE#</TOGGLE_THROTTLE#THROTTLE_INDEX#_REVERSE_THRUST> <SET_THROTTLE#THROTTLE_INDEX#_REVERSE_THRUST_ON>1 #SET_REVERSE_THRUST_ENABLED# #THIS_THROTTLE_RESET_IN_RANGE#</SET_THROTTLE#THROTTLE_INDEX#_REVERSE_THRUST_ON> <SET_THROTTLE#THROTTLE_INDEX#_REVERSE_THRUST_OFF>0 #SET_REVERSE_THRUST_ENABLED# #THIS_THROTTLE_RESET_IN_RANGE#</SET_THROTTLE#THROTTLE_INDEX#_REVERSE_THRUST_OFF> </SaveParameters> </Do> <Then> <SaveParameters ID="Throttle_Key_Events_To_Intercept" Append="Override"> <THROTTLE_INCR>#ALL_THROTTLE_INCR#</THROTTLE_INCR> <THROTTLE_DECR>#ALL_THROTTLE_DECR#</THROTTLE_DECR> <THROTTLE_CUT>#ALL_THROTTLE_CUT#</THROTTLE_CUT> <THROTTLE_FULL>#ALL_THROTTLE_FULL#</THROTTLE_FULL> <THROTTLE_SET>#ALL_THROTTLE_SET#</THROTTLE_SET> <THROTTLE_AXIS_SET_EX1>#ALL_THROTTLE_AXIS_SET#</THROTTLE_AXIS_SET_EX1> <THROTTLE_REVERSE_THRUST_TOGGLE>(A:GENERAL ENG REVERSE THRUST ENGAGED:1, Bool) ! #SET_ALL_REVERSE_THRUST_ENABLED# #ALL_THROTTLE_RESET_IN_RANGE#</THROTTLE_REVERSE_THRUST_TOGGLE> <THROTTLE_REVERSE_THRUST_HOLD>p1 #SET_ALL_REVERSE_THRUST_ENABLED# #ALL_THROTTLE_RESET_IN_RANGE#</THROTTLE_REVERSE_THRUST_HOLD> <SET_THROTTLE_REVERSE_THRUST_ON>1 #SET_ALL_REVERSE_THRUST_ENABLED# #ALL_THROTTLE_RESET_IN_RANGE#</SET_THROTTLE_REVERSE_THRUST_ON> <SET_THROTTLE_REVERSE_THRUST_OFF>0 #SET_ALL_REVERSE_THRUST_ENABLED# #ALL_THROTTLE_RESET_IN_RANGE#</SET_THROTTLE_REVERSE_THRUST_OFF> </SaveParameters> </Then> </Loop> </Parameters> <ReturnParameters> <LoadParameters ID="Throttle_Key_Events_To_Intercept"/> <RemoveSavedParameters ID="Throttle_Key_Events_To_Intercept"/> </ReturnParameters> </ParametersFn> <!-- ############################################################################## --> </ModelBehaviors>

 

 

Templates

Template list
  • ASOBO_GT_Helper_Recursive_Param_Builder

    Definition from XML
    <Template Name="ASOBO_GT_Helper_Recursive_Param_Builder"> <DefaultTemplateParameters> <PARAM_REPEATED_START/> <PARAM_REPEATED_END/> <PARAM_START/> <PARAM_END/> <ID>1</ID> </DefaultTemplateParameters> <OverrideTemplateParameters> <PARAM_TO_BUILD/> <NEXT_ID>2</NEXT_ID> </OverrideTemplateParameters> <UseTemplate Name="ASOBO_GT_Helper_Recursive_Param_Builder_2"/> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • PARAM_REPEATED_START
      • PARAM_REPEATED_END
      • PARAM_START
      • PARAM_END
      • ID
    • Override

      Parameters set:

      • PARAM_TO_BUILD
      • NEXT_ID

    Templates used:

  • ASOBO_GT_Helper_Recursive_Param_Builder_2

    Definition from XML
    <Template Name="ASOBO_GT_Helper_Recursive_Param_Builder_2"> <DefaultTemplateParameters> <PARAM_REPEATED_2_START/> <PARAM_REPEATED_2_END/> </DefaultTemplateParameters> <OverrideTemplateParameters> <Condition> <Test> <Or> <Arg NotEmpty="PARAM_REPEATED_2_START"/> <Arg NotEmpty="PARAM_REPEATED_2_END"/> </Or> </Test> <True> <PARAM_TO_BUILD>#PARAM_TO_BUILD##PARAM_REPEATED_START##ID##PARAM_REPEATED_END##PARAM_REPEATED_2_START##ID##PARAM_REPEATED_2_END#</PARAM_TO_BUILD> </True> <False> <PARAM_TO_BUILD>#PARAM_TO_BUILD##PARAM_REPEATED_START##ID##PARAM_REPEATED_END#</PARAM_TO_BUILD> </False> </Condition> <TEST_ID Process="Param">ID#NEXT_ID#</TEST_ID> </OverrideTemplateParameters> <Condition NotEmpty="TEST_ID"> <True> <UseTemplate Name="ASOBO_GT_Helper_Recursive_Param_Builder_2"> <ID>#TEST_ID#</ID> <NEXT_ID Process="Int">#NEXT_ID# 1 +</NEXT_ID> </UseTemplate> </True> <False> <UseTemplate Name="#EXIT_TEMPLATE#"> <#PARAM_NAME#>#PARAM_START##PARAM_TO_BUILD##PARAM_END#</#PARAM_NAME#> </UseTemplate> </False> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • PARAM_REPEATED_2_START
      • PARAM_REPEATED_2_END
    • Override

      Parameters set:

      • TEST_ID (using NEXT_ID)

      Condition: Test(PARAM_REPEATED_2_START, PARAM_REPEATED_2_END)

      • Case: True

        Parameters set:

        • PARAM_TO_BUILD (using PARAM_TO_BUILD, PARAM_REPEATED_START, ID, PARAM_REPEATED_END, PARAM_REPEATED_2_START, PARAM_REPEATED_2_END)
      • Case: False

        Parameters set:

        • PARAM_TO_BUILD (using PARAM_TO_BUILD, PARAM_REPEATED_START, ID, PARAM_REPEATED_END)

    Condition: NotEmpty(TEST_ID)

    • Case: True

      Templates used:

      • ASOBO_GT_Helper_Recursive_Param_Builder_2
        • May include a subtemplate using the parameter 'EXIT_TEMPLATE' (Values it may resolve to were not found)

        Parameters set:

        • ID (using TEST_ID)
        • NEXT_ID (using NEXT_ID)
    • Case: False

      Parameters read:

      • EXIT_TEMPLATE

      Templates used:

      • #EXIT_TEMPLATE#
        • (Values for 'EXIT_TEMPLATE' and templates it may resolve to were not found)

        Parameters set:

        • #PARAM_NAME# (using PARAM_START, PARAM_TO_BUILD, PARAM_END)
  • ASOBO_GT_Helper_Param_Builder_INC

    Definition from XML
    <Template Name="ASOBO_GT_Helper_Param_Builder_INC"> <DefaultTemplateParameters> <CONTENT/> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Helper_Param_Builder_INC_1"> <PARAM_ID>1</PARAM_ID> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • CONTENT

    Templates used:

  • ASOBO_GT_Helper_Param_Builder_INC_1

    Definition from XML
    <Template Name="ASOBO_GT_Helper_Param_Builder_INC_1"> <OverrideTemplateParameters> <Condition Valid="PARAM#PARAM_ID#"> <Condition Valid="PROCESS_PARAM#PARAM_ID#"> <PROCESS_PARAM>True</PROCESS_PARAM> </Condition> <PARAM_NAME Process="Param">PARAM#PARAM_ID#</PARAM_NAME> <Condition Valid="PARAM#PARAM_ID#_PREFIX"> <True> <PREFIX Process="Param">PARAM#PARAM_ID#_PREFIX</PREFIX> </True> <False> <PREFIX/> </False> </Condition> <Condition Valid="PARAM#PARAM_ID#_SUFFIX"> <True> <SUFFIX Process="Param">PARAM#PARAM_ID#_SUFFIX</SUFFIX> </True> <False> <SUFFIX/> </False> </Condition> </Condition> </OverrideTemplateParameters> <Switch> <Case Valid="PARAM#PARAM_ID#"> <UseTemplate Name="ASOBO_GT_Helper_Param_Builder_INC_1"> <PARAM_ID Process="Int">#PARAM_ID# 1 +</PARAM_ID> <Condition Valid="PROCESS_PARAM"> <True> <Condition NotEmpty="#PREFIX##CONTENT##SUFFIX#"> <#PARAM_NAME# Process="Param">#PREFIX##CONTENT##SUFFIX#</#PARAM_NAME#> <PROCESS_PARAM>False</PROCESS_PARAM> </Condition> </True> <False> <#PARAM_NAME#>#PREFIX##CONTENT##SUFFIX#</#PARAM_NAME#> </False> </Condition> </UseTemplate> </Case> <Default> <UseTemplate Name="#EXIT_TEMPLATE#"/> </Default> </Switch> </Template>

    Parameters initialization:

    • Override

      Condition: Valid(PARAM#PARAM_ID#)

      • Case: True

        Parameters set:

        • PARAM_NAME (using PARAM_ID)

        Condition: Valid(PROCESS_PARAM#PARAM_ID#)

        • Case: True

          Parameters set:

          • PROCESS_PARAM

        Condition: Valid(PARAM#PARAM_ID#_PREFIX)

        • Case: True

          Parameters set:

          • PREFIX (using PARAM_ID)
        • Case: False

          Parameters set:

          • PREFIX

        Condition: Valid(PARAM#PARAM_ID#_SUFFIX)

        • Case: True

          Parameters set:

          • SUFFIX (using PARAM_ID)
        • Case: False

          Parameters set:

          • SUFFIX

    Condition: Switch

    • Case: Valid(PARAM#PARAM_ID#)

      Parameters read:

      • PARAM_ID

      Templates used:

      • ASOBO_GT_Helper_Param_Builder_INC_1
        • May include a subtemplate using the parameter 'EXIT_TEMPLATE' (Values it may resolve to were not found)

        Parameters set:

        • PARAM_ID (using PARAM_ID)

        Condition: Valid(PROCESS_PARAM)

        • Case: True

          Condition: NotEmpty(#PREFIX##CONTENT##SUFFIX#)

          • Case: True

            Parameters set:

            • #PARAM_NAME# (using PREFIX, CONTENT, SUFFIX)
            • PROCESS_PARAM
        • Case: False

          Parameters set:

          • #PARAM_NAME# (using PREFIX, CONTENT, SUFFIX)
    • Default case:

      Parameters read:

      • EXIT_TEMPLATE

      Templates used:

      • #EXIT_TEMPLATE#
        • (Values for 'EXIT_TEMPLATE' and templates it may resolve to were not found)
  • ASOBO_GT_Helper_Increasing_ID

    Definition from XML
    <Template Name="ASOBO_GT_Helper_Increasing_ID"> <DefaultTemplateParameters> <FIRST_ID>1</FIRST_ID> <MAX_ID>1</MAX_ID> <PARAM>BTN_ID</PARAM> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Helper_Increasing_ID_2"> <NEXT_ID>#FIRST_ID#</NEXT_ID> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • FIRST_ID
      • MAX_ID
      • PARAM

    Templates used:

    • ASOBO_GT_Helper_Increasing_ID_2
      • May include a subtemplate using the parameter 'EXIT_TEMPLATE' (Values it may resolve to were not found)

      Parameters set:

      • NEXT_ID (using FIRST_ID)
  • ASOBO_GT_Helper_Increasing_ID_2

    Definition from XML
    <Template Name="ASOBO_GT_Helper_Increasing_ID_2"> <UseTemplate Name="#EXIT_TEMPLATE#"> <#PARAM#>#NEXT_ID#</#PARAM#> </UseTemplate> <Condition> <Test> <Lower> <Number>#NEXT_ID#</Number> <Number>#MAX_ID#</Number> </Lower> </Test> <True> <UseTemplate Name="ASOBO_GT_Helper_Increasing_ID_2"> <NEXT_ID Process="Int">#NEXT_ID# 1 +</NEXT_ID> </UseTemplate> </True> </Condition> </Template>

    Parameters read:

    • EXIT_TEMPLATE

    Templates used:

    • #EXIT_TEMPLATE#
      • (Values for 'EXIT_TEMPLATE' and templates it may resolve to were not found)

      Parameters set:

      • #PARAM# (using NEXT_ID)

    Condition: Test

    • Case: True

      Templates used:

      • ASOBO_GT_Helper_Increasing_ID_2
        • May include a subtemplate using the parameter 'EXIT_TEMPLATE' (Values it may resolve to were not found)

        Parameters set:

        • NEXT_ID (using NEXT_ID)
  • ASOBO_GT_Helper_Recursive_ID

    Definition from XML
    <Template Name="ASOBO_GT_Helper_Recursive_ID"> <DefaultTemplateParameters> <FIRST_ID>1</FIRST_ID> <MAX_ID>1</MAX_ID> <PARAM1>ID</PARAM1> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Helper_Recursive_ID_2"> <NEXT_ID>#FIRST_ID#</NEXT_ID> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • FIRST_ID
      • MAX_ID
      • PARAM1

    Templates used:

  • ASOBO_GT_Helper_Recursive_ID_2

    Definition from XML
    <Template Name="ASOBO_GT_Helper_Recursive_ID_2"> <UseTemplate Name="ASOBO_GT_Helper_Param_Builder_INC"> <CONTENT>#NEXT_ID#</CONTENT> </UseTemplate> <Condition> <Test> <Lower> <Number>#NEXT_ID#</Number> <Number>#MAX_ID#</Number> </Lower> </Test> <True> <UseTemplate Name="ASOBO_GT_Helper_Recursive_ID_2"> <NEXT_ID Process="Int">#NEXT_ID# 1 +</NEXT_ID> </UseTemplate> </True> </Condition> </Template>

    Templates used:

    Condition: Test

  • ASOBO_GT_Helper_Suffix_ID_Appender

    Definition from XML
    <Template Name="ASOBO_GT_Helper_Suffix_ID_Appender"> <DefaultTemplateParameters> <Switch> <Case Valid="DONT_APPEND_ID"> <SUFFIX_ID/> </Case> <Default> <Condition NotEmpty="CONTAINER_ID"> <True> <SUFFIX_ID>_#CONTAINER_ID#</SUFFIX_ID> </True> <False> <SUFFIX_ID>_#ID#</SUFFIX_ID> </False> </Condition> </Default> </Switch> </DefaultTemplateParameters> <UseTemplate Name="#TEMPLATE_TO_CALL#"/> </Template>

    Parameters initialization:

    • Default

      Condition: Switch

      • Case: Valid(DONT_APPEND_ID)

        Parameters set:

        • SUFFIX_ID
      • Default case:

        Condition: NotEmpty(CONTAINER_ID)

        • Case: True

          Parameters set:

          • SUFFIX_ID (using CONTAINER_ID)
        • Case: False

          Parameters set:

          • SUFFIX_ID (using ID)

    Parameters read:

    • TEMPLATE_TO_CALL

    Templates used:

    • #TEMPLATE_TO_CALL#
      • (Values for 'TEMPLATE_TO_CALL' and templates it may resolve to were not found)
  • ASOBO_GT_Helper_Non_Linear_Animation_Code

    Definition from XML
    <Template Name="ASOBO_GT_Helper_Non_Linear_Animation_Code"> <DefaultTemplateParameters> <SELECTION>50</SELECTION> <ANIM_VALUE_0>0</ANIM_VALUE_0> <REF_VALUE_0>0</REF_VALUE_0> <ANIM_VALUE_1>100</ANIM_VALUE_1> <REF_VALUE_1>100</REF_VALUE_1> <ANIM_LENGTH>100</ANIM_LENGTH> <MAX_POINT_INDEX>1</MAX_POINT_INDEX> <MAX_DISPLAYABLE>100</MAX_DISPLAYABLE> <MIN_DISPLAYABLE>0</MIN_DISPLAYABLE> <EXIT_TEMPLATE>ASOBO_GT_Anim_Code</EXIT_TEMPLATE> <EXIT_PARAM_NAME>ANIM_CODE</EXIT_PARAM_NAME> <CONTENT/> </DefaultTemplateParameters> <UseTemplate Name="ASOBO_GT_Helper_Non_Linear_Animation_Code_2"> <NEXT_ID Process="Int">#MAX_POINT_INDEX#</NEXT_ID> </UseTemplate> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • SELECTION
      • ANIM_VALUE_0
      • REF_VALUE_0
      • ANIM_VALUE_1
      • REF_VALUE_1
      • ANIM_LENGTH
      • MAX_POINT_INDEX
      • MAX_DISPLAYABLE
      • MIN_DISPLAYABLE
      • EXIT_TEMPLATE
      • EXIT_PARAM_NAME
      • CONTENT

    Templates used:

  • ASOBO_GT_Helper_Non_Linear_Animation_Code_2

    Definition from XML
    <Template Name="ASOBO_GT_Helper_Non_Linear_Animation_Code_2"> <OverrideTemplateParameters> <ANIM_VAL_CURRENT_POINT Process="Param">ANIM_VALUE_#NEXT_ID#</ANIM_VAL_CURRENT_POINT> <REF_VAL_CURRENT_POINT Process="Param">REF_VALUE_#NEXT_ID#</REF_VAL_CURRENT_POINT> </OverrideTemplateParameters> <Condition> <Test> <GreaterOrEqual> <Number>#NEXT_ID#</Number> <Number>0</Number> </GreaterOrEqual> </Test> <True> <Condition> <Test> <Equal> <Number>#NEXT_ID#</Number> <Number>#MAX_POINT_INDEX#</Number> </Equal> </Test> <True> <UseTemplate Name="ASOBO_GT_Helper_Non_Linear_Animation_Code_2"> <NEXT_ID Process="Int">#NEXT_ID# 1 -</NEXT_ID> <ANIM_VAL_PREVIOUS_POINT Process="Param">ANIM_VALUE_#NEXT_ID#</ANIM_VAL_PREVIOUS_POINT> <REF_VAL_PREVIOUS_POINT Process="Param">REF_VALUE_#NEXT_ID#</REF_VAL_PREVIOUS_POINT> </UseTemplate> </True> <False> <UseTemplate Name="ASOBO_GT_Helper_Non_Linear_Animation_Code_2"> <NEXT_ID Process="Int">#NEXT_ID# 1 -</NEXT_ID> <CONTENT> #CONTENT# l0 #REF_VAL_CURRENT_POINT# &gt; if{ l0 #REF_VAL_CURRENT_POINT# - #REF_VAL_PREVIOUS_POINT# #REF_VAL_CURRENT_POINT# - / #ANIM_VAL_PREVIOUS_POINT# #ANIM_VAL_CURRENT_POINT# - * #ANIM_VAL_CURRENT_POINT# + sp1 g1 } </CONTENT> <ANIM_VAL_PREVIOUS_POINT Process="Param">ANIM_VALUE_#NEXT_ID#</ANIM_VAL_PREVIOUS_POINT> <REF_VAL_PREVIOUS_POINT Process="Param">REF_VALUE_#NEXT_ID#</REF_VAL_PREVIOUS_POINT> </UseTemplate> </False> </Condition> </True> <False> <UseTemplate Name="ASOBO_GT_Helper_Non_Linear_Animation_Code_3"/> </False> </Condition> </Template>

    Parameters initialization:

    • Override

      Parameters set:

      • ANIM_VAL_CURRENT_POINT (using NEXT_ID)
      • REF_VAL_CURRENT_POINT (using NEXT_ID)

    Condition: Test

    • Case: True

      Condition: Test

      • Case: True

        Templates used:

      • Case: False

        Templates used:

        • ASOBO_GT_Helper_Non_Linear_Animation_Code_2

          Parameters set:

          • NEXT_ID (using NEXT_ID)
          • CONTENT (using CONTENT, REF_VAL_CURRENT_POINT, REF_VAL_PREVIOUS_POINT, ANIM_VAL_PREVIOUS_POINT, ANIM_VAL_CURRENT_POINT)
          • ANIM_VAL_PREVIOUS_POINT (using NEXT_ID)
          • REF_VAL_PREVIOUS_POINT (using NEXT_ID)
    • Case: False

      Templates used:

  • ASOBO_GT_Helper_Non_Linear_Animation_Code_3

    Definition from XML
    <Template Name="ASOBO_GT_Helper_Non_Linear_Animation_Code_3"> <UseTemplate Name="#EXIT_TEMPLATE#"> <#EXIT_PARAM_NAME#> #SELECTION# #MAX_DISPLAYABLE# min #MIN_DISPLAYABLE# max sp0 #CONTENT# :1 l1 </#EXIT_PARAM_NAME#> </UseTemplate> </Template>

    Parameters read:

    • EXIT_TEMPLATE

    Templates used:

    • #EXIT_TEMPLATE#
      • (Values for 'EXIT_TEMPLATE' and templates it may resolve to were not found)

      Parameters set:

      • #EXIT_PARAM_NAME# (using SELECTION, MAX_DISPLAYABLE, MIN_DISPLAYABLE, CONTENT)
  • ASOBO_Intercept_Key_Events_Template

    Definition from XML
    <Template Name="ASOBO_Intercept_Key_Events_Template"> <Parameters Type="Override"> <Condition CheckSavedParameters="GET_KEY_EVENTS_TO_INTERCEPT"> <Loop> <Setup> <Param>PFN_GET_KEY_EVENTS_TO_INTERCEPT</Param> <Parameters> <LoadParameters ID="GET_KEY_EVENTS_TO_INTERCEPT"/> <RemoveSavedParameters ID="GET_KEY_EVENTS_TO_INTERCEPT"/> </Parameters> </Setup> <Do> <SaveParameters ID="Key_Events_To_Intercept" Append="Override"> <UseParametersFn Name="#PFN_GET_KEY_EVENTS_TO_INTERCEPT#"/> </SaveParameters> </Do> </Loop> </Condition> </Parameters> <UseInputEvent ID="ASOBO_GIE_Base"> <INPUT_EVENT_ID_SOURCE>PROCEDURE</INPUT_EVENT_ID_SOURCE> <IE_NAME>Intercept_Key_Events</IE_NAME> <SET_ARG_COUNT>1</SET_ARG_COUNT> <SET_PARAM_0>p0</SET_PARAM_0> <SET_PARAM_0_TYPE>Float</SET_PARAM_0_TYPE> <SET_PARAM_0_IS_DYNAMIC>True</SET_PARAM_0_IS_DYNAMIC> <TT_INOP>True</TT_INOP> <TT_ICON/> <TT_INTERACTION/> <TT_INTERACTION_LOCKABLE/> <TT_DESCRIPTION/> <TT_DESCRIPTION_IS_DYNAMIC>False</TT_DESCRIPTION_IS_DYNAMIC> <TT_VALUE/> <TT_VALUE_IS_DYNAMIC>False</TT_VALUE_IS_DYNAMIC> <VALUE_UNITS/> <VALUE_CODE/> <INIT_CODE/> <INC_CODE/> <DEC_CODE/> <SET_CODE/> <Loop> <Setup> <Param>EVENT_ID</Param> <Value>EVENT_CODE</Value> <Parameters> <LoadParameters ID="Key_Events_To_Intercept"/> <RemoveSavedParameters ID="Key_Events_To_Intercept"/> </Parameters> </Setup> <Do> <Parameters Type="Override" Lifetime="Loop"> <Condition Check="ID"> <True> <ID Process="Int">#ID# 1 +</ID> </True> <False> <ID>0</ID> </False> </Condition> </Parameters> <BINDING_SET_#ID#>#EVENT_ID#</BINDING_SET_#ID#> <BINDING_SET_#ID#_EVENT_ID>#EVENT_ID#</BINDING_SET_#ID#_EVENT_ID> <BINDING_SET_#ID#_EVENT_ID_ONLY>True</BINDING_SET_#ID#_EVENT_ID_ONLY> <BINDING_SET_#ID#_PARAM_0>#EVENT_CODE#</BINDING_SET_#ID#_PARAM_0> <BINDING_SET_#ID#_PARAM_0_IS_DYNAMIC>True</BINDING_SET_#ID#_PARAM_0_IS_DYNAMIC> </Do> </Loop> </UseInputEvent> <UseTemplate Name="ASOBO_Process_Saved_Updates_Template"/> </Template>

    Parameters initialization:

    • Override

      Condition: CheckSavedParameters(GET_KEY_EVENTS_TO_INTERCEPT)

      • Case: True

        Parameters read:

        • PFN_GET_KEY_EVENTS_TO_INTERCEPT

        Parameters set:

        • PFN_GET_KEY_EVENTS_TO_INTERCEPT

        ParametersFn used:

        • #PFN_GET_KEY_EVENTS_TO_INTERCEPT#

    Parameters read:

    • EVENT_CODE

    Parameters set:

    • INPUT_EVENT_ID_SOURCE
    • IE_NAME
    • SET_ARG_COUNT
    • SET_PARAM_0
    • SET_PARAM_0_TYPE
    • SET_PARAM_0_IS_DYNAMIC
    • TT_INOP
    • TT_ICON
    • TT_INTERACTION
    • TT_INTERACTION_LOCKABLE
    • TT_DESCRIPTION
    • TT_DESCRIPTION_IS_DYNAMIC
    • TT_VALUE
    • TT_VALUE_IS_DYNAMIC
    • VALUE_UNITS
    • VALUE_CODE
    • INIT_CODE
    • INC_CODE
    • DEC_CODE
    • SET_CODE
    • EVENT_ID
    • BINDING_SET_#ID# (using EVENT_ID)
    • BINDING_SET_#ID#_EVENT_ID (using EVENT_ID)
    • BINDING_SET_#ID#_EVENT_ID_ONLY
    • BINDING_SET_#ID#_PARAM_0 (using EVENT_CODE)
    • BINDING_SET_#ID#_PARAM_0_IS_DYNAMIC

    Templates used:

    Condition: Check(ID)

    • Case: True

      Parameters set:

      • ID (using ID)
    • Case: False

      Parameters set:

      • ID
  • ASOBO_Process_Saved_Updates_Template

    Definition from XML
    <Template Name="ASOBO_Process_Saved_Updates_Template"> <Parameters Type="Override"> <Condition Check="ELEMENT_TYPE_NAME"> <GET_SAVED_ELEMENT_PREFIX>Saved_#ELEMENT_TYPE_NAME#_Update</GET_SAVED_ELEMENT_PREFIX> <GET_SAVED_INCREMENT_TO>Saved_#ELEMENT_TYPE_NAME#_Update_Parameters</GET_SAVED_INCREMENT_TO> </Condition> </Parameters> <UseTemplate Name="ASOBO_Process_Saved_Elements_Template"> <ELEMENT_TYPE_NAME>Update</ELEMENT_TYPE_NAME> </UseTemplate> </Template>

    Parameters initialization:

    • Override

      Condition: Check(ELEMENT_TYPE_NAME)

      • Case: True

        Parameters set:

        • GET_SAVED_ELEMENT_PREFIX (using ELEMENT_TYPE_NAME)
        • GET_SAVED_INCREMENT_TO (using ELEMENT_TYPE_NAME)

    Templates used:

    • ASOBO_Process_Saved_Elements_Template
      • May include a subtemplate using the parameter 'TEMPLATE_TO_USE' and resolve to the following template(s):
        • #ELEMENT_TYPE_NAME_UC#_TEMPLATE

      Parameters set:

      • ELEMENT_TYPE_NAME
  • ASOBO_Process_Saved_Elements_Template

    Definition from XML
    <Template Name="ASOBO_Process_Saved_Elements_Template"> <Parameters Type="Default"> <GET_SAVED_ELEMENT_PREFIX>Saved_#ELEMENT_TYPE_NAME#</GET_SAVED_ELEMENT_PREFIX> <GET_SAVED_INCREMENT_TO>Saved_#ELEMENT_TYPE_NAME#_Parameters</GET_SAVED_INCREMENT_TO> </Parameters> <Parameters Type="Override"> <Condition CheckSavedParameters="#GET_SAVED_INCREMENT_TO#"> <UseParametersFn Name="ASOBO_Load_Then_Remove_Parameters_Helper"> <SAVED_PARAMETERS>GET_SAVED_INCREMENT_TO</SAVED_PARAMETERS> </UseParametersFn> <ELEMENT_TYPE_NAME_UC Process="String">&apos;#ELEMENT_TYPE_NAME#&apos; uc</ELEMENT_TYPE_NAME_UC> <__PROCESS_ELEMENTS__>True</__PROCESS_ELEMENTS__> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="__PROCESS_ELEMENTS__"> <LAST_ID_USED Process="Param">#ELEMENT_TYPE_NAME_UC#_LAST_ID_USED</LAST_ID_USED> </Condition> </Parameters> <Condition Valid="__PROCESS_ELEMENTS__"> <Loop> <Setup> <Param>ELEMENT_ID</Param> <From>0</From> <Inc>1</Inc> <To>#LAST_ID_USED#</To> </Setup> <Do> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Load_Then_Remove_Parameters_Helper"> <PLOAD_#ELEMENT_TYPE_NAME_UC#_PARAMETERS>#GET_SAVED_ELEMENT_PREFIX#_#ELEMENT_ID#</PLOAD_#ELEMENT_TYPE_NAME_UC#_PARAMETERS> <SAVED_PARAMETERS>PLOAD_#ELEMENT_TYPE_NAME_UC#_PARAMETERS</SAVED_PARAMETERS> </UseParametersFn> <#ELEMENT_TYPE_NAME_UC#_ID>#ELEMENT_ID#</#ELEMENT_TYPE_NAME_UC#_ID> </Parameters> <Parameters Type="Override"> <TEMPLATE_TO_USE Process="Param">#ELEMENT_TYPE_NAME_UC#_TEMPLATE</TEMPLATE_TO_USE> </Parameters> <UseTemplate Name="#TEMPLATE_TO_USE#"/> </Do> </Loop> </Condition> </Template>

    Parameters initialization:

    • Default

      Parameters set:

      • GET_SAVED_ELEMENT_PREFIX (using ELEMENT_TYPE_NAME)
      • GET_SAVED_INCREMENT_TO (using ELEMENT_TYPE_NAME)
    • Override

      Condition: CheckSavedParameters(#GET_SAVED_INCREMENT_TO#)

    • Override

      Condition: Valid(__PROCESS_ELEMENTS__)

      • Case: True

        Parameters set:

        • LAST_ID_USED (using ELEMENT_TYPE_NAME_UC)

    Condition: Valid(__PROCESS_ELEMENTS__)

    • Case: True

      Parameters read:

      • LAST_ID_USED
      • TEMPLATE_TO_USE

      Parameters set:

      • ELEMENT_ID
      • #ELEMENT_TYPE_NAME_UC#_ID (using ELEMENT_ID)
      • TEMPLATE_TO_USE (using ELEMENT_TYPE_NAME_UC)

      Templates used:

      • #TEMPLATE_TO_USE#
        • May resolve to the following template(s):
          • #ELEMENT_TYPE_NAME_UC#_TEMPLATE

      ParametersFn used:

 

 

ParametersFn

  • Get_Max_Param_Iteration

    Definition from XML
    <ParametersFn Name="Get_Max_Param_Iteration"> <Parameters Type="Default"> <MAX_VALUE>-1</MAX_VALUE> <PARAM_PREFIX/> <PARAM_SUFFIX/> <MAX_ITERATION>0</MAX_ITERATION> <OUTGOING_PARAM>OUT_VALUE</OUTGOING_PARAM> </Parameters> <Parameters Type="Override"> <Loop> <Setup> <Param>CUR_ID</Param> <From>1</From> <Inc>1</Inc> <While> <Not> <Arg Valid="INFINITE"/> </Not> </While> </Setup> <Do> <SaveParameters ID="Prop_#ID#_FoundValue"> <FOUND_VALUE>False</FOUND_VALUE> <MAX_ITERATION>#MAX_ITERATION#</MAX_ITERATION> </SaveParameters> <Parameters Type="Override" Lifetime="Loop"> <Loop> <Setup> <Param>CUR_PARAM_ID</Param> <From>0</From> <Inc>1</Inc> <While> <Or> <Arg NotEmpty="PARAM_PREFIX_#CUR_PARAM_ID#"/> <Arg NotEmpty="PARAM_SUFIX_#CUR_PARAM_ID#"/> </Or> </While> </Setup> <Do> <Parameters Type="Override" Lifetime="Iteration"> <PARAM_PREFIX Process="Param">PARAM_PREFIX_#CUR_PARAM_ID#</PARAM_PREFIX> <PARAM_SUFIX Process="Param">PARAM_SUFIX_#CUR_PARAM_ID#</PARAM_SUFIX> </Parameters> <Parameters Type="Override" Lifetime="Iteration"> <PARAM_FINAL Process="Param">#PARAM_PREFIX##CUR_ID##PARAM_SUFFIX#</PARAM_FINAL> </Parameters> <Parameters Type="Override" Lifetime="Loop"> <Condition NotEmpty="PARAM_FINAL"> <SaveParameters ID="Prop_#ID#_FoundValue"> <FOUND_VALUE>True</FOUND_VALUE> <MAX_ITERATION Process="Int">#MAX_ITERATION# #CUR_ID# max</MAX_ITERATION> </SaveParameters> </Condition> </Parameters> </Do> </Loop> <LoadParameters ID="Prop_#ID#_FoundValue"/> <Condition Valid="FOUND_VALUE"> <False> <Break/> </False> </Condition> </Parameters> </Do> </Loop> <LoadParameters ID="Prop_#ID#_FoundValue"/> </Parameters> <ReturnParameters> <#OUTGOING_PARAM# Process="Int">#MAX_ITERATION#</#OUTGOING_PARAM#> </ReturnParameters> </ParametersFn>

    Parameters initialization:

    • Default

      Parameters set:

      • MAX_VALUE
      • PARAM_PREFIX
      • PARAM_SUFFIX
      • MAX_ITERATION
      • OUTGOING_PARAM
    • Override

      Parameters read:

      • ID
      • CUR_PARAM_ID

      Parameters set:

      • CUR_ID
      • FOUND_VALUE
      • MAX_ITERATION (using MAX_ITERATION)
      • CUR_PARAM_ID
      • PARAM_PREFIX (using CUR_PARAM_ID)
      • PARAM_SUFIX (using CUR_PARAM_ID)
      • PARAM_FINAL (using PARAM_PREFIX, CUR_ID, PARAM_SUFFIX)

      Condition: NotEmpty(PARAM_FINAL)

      • Case: True

        Parameters read:

        • ID

        Parameters set:

        • FOUND_VALUE
        • MAX_ITERATION (using MAX_ITERATION, CUR_ID)

      Condition: Valid(FOUND_VALUE)

      • Case: False

    Return parameters:

    Parameters set:

    • #OUTGOING_PARAM# (using MAX_ITERATION)
  • ASOBO_Append_If_Necessary_Helper

    Definition from XML
    <ParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <Parameters Type="Default"> <OUT_PARAM_NAME>#PARAM#</OUT_PARAM_NAME> </Parameters> <Parameters Type="Override"> <PARAM_CONTENT Process="Param">#PARAM#</PARAM_CONTENT> <PREV_CONTENT Process="Param">#OUT_PARAM_NAME#</PREV_CONTENT> </Parameters> <ReturnParameters> <Condition NotEmpty="PARAM_CONTENT"> <Condition NotEmpty="PREV_CONTENT"> <True> <Switch> <Case Valid="APPEND_BEFORE"> <#OUT_PARAM_NAME#>#PARAM_CONTENT# #PREV_CONTENT#</#OUT_PARAM_NAME#> </Case> <Default> <#OUT_PARAM_NAME#>#PREV_CONTENT# #PARAM_CONTENT#</#OUT_PARAM_NAME#> </Default> </Switch> </True> <False> <#OUT_PARAM_NAME#>#PARAM_CONTENT#</#OUT_PARAM_NAME#> </False> </Condition> </Condition> </ReturnParameters> </ParametersFn>

    Parameters initialization:

    • Default

      Parameters set:

      • OUT_PARAM_NAME (using PARAM)
    • Override

      Parameters set:

      • PARAM_CONTENT (using PARAM)
      • PREV_CONTENT (using OUT_PARAM_NAME)

    Return parameters:

    Condition: NotEmpty(PARAM_CONTENT)

    • Case: True

      Condition: NotEmpty(PREV_CONTENT)

      • Case: True

        Condition: Switch

        • Case: Valid(APPEND_BEFORE)

          Parameters set:

          • #OUT_PARAM_NAME# (using PARAM_CONTENT, PREV_CONTENT)
        • Default case:

          Parameters set:

          • #OUT_PARAM_NAME# (using PREV_CONTENT, PARAM_CONTENT)
      • Case: False

        Parameters set:

        • #OUT_PARAM_NAME# (using PARAM_CONTENT)
  • ASOBO_Gates_Input_Handling

    Definition from XML
    <ParametersFn Name="ASOBO_Gates_Input_Handling"> <Parameters Type="Default"> <VAR_UID/> <GET_GATES>Lever_Gates</GET_GATES> <GET_GATES_CONFIG>Lever_Gates_Config</GET_GATES_CONFIG> <OUT_PARAM_NAME>GATE_CLAMP_VALUE_CHECK</OUT_PARAM_NAME> <OUT_PARAM_IS_AT_GATE>IS_AT_ANY_GATE_CHECK</OUT_PARAM_IS_AT_GATE> <OUT_PARAM_SET_CAN_BYPASS_GATE>SET_CAN_BYPASS_GATE</OUT_PARAM_SET_CAN_BYPASS_GATE> <INC_HOLD_DURATION_TO_BYPASS_GATE>0.0</INC_HOLD_DURATION_TO_BYPASS_GATE> <DEC_HOLD_DURATION_TO_BYPASS_GATE>0.3</DEC_HOLD_DURATION_TO_BYPASS_GATE> <IN_RANGE_OFFSET>0.0001</IN_RANGE_OFFSET> </Parameters> <Parameters Type="Override"> <LoadParameters ID="#GET_GATES_CONFIG#"/> <Condition NotEmpty="VAR_UID"> <True> <VAR_UID_PREFIX>_#VAR_UID#</VAR_UID_PREFIX> </True> <False> <VAR_UID_PREFIX/> </False> </Condition> </Parameters> <ReturnParameters> <Loop> <Setup> <Value>GATE_NAME</Value> <Parameters> <LoadParameters ID="#GET_GATES#"/> </Parameters> </Setup> <Do> <Parameters Type="Override"> <GATE_POSITION Process="Param">#GATE_NAME#_IE_PERCENT_SET</GATE_POSITION> <GATE_DIRECTION Process="Param">#GATE_NAME#_GATE_DIRECTION</GATE_DIRECTION> <GATE_DEC_HOLD_DURATION Process="Param">#GATE_NAME#_DEC_HOLD_DURATION</GATE_DEC_HOLD_DURATION> <GATE_INC_HOLD_DURATION Process="Param">#GATE_NAME#_INC_HOLD_DURATION</GATE_INC_HOLD_DURATION> </Parameters> <Parameters Type="Override"> <GATE_POS_NORMALIZED Process="Float">#GATE_POSITION# 100 /</GATE_POS_NORMALIZED> <Condition NotEmpty="GATE_INC_HOLD_DURATION"> <False> <GATE_INC_HOLD_DURATION>#INC_HOLD_DURATION_TO_BYPASS_GATE#</GATE_INC_HOLD_DURATION> </False> </Condition> <Condition NotEmpty="GATE_DEC_HOLD_DURATION"> <False> <GATE_DEC_HOLD_DURATION>#DEC_HOLD_DURATION_TO_BYPASS_GATE#</GATE_DEC_HOLD_DURATION> </False> </Condition> </Parameters> <Parameters Type="Override"> <GATE_POS_NORMALIZED_UP Process="Float">#GATE_POS_NORMALIZED# #IN_RANGE_OFFSET# +</GATE_POS_NORMALIZED_UP> <GATE_POS_NORMALIZED_DN Process="Float">#GATE_POS_NORMALIZED# #IN_RANGE_OFFSET# -</GATE_POS_NORMALIZED_DN> </Parameters> <Parameters Type="Override"> <IS_AT_GATE_CHECK>#GATE_POS_NORMALIZED_DN# #GATE_POS_NORMALIZED_UP# l0 rng</IS_AT_GATE_CHECK> </Parameters> <Parameters Type="Override"> <Switch Param="GATE_DIRECTION"> <Case Value="Both"> <THIS_GATE_CHECK> l1 #GATE_POS_NORMALIZED_UP# &gt; l0 #GATE_POS_NORMALIZED_DN# &lt;= and l1 #GATE_POS_NORMALIZED_UP# &lt; l0 #GATE_POS_NORMALIZED_DN# &gt;= and or #IS_AT_GATE_CHECK# or </THIS_GATE_CHECK> <THIS_GATE_VALUE_AND_HOLD_DURATION> #GATE_POS_NORMALIZED# sp4 l1 l0 &gt; if{ #GATE_INC_HOLD_DURATION# sp6 } els{ #GATE_DEC_HOLD_DURATION# sp6 } </THIS_GATE_VALUE_AND_HOLD_DURATION> </Case> <Case Value="Inc"> <THIS_GATE_CHECK>l1 #GATE_POS_NORMALIZED_UP# &gt; l0 #GATE_POS_NORMALIZED_DN# &lt;= and #IS_AT_GATE_CHECK# or</THIS_GATE_CHECK> <THIS_GATE_VALUE_AND_HOLD_DURATION>#GATE_POS_NORMALIZED# sp4 #GATE_INC_HOLD_DURATION# sp6</THIS_GATE_VALUE_AND_HOLD_DURATION> </Case> <Case Value="Dec"> <THIS_GATE_CHECK>l1 #GATE_POS_NORMALIZED_UP# &lt; l0 #GATE_POS_NORMALIZED_DN# &gt;= and #IS_AT_GATE_CHECK# or</THIS_GATE_CHECK> <THIS_GATE_VALUE_AND_HOLD_DURATION>#GATE_POS_NORMALIZED# sp4 #GATE_DEC_HOLD_DURATION# sp6</THIS_GATE_VALUE_AND_HOLD_DURATION> </Case> </Switch> </Parameters> <Parameters Type="Override" Lifetime="Loop"> <Condition NotEmpty="THIS_GATE_CHECK"> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_CHECK_GATE_BYPASSED</PARAM> <OUT_PARAM_NAME>CHECK_GATE_BYPASSED</OUT_PARAM_NAME> <THIS_CHECK_GATE_BYPASSED>#THIS_GATE_CHECK# if{ 1 sp3 #THIS_GATE_VALUE_AND_HOLD_DURATION# }</THIS_CHECK_GATE_BYPASSED> </UseParametersFn> <Condition NotEmpty="CHECK_IS_AT_ANY_GATE"> <True> <CHECK_IS_AT_ANY_GATE>#CHECK_IS_AT_ANY_GATE# #IS_AT_GATE_CHECK# or</CHECK_IS_AT_ANY_GATE> </True> <False> <CHECK_IS_AT_ANY_GATE>#IS_AT_GATE_CHECK#</CHECK_IS_AT_ANY_GATE> </False> </Condition> </Condition> </Parameters> </Do> <Then> <Condition NotEmpty="CHECK_GATE_BYPASSED"> <True> <#OUT_PARAM_NAME#> sp1 &apos;#INPUT_NAME#&apos; &apos;pressed_or_down&apos;_n (F:InputAction) if{ #GET_POSITION_PCT_OVER_100# sp0 #CHECK_GATE_BYPASSED# l3 if{ &apos;#INPUT_NAME#&apos; &apos;pressed_or_down_time&apos;_n (F:InputAction) sp5 (O:XMLVAR#VAR_UID_PREFIX#_Can_Bypass_Gate) ! if{ l5 (O:XMLVAR#VAR_UID_PREFIX#_Last_Pressed_Time) &lt; if{ (* we release the button and started pressing again *) 1 (&gt;O:XMLVAR#VAR_UID_PREFIX#_Can_Bypass_Gate) 0 (&gt;O:XMLVAR#VAR_UID_PREFIX#_Last_Pressed_Time) } els{ l5 (&gt;O:XMLVAR#VAR_UID_PREFIX#_Last_Pressed_Time) l4 sp1 } } (O:XMLVAR#VAR_UID_PREFIX#_Can_Bypass_Gate) if{ l5 l6 &lt; if{ l4 sp1 } els{ 0 (&gt;O:XMLVAR#VAR_UID_PREFIX#_Can_Bypass_Gate) } } } els{ 0 (&gt;O:XMLVAR#VAR_UID_PREFIX#_Last_Pressed_Time) } } l1 </#OUT_PARAM_NAME#> <#OUT_PARAM_IS_AT_GATE#>#CHECK_IS_AT_ANY_GATE#</#OUT_PARAM_IS_AT_GATE#> <#OUT_PARAM_SET_CAN_BYPASS_GATE#>(&gt;O:XMLVAR#VAR_UID_PREFIX#_Can_Bypass_Gate)</#OUT_PARAM_SET_CAN_BYPASS_GATE#> </True> <False> <#OUT_PARAM_NAME#/> <#OUT_PARAM_IS_AT_GATE#/> <#OUT_PARAM_SET_CAN_BYPASS_GATE#/> </False> </Condition> </Then> </Loop> </ReturnParameters> </ParametersFn>

    Parameters initialization:

    • Default

      Parameters set:

      • VAR_UID
      • GET_GATES
      • GET_GATES_CONFIG
      • OUT_PARAM_NAME
      • OUT_PARAM_IS_AT_GATE
      • OUT_PARAM_SET_CAN_BYPASS_GATE
      • INC_HOLD_DURATION_TO_BYPASS_GATE
      • DEC_HOLD_DURATION_TO_BYPASS_GATE
      • IN_RANGE_OFFSET
    • Override

      Parameters read:

      • GET_GATES_CONFIG

      Condition: NotEmpty(VAR_UID)

      • Case: True

        Parameters set:

        • VAR_UID_PREFIX (using VAR_UID)
      • Case: False

        Parameters set:

        • VAR_UID_PREFIX

    Return parameters:

    Parameters read:

    • GATE_NAME
    • GET_GATES

    Parameters set:

    • GATE_POSITION (using GATE_NAME)
    • GATE_DIRECTION (using GATE_NAME)
    • GATE_DEC_HOLD_DURATION (using GATE_NAME)
    • GATE_INC_HOLD_DURATION (using GATE_NAME)
    • GATE_POS_NORMALIZED (using GATE_POSITION)
    • GATE_POS_NORMALIZED_UP (using GATE_POS_NORMALIZED, IN_RANGE_OFFSET)
    • GATE_POS_NORMALIZED_DN (using GATE_POS_NORMALIZED, IN_RANGE_OFFSET)
    • IS_AT_GATE_CHECK (using GATE_POS_NORMALIZED_DN, GATE_POS_NORMALIZED_UP)

    Condition: NotEmpty(GATE_INC_HOLD_DURATION)

    • Case: False

      Parameters set:

      • GATE_INC_HOLD_DURATION (using INC_HOLD_DURATION_TO_BYPASS_GATE)

    Condition: NotEmpty(GATE_DEC_HOLD_DURATION)

    • Case: False

      Parameters set:

      • GATE_DEC_HOLD_DURATION (using DEC_HOLD_DURATION_TO_BYPASS_GATE)

    Condition: Switch(GATE_DIRECTION)

    • Case: Both

      Parameters set:

      • THIS_GATE_CHECK (using GATE_POS_NORMALIZED_UP, GATE_POS_NORMALIZED_DN, IS_AT_GATE_CHECK)
      • THIS_GATE_VALUE_AND_HOLD_DURATION (using GATE_POS_NORMALIZED, GATE_INC_HOLD_DURATION, GATE_DEC_HOLD_DURATION)
    • Case: Inc

      Parameters set:

      • THIS_GATE_CHECK (using GATE_POS_NORMALIZED_UP, GATE_POS_NORMALIZED_DN, IS_AT_GATE_CHECK)
      • THIS_GATE_VALUE_AND_HOLD_DURATION (using GATE_POS_NORMALIZED, GATE_INC_HOLD_DURATION)
    • Case: Dec

      Parameters set:

      • THIS_GATE_CHECK (using GATE_POS_NORMALIZED_UP, GATE_POS_NORMALIZED_DN, IS_AT_GATE_CHECK)
      • THIS_GATE_VALUE_AND_HOLD_DURATION (using GATE_POS_NORMALIZED, GATE_DEC_HOLD_DURATION)

    Condition: NotEmpty(THIS_GATE_CHECK)

    • Case: True

      ParametersFn used:

      Condition: NotEmpty(CHECK_IS_AT_ANY_GATE)

      • Case: True

        Parameters set:

        • CHECK_IS_AT_ANY_GATE (using CHECK_IS_AT_ANY_GATE, IS_AT_GATE_CHECK)
      • Case: False

        Parameters set:

        • CHECK_IS_AT_ANY_GATE (using IS_AT_GATE_CHECK)

    Condition: NotEmpty(CHECK_GATE_BYPASSED)

    • Case: True

      Parameters set:

      • #OUT_PARAM_NAME# (using INPUT_NAME, GET_POSITION_PCT_OVER_100, CHECK_GATE_BYPASSED, VAR_UID_PREFIX)
      • #OUT_PARAM_IS_AT_GATE# (using CHECK_IS_AT_ANY_GATE)
      • #OUT_PARAM_SET_CAN_BYPASS_GATE# (using VAR_UID_PREFIX)
    • Case: False

      Parameters set:

      • #OUT_PARAM_NAME#
      • #OUT_PARAM_IS_AT_GATE#
      • #OUT_PARAM_SET_CAN_BYPASS_GATE#
  • ASOBO_Save_Update_Helper

    Definition from XML
    <ParametersFn Name="ASOBO_Save_Update_Helper"> <Parameters Type="Default"> <UPDATE_CODE/> <UPDATE_INTERACTION_MODEL>All</UPDATE_INTERACTION_MODEL> <UPDATE_FREQUENCY>1</UPDATE_FREQUENCY> <UPDATE_TEMPLATE>ASOBO_GT_Update</UPDATE_TEMPLATE> <SAVE_UPDATE_TO>Temp_Update</SAVE_UPDATE_TO> </Parameters> <Parameters Type="Override"> <SaveParameters ID="#SAVE_UPDATE_TO#" Append="Default"> <UPDATE_TEMPLATE>#UPDATE_TEMPLATE#</UPDATE_TEMPLATE> <UPDATE_CODE>#UPDATE_CODE#</UPDATE_CODE> <Condition Check="UPDATE_ONCE"> <True> <UPDATE_ONCE>#UPDATE_ONCE#</UPDATE_ONCE> </True> <False> <FREQUENCY>#UPDATE_FREQUENCY#</FREQUENCY> </False> </Condition> <INTERACTION_MODEL>#UPDATE_INTERACTION_MODEL#</INTERACTION_MODEL> </SaveParameters> </Parameters> </ParametersFn>

    Parameters initialization:

    • Default

      Parameters set:

      • UPDATE_CODE
      • UPDATE_INTERACTION_MODEL
      • UPDATE_FREQUENCY
      • UPDATE_TEMPLATE
      • SAVE_UPDATE_TO
    • Override

      Parameters read:

      • SAVE_UPDATE_TO

      Parameters set:

      • UPDATE_TEMPLATE (using UPDATE_TEMPLATE)
      • UPDATE_CODE (using UPDATE_CODE)
      • INTERACTION_MODEL (using UPDATE_INTERACTION_MODEL)

      Condition: Check(UPDATE_ONCE)

      • Case: True

        Parameters set:

        • UPDATE_ONCE (using UPDATE_ONCE)
      • Case: False

        Parameters set:

        • FREQUENCY (using UPDATE_FREQUENCY)
  • ASOBO_Increment_ID_Helper

    Definition from XML
    <ParametersFn Name="ASOBO_Increment_ID_Helper"> <Parameters Type="Default"> <OUT_PARAM_ID_NAME>CUR_ID</OUT_PARAM_ID_NAME> <OUT_FIRST_ID>0</OUT_FIRST_ID> <INCREMENT_COUNT>1</INCREMENT_COUNT> </Parameters> <Parameters Type="Override"> <Condition Check="#OUT_PARAM_ID_NAME#"> <CUR_VALUE Process="Param">#OUT_PARAM_ID_NAME#</CUR_VALUE> </Condition> </Parameters> <ReturnParameters> <Condition Check="#OUT_PARAM_ID_NAME#"> <True> <#OUT_PARAM_ID_NAME# Process="Int">#CUR_VALUE# #INCREMENT_COUNT# +</#OUT_PARAM_ID_NAME#> </True> <False> <#OUT_PARAM_ID_NAME#>#OUT_FIRST_ID#</#OUT_PARAM_ID_NAME#> </False> </Condition> </ReturnParameters> </ParametersFn>

    Parameters initialization:

    • Default

      Parameters set:

      • OUT_PARAM_ID_NAME
      • OUT_FIRST_ID
      • INCREMENT_COUNT
    • Override

      Condition: Check(#OUT_PARAM_ID_NAME#)

      • Case: True

        Parameters set:

        • CUR_VALUE (using OUT_PARAM_ID_NAME)

    Return parameters:

    Condition: Check(#OUT_PARAM_ID_NAME#)

    • Case: True

      Parameters set:

      • #OUT_PARAM_ID_NAME# (using CUR_VALUE, INCREMENT_COUNT)
    • Case: False

      Parameters set:

      • #OUT_PARAM_ID_NAME# (using OUT_FIRST_ID)
  • ASOBO_Incremental_Save_Helper

    Definition from XML
    <ParametersFn Name="ASOBO_Incremental_Save_Helper"> <Parameters Type="Default"> <SAVE_ELEMENT_PREFIX>Saved_#ELEMENT_TYPE_NAME#</SAVE_ELEMENT_PREFIX> <APPEND_ELEMENT>Append_With_#ELEMENT_TYPE_NAME#</APPEND_ELEMENT> <SAVE_INCREMENT_TO>Saved_#ELEMENT_TYPE_NAME#_Parameters</SAVE_INCREMENT_TO> <SAVE_ELEMENT>ASOBO_Save_#ELEMENT_TYPE_NAME#_Helper</SAVE_ELEMENT> </Parameters> <Parameters Type="Override"> <LoadParameters ID="#SAVE_INCREMENT_TO#"/> <ELEMENT_TYPE_NAME_UC Process="String">&apos;#ELEMENT_TYPE_NAME#&apos; uc</ELEMENT_TYPE_NAME_UC> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Increment_ID_Helper"> <OUT_PARAM_ID_NAME>#ELEMENT_TYPE_NAME_UC#_LAST_ID_USED</OUT_PARAM_ID_NAME> </UseParametersFn> </Parameters> <Parameters Type="Override"> <LAST_ID_USED Process="Param">#ELEMENT_TYPE_NAME_UC#_LAST_ID_USED</LAST_ID_USED> </Parameters> <Parameters Type="Default"> <SAVE_#ELEMENT_TYPE_NAME_UC#_TO>#SAVE_ELEMENT_PREFIX#_#LAST_ID_USED#</SAVE_#ELEMENT_TYPE_NAME_UC#_TO> <Condition CheckSavedParameters="#APPEND_ELEMENT#"> <APPEND_WITH_SAVED_#ELEMENT_TYPE_NAME_UC#>#APPEND_ELEMENT#</APPEND_WITH_SAVED_#ELEMENT_TYPE_NAME_UC#> </Condition> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="#SAVE_ELEMENT#"/> <SaveParameters ID="#SAVE_INCREMENT_TO#" Append="Override"> <#ELEMENT_TYPE_NAME_UC#_LAST_ID_USED>#LAST_ID_USED#</#ELEMENT_TYPE_NAME_UC#_LAST_ID_USED> </SaveParameters> </Parameters> </ParametersFn>

    Parameters initialization:

    • Default

      Parameters set:

      • SAVE_ELEMENT_PREFIX (using ELEMENT_TYPE_NAME)
      • APPEND_ELEMENT (using ELEMENT_TYPE_NAME)
      • SAVE_INCREMENT_TO (using ELEMENT_TYPE_NAME)
      • SAVE_ELEMENT (using ELEMENT_TYPE_NAME)
    • Override

      Parameters read:

      • SAVE_INCREMENT_TO

      Parameters set:

      • ELEMENT_TYPE_NAME_UC (using ELEMENT_TYPE_NAME)
    • Override

      ParametersFn used:

    • Override

      Parameters set:

      • LAST_ID_USED (using ELEMENT_TYPE_NAME_UC)
    • Default

      Parameters set:

      • SAVE_#ELEMENT_TYPE_NAME_UC#_TO (using SAVE_ELEMENT_PREFIX, LAST_ID_USED)

      Condition: CheckSavedParameters(#APPEND_ELEMENT#)

      • Case: True

        Parameters set:

        • APPEND_WITH_SAVED_#ELEMENT_TYPE_NAME_UC# (using APPEND_ELEMENT)
    • Override

      Parameters read:

      • SAVE_ELEMENT
      • SAVE_INCREMENT_TO

      Parameters set:

      • #ELEMENT_TYPE_NAME_UC#_LAST_ID_USED (using LAST_ID_USED)

      ParametersFn used:

      • #SAVE_ELEMENT#
  • ASOBO_Add_Update_Helper

    Definition from XML
    <ParametersFn Name="ASOBO_Add_Update_Helper"> <Parameters Type="Override"> <Condition Check="UPDATE_TYPE_NAME"> <SAVE_ELEMENT_PREFIX>Saved_#UPDATE_TYPE_NAME#_Update</SAVE_ELEMENT_PREFIX> <SAVE_INCREMENT_TO>Saved_#UPDATE_TYPE_NAME#_Update_Parameters</SAVE_INCREMENT_TO> </Condition> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Incremental_Save_Helper"> <ELEMENT_TYPE_NAME>Update</ELEMENT_TYPE_NAME> </UseParametersFn> </Parameters> </ParametersFn>

    Parameters initialization:

    • Override

      Condition: Check(UPDATE_TYPE_NAME)

      • Case: True

        Parameters set:

        • SAVE_ELEMENT_PREFIX (using UPDATE_TYPE_NAME)
        • SAVE_INCREMENT_TO (using UPDATE_TYPE_NAME)
    • Override

      ParametersFn used:

  • ASOBO_Load_Then_Remove_Parameters_Helper

    Definition from XML
    <ParametersFn Name="ASOBO_Load_Then_Remove_Parameters_Helper"> <Parameters Type="Default"> <REMOVE_#SAVED_PARAMETERS#>True</REMOVE_#SAVED_PARAMETERS#> </Parameters> <Parameters Type="Override"> <__SAVED_PARAMETERS__ Process="Param">#SAVED_PARAMETERS#</__SAVED_PARAMETERS__> </Parameters> <ReturnParameters> <Condition CheckSavedParameters="#__SAVED_PARAMETERS__#"> <LoadParameters ID="#__SAVED_PARAMETERS__#"/> <Condition Valid="REMOVE_#SAVED_PARAMETERS#"> <RemoveSavedParameters ID="#__SAVED_PARAMETERS__#"/> </Condition> </Condition> </ReturnParameters> </ParametersFn>

    Parameters initialization:

    • Default

      Parameters set:

      • REMOVE_#SAVED_PARAMETERS#
    • Override

      Parameters set:

      • __SAVED_PARAMETERS__ (using SAVED_PARAMETERS)

    Return parameters:

    Condition: CheckSavedParameters(#__SAVED_PARAMETERS__#)

    • Case: True

      Parameters read:

      • __SAVED_PARAMETERS__

      Condition: Valid(REMOVE_#SAVED_PARAMETERS#)

      • Case: True

        Parameters read:

        • __SAVED_PARAMETERS__
  • ASOBO_Get_Throttle_Key_Events_To_Intercepts

    Definition from XML
    <ParametersFn Name="ASOBO_Get_Throttle_Key_Events_To_Intercepts"> <Parameters Type="Default"> <THROTTLE_INCREMENT_SCALE>0.01</THROTTLE_INCREMENT_SCALE> </Parameters> <Parameters Type="Default"> <INPUT_VALUE>p1</INPUT_VALUE> <MAP_INPUT_VALUE>@16K /</MAP_INPUT_VALUE> <MAP_AXIS_VALUE>@16K / 1 + 0.5 *</MAP_AXIS_VALUE> <DECREMENT>p0 #THROTTLE_INCREMENT_SCALE# * -</DECREMENT> <INCREMENT>p0 #THROTTLE_INCREMENT_SCALE# * +</INCREMENT> <THROTTLE_CUT_VALUE>0</THROTTLE_CUT_VALUE> <THROTTLE_FULL_VALUE>1</THROTTLE_FULL_VALUE> <SET_ALL_REVERSE_THRUST_ENABLED>(&gt;A:GENERAL ENG REVERSE THRUST ENGAGED:0, Bool)</SET_ALL_REVERSE_THRUST_ENABLED> </Parameters> <Parameters Type="Override"> <Loop> <Setup> <Param>THROTTLE_NAME</Param> <Value>THROTTLE_INDEX</Value> <Parameters> <LoadParameters ID="Throttles"/> <RemoveSavedParameters ID="Throttles"/> </Parameters> </Setup> <Do> <Parameters Type="Default"> <IS_REVERSE_THRUST_ENABLED>(A:GENERAL ENG REVERSE THRUST ENGAGED:#THROTTLE_INDEX#, Bool)</IS_REVERSE_THRUST_ENABLED> <SET_REVERSE_THRUST_ENABLED>(&gt;A:GENERAL ENG REVERSE THRUST ENGAGED:#THROTTLE_INDEX#, Bool)</SET_REVERSE_THRUST_ENABLED> <GET_POSITION_PCT_OVER_100>(B:#THROTTLE_NAME#, percent over 100)</GET_POSITION_PCT_OVER_100> <GET_GATES>#THROTTLE_NAME#_CURVE</GET_GATES> <GET_GATES_CONFIG>#THROTTLE_NAME#_CURVE_CONFIG</GET_GATES_CONFIG> </Parameters> <Parameters Type="Default"> <Condition NotEmpty="PFN_MAP_SETTABLE_VALUE"> <True> <UseParametersFn Name="#PFN_MAP_SETTABLE_VALUE#"/> </True> <False> <Condition Check="THROTTLE_CUT_VALUE" Match="0"> <True> <MAP_SETTABLE_VALUE/> </True> <False> <MAP_SETTABLE_VALUE>0 1 #THROTTLE_CUT_VALUE# 0 #THROTTLE_FULL_VALUE# #IS_REVERSE_THRUST_ENABLED# ? (F:MapRange)</MAP_SETTABLE_VALUE> </False> </Condition> </False> </Condition> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Gates_Input_Handling"> <INPUT_NAME>KEY_THROTTLE_INCR</INPUT_NAME> <OUT_PARAM_NAME>GLB_CLAMP_THROTTLE_INCR</OUT_PARAM_NAME> <VAR_UID>#THROTTLE_NAME#</VAR_UID> <OUT_PARAM_SET_CAN_BYPASS_GATE>GLB_SET_CAN_BYPASS_GATE</OUT_PARAM_SET_CAN_BYPASS_GATE> </UseParametersFn> <UseParametersFn Name="ASOBO_Gates_Input_Handling"> <INPUT_NAME>KEY_THROTTLE_DECR</INPUT_NAME> <OUT_PARAM_NAME>GLB_CLAMP_THROTTLE_DECR</OUT_PARAM_NAME> <VAR_UID>#THROTTLE_NAME#</VAR_UID> <OUT_PARAM_SET_CAN_BYPASS_GATE>GLB_SET_CAN_BYPASS_GATE</OUT_PARAM_SET_CAN_BYPASS_GATE> </UseParametersFn> <UseParametersFn Name="ASOBO_Gates_Input_Handling"> <INPUT_NAME>KEY_THROTTLE#THROTTLE_INDEX#_INCR</INPUT_NAME> <OUT_PARAM_NAME>CLAMP_THROTTLE_INCR</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Gates_Input_Handling"> <INPUT_NAME>KEY_THROTTLE#THROTTLE_INDEX#_DECR</INPUT_NAME> <OUT_PARAM_NAME>CLAMP_THROTTLE_DECR</OUT_PARAM_NAME> </UseParametersFn> </Parameters> <Parameters Type="Override"> <UseParametersFn Name="ASOBO_Add_Update_Helper"> <UPDATE_ONCE>True</UPDATE_ONCE> <UPDATE_CODE>#GET_POSITION_PCT_OVER_100# sp0 #IS_AT_ANY_GATE_CHECK# if{ 1 #SET_CAN_BYPASS_GATE# 1 #GLB_SET_CAN_BYPASS_GATE# }</UPDATE_CODE> </UseParametersFn> <Condition NotEmpty="THROTTLE_FULL_ALIAS_ID"> <True> <THIS_THROTTLE_FULL>(&gt;B:#THROTTLE_NAME#_#THROTTLE_FULL_ALIAS_ID#)</THIS_THROTTLE_FULL> </True> <False> <THIS_THROTTLE_FULL>#THROTTLE_FULL_VALUE# (&gt;B:#THROTTLE_NAME#_SET)</THIS_THROTTLE_FULL> </False> </Condition> <Condition NotEmpty="THROTTLE_CUT_ALIAS_ID"> <True> <THIS_THROTTLE_CUT>(&gt;B:#THROTTLE_NAME#_#THROTTLE_CUT_ALIAS_ID#)</THIS_THROTTLE_CUT> </True> <False> <THIS_THROTTLE_CUT>#THROTTLE_CUT_VALUE# (&gt;B:#THROTTLE_NAME#_SET)</THIS_THROTTLE_CUT> </False> </Condition> <INCREMENT_THIS_THROTTLE>#GET_POSITION_PCT_OVER_100# #INCREMENT#</INCREMENT_THIS_THROTTLE> <DECREMENT_THIS_THROTTLE>#GET_POSITION_PCT_OVER_100# #DECREMENT#</DECREMENT_THIS_THROTTLE> <THIS_THROTTLE_SET>#INPUT_VALUE# #MAP_INPUT_VALUE# #MAP_SETTABLE_VALUE# (&gt;B:#THROTTLE_NAME#_SET)</THIS_THROTTLE_SET> <THIS_THROTTLE_AXIS_SET>#INPUT_VALUE# #MAP_AXIS_VALUE# #MAP_SETTABLE_VALUE# (&gt;B:#THROTTLE_NAME#_SET)</THIS_THROTTLE_AXIS_SET> <THIS_THROTTLE_RESET_IN_RANGE> #GET_POSITION_PCT_OVER_100# sp0 #IS_REVERSE_THRUST_ENABLED# if{ l0 #THROTTLE_CUT_VALUE# &gt; if{ l0 #THROTTLE_CUT_VALUE# #THROTTLE_FULL_VALUE# #THROTTLE_CUT_VALUE# 0 (F:MapRange) (&gt;B:#THROTTLE_NAME#_SET) } } els{ l0 #THROTTLE_CUT_VALUE# &lt; if{ l0 0 #THROTTLE_CUT_VALUE# #THROTTLE_FULL_VALUE# #THROTTLE_CUT_VALUE# (F:MapRange) (&gt;B:#THROTTLE_NAME#_SET) } } </THIS_THROTTLE_RESET_IN_RANGE> </Parameters> <Parameters Type="Override" Lifetime="Loop"> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_THROTTLE_INCR</PARAM> <OUT_PARAM_NAME>ALL_THROTTLE_INCR</OUT_PARAM_NAME> <THIS_THROTTLE_INCR>#INCREMENT_THIS_THROTTLE# #GLB_CLAMP_THROTTLE_INCR# (&gt;B:#THROTTLE_NAME#_SET)</THIS_THROTTLE_INCR> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_THROTTLE_DECR</PARAM> <OUT_PARAM_NAME>ALL_THROTTLE_DECR</OUT_PARAM_NAME> <THIS_THROTTLE_DECR>#DECREMENT_THIS_THROTTLE# #GLB_CLAMP_THROTTLE_DECR# (&gt;B:#THROTTLE_NAME#_SET)</THIS_THROTTLE_DECR> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_THROTTLE_FULL</PARAM> <OUT_PARAM_NAME>ALL_THROTTLE_FULL</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_THROTTLE_CUT</PARAM> <OUT_PARAM_NAME>ALL_THROTTLE_CUT</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_THROTTLE_SET</PARAM> <OUT_PARAM_NAME>ALL_THROTTLE_SET</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_THROTTLE_AXIS_SET</PARAM> <OUT_PARAM_NAME>ALL_THROTTLE_AXIS_SET</OUT_PARAM_NAME> </UseParametersFn> <UseParametersFn Name="ASOBO_Append_If_Necessary_Helper"> <PARAM>THIS_THROTTLE_RESET_IN_RANGE</PARAM> <OUT_PARAM_NAME>ALL_THROTTLE_RESET_IN_RANGE</OUT_PARAM_NAME> </UseParametersFn> </Parameters> <SaveParameters ID="Throttle_Key_Events_To_Intercept" Append="Override"> <THROTTLE#THROTTLE_INDEX#_INCR>#INCREMENT_THIS_THROTTLE# #CLAMP_THROTTLE_INCR# (&gt;B:#THROTTLE_NAME#_SET)</THROTTLE#THROTTLE_INDEX#_INCR> <THROTTLE#THROTTLE_INDEX#_DECR>#DECREMENT_THIS_THROTTLE# #CLAMP_THROTTLE_DECR# (&gt;B:#THROTTLE_NAME#_SET)</THROTTLE#THROTTLE_INDEX#_DECR> <THROTTLE#THROTTLE_INDEX#_FULL>#THIS_THROTTLE_FULL#</THROTTLE#THROTTLE_INDEX#_FULL> <THROTTLE#THROTTLE_INDEX#_CUT>#THIS_THROTTLE_CUT#</THROTTLE#THROTTLE_INDEX#_CUT> <THROTTLE#THROTTLE_INDEX#_SET>#THIS_THROTTLE_SET#</THROTTLE#THROTTLE_INDEX#_SET> <THROTTLE#THROTTLE_INDEX#_AXIS_SET_EX1>#THIS_THROTTLE_AXIS_SET#</THROTTLE#THROTTLE_INDEX#_AXIS_SET_EX1> <TOGGLE_THROTTLE#THROTTLE_INDEX#_REVERSE_THRUST>#IS_REVERSE_THRUST_ENABLED# ! #SET_REVERSE_THRUST_ENABLED# #THIS_THROTTLE_RESET_IN_RANGE#</TOGGLE_THROTTLE#THROTTLE_INDEX#_REVERSE_THRUST> <SET_THROTTLE#THROTTLE_INDEX#_REVERSE_THRUST_ON>1 #SET_REVERSE_THRUST_ENABLED# #THIS_THROTTLE_RESET_IN_RANGE#</SET_THROTTLE#THROTTLE_INDEX#_REVERSE_THRUST_ON> <SET_THROTTLE#THROTTLE_INDEX#_REVERSE_THRUST_OFF>0 #SET_REVERSE_THRUST_ENABLED# #THIS_THROTTLE_RESET_IN_RANGE#</SET_THROTTLE#THROTTLE_INDEX#_REVERSE_THRUST_OFF> </SaveParameters> </Do> <Then> <SaveParameters ID="Throttle_Key_Events_To_Intercept" Append="Override"> <THROTTLE_INCR>#ALL_THROTTLE_INCR#</THROTTLE_INCR> <THROTTLE_DECR>#ALL_THROTTLE_DECR#</THROTTLE_DECR> <THROTTLE_CUT>#ALL_THROTTLE_CUT#</THROTTLE_CUT> <THROTTLE_FULL>#ALL_THROTTLE_FULL#</THROTTLE_FULL> <THROTTLE_SET>#ALL_THROTTLE_SET#</THROTTLE_SET> <THROTTLE_AXIS_SET_EX1>#ALL_THROTTLE_AXIS_SET#</THROTTLE_AXIS_SET_EX1> <THROTTLE_REVERSE_THRUST_TOGGLE>(A:GENERAL ENG REVERSE THRUST ENGAGED:1, Bool) ! #SET_ALL_REVERSE_THRUST_ENABLED# #ALL_THROTTLE_RESET_IN_RANGE#</THROTTLE_REVERSE_THRUST_TOGGLE> <THROTTLE_REVERSE_THRUST_HOLD>p1 #SET_ALL_REVERSE_THRUST_ENABLED# #ALL_THROTTLE_RESET_IN_RANGE#</THROTTLE_REVERSE_THRUST_HOLD> <SET_THROTTLE_REVERSE_THRUST_ON>1 #SET_ALL_REVERSE_THRUST_ENABLED# #ALL_THROTTLE_RESET_IN_RANGE#</SET_THROTTLE_REVERSE_THRUST_ON> <SET_THROTTLE_REVERSE_THRUST_OFF>0 #SET_ALL_REVERSE_THRUST_ENABLED# #ALL_THROTTLE_RESET_IN_RANGE#</SET_THROTTLE_REVERSE_THRUST_OFF> </SaveParameters> </Then> </Loop> </Parameters> <ReturnParameters> <LoadParameters ID="Throttle_Key_Events_To_Intercept"/> <RemoveSavedParameters ID="Throttle_Key_Events_To_Intercept"/> </ReturnParameters> </ParametersFn>

    Parameters initialization:

    • Default

      Parameters set:

      • THROTTLE_INCREMENT_SCALE
    • Default

      Parameters set:

      • INPUT_VALUE
      • MAP_INPUT_VALUE
      • MAP_AXIS_VALUE
      • DECREMENT (using THROTTLE_INCREMENT_SCALE)
      • INCREMENT (using THROTTLE_INCREMENT_SCALE)
      • THROTTLE_CUT_VALUE
      • THROTTLE_FULL_VALUE
      • SET_ALL_REVERSE_THRUST_ENABLED
    • Override

      Parameters read:

      • THROTTLE_INDEX

      Parameters set:

      • THROTTLE_NAME
      • IS_REVERSE_THRUST_ENABLED (using THROTTLE_INDEX)
      • SET_REVERSE_THRUST_ENABLED (using THROTTLE_INDEX)
      • GET_POSITION_PCT_OVER_100 (using THROTTLE_NAME)
      • GET_GATES (using THROTTLE_NAME)
      • GET_GATES_CONFIG (using THROTTLE_NAME)
      • INCREMENT_THIS_THROTTLE (using GET_POSITION_PCT_OVER_100, INCREMENT)
      • DECREMENT_THIS_THROTTLE (using GET_POSITION_PCT_OVER_100, DECREMENT)
      • THIS_THROTTLE_SET (using INPUT_VALUE, MAP_INPUT_VALUE, MAP_SETTABLE_VALUE, THROTTLE_NAME)
      • THIS_THROTTLE_AXIS_SET (using INPUT_VALUE, MAP_AXIS_VALUE, MAP_SETTABLE_VALUE, THROTTLE_NAME)
      • THIS_THROTTLE_RESET_IN_RANGE (using GET_POSITION_PCT_OVER_100, IS_REVERSE_THRUST_ENABLED, THROTTLE_CUT_VALUE, THROTTLE_FULL_VALUE, THROTTLE_NAME)
      • THROTTLE#THROTTLE_INDEX#_INCR (using INCREMENT_THIS_THROTTLE, CLAMP_THROTTLE_INCR, THROTTLE_NAME)
      • THROTTLE#THROTTLE_INDEX#_DECR (using DECREMENT_THIS_THROTTLE, CLAMP_THROTTLE_DECR, THROTTLE_NAME)
      • THROTTLE#THROTTLE_INDEX#_FULL (using THIS_THROTTLE_FULL)
      • THROTTLE#THROTTLE_INDEX#_CUT (using THIS_THROTTLE_CUT)
      • THROTTLE#THROTTLE_INDEX#_SET (using THIS_THROTTLE_SET)
      • THROTTLE#THROTTLE_INDEX#_AXIS_SET_EX1 (using THIS_THROTTLE_AXIS_SET)
      • TOGGLE_THROTTLE#THROTTLE_INDEX#_REVERSE_THRUST (using IS_REVERSE_THRUST_ENABLED, SET_REVERSE_THRUST_ENABLED, THIS_THROTTLE_RESET_IN_RANGE)
      • SET_THROTTLE#THROTTLE_INDEX#_REVERSE_THRUST_ON (using SET_REVERSE_THRUST_ENABLED, THIS_THROTTLE_RESET_IN_RANGE)
      • SET_THROTTLE#THROTTLE_INDEX#_REVERSE_THRUST_OFF (using SET_REVERSE_THRUST_ENABLED, THIS_THROTTLE_RESET_IN_RANGE)
      • THROTTLE_INCR (using ALL_THROTTLE_INCR)
      • THROTTLE_DECR (using ALL_THROTTLE_DECR)
      • THROTTLE_CUT (using ALL_THROTTLE_CUT)
      • THROTTLE_FULL (using ALL_THROTTLE_FULL)
      • THROTTLE_SET (using ALL_THROTTLE_SET)
      • THROTTLE_AXIS_SET_EX1 (using ALL_THROTTLE_AXIS_SET)
      • THROTTLE_REVERSE_THRUST_TOGGLE (using SET_ALL_REVERSE_THRUST_ENABLED, ALL_THROTTLE_RESET_IN_RANGE)
      • THROTTLE_REVERSE_THRUST_HOLD (using SET_ALL_REVERSE_THRUST_ENABLED, ALL_THROTTLE_RESET_IN_RANGE)
      • SET_THROTTLE_REVERSE_THRUST_ON (using SET_ALL_REVERSE_THRUST_ENABLED, ALL_THROTTLE_RESET_IN_RANGE)
      • SET_THROTTLE_REVERSE_THRUST_OFF (using SET_ALL_REVERSE_THRUST_ENABLED, ALL_THROTTLE_RESET_IN_RANGE)

      ParametersFn used:

      Condition: NotEmpty(PFN_MAP_SETTABLE_VALUE)

      • Case: True

        Parameters read:

        • PFN_MAP_SETTABLE_VALUE

        ParametersFn used:

        • #PFN_MAP_SETTABLE_VALUE#
      • Case: False

        Condition: Check(THROTTLE_CUT_VALUE)

        • Case: True

          Parameters set:

          • MAP_SETTABLE_VALUE
        • Case: False

          Parameters set:

          • MAP_SETTABLE_VALUE (using THROTTLE_CUT_VALUE, THROTTLE_FULL_VALUE, IS_REVERSE_THRUST_ENABLED)

      Condition: NotEmpty(THROTTLE_FULL_ALIAS_ID)

      • Case: True

        Parameters set:

        • THIS_THROTTLE_FULL (using THROTTLE_NAME, THROTTLE_FULL_ALIAS_ID)
      • Case: False

        Parameters set:

        • THIS_THROTTLE_FULL (using THROTTLE_FULL_VALUE, THROTTLE_NAME)

      Condition: NotEmpty(THROTTLE_CUT_ALIAS_ID)

      • Case: True

        Parameters set:

        • THIS_THROTTLE_CUT (using THROTTLE_NAME, THROTTLE_CUT_ALIAS_ID)
      • Case: False

        Parameters set:

        • THIS_THROTTLE_CUT (using THROTTLE_CUT_VALUE, THROTTLE_NAME)