# Program Flow (functions)

- [BIS_fnc_call](../../functions/BIS_fnc_call.md): Execute given code with or without parameter.
- [BIS_fnc_CPWaitUntil](../../functions/BIS_fnc_CPWaitUntil.md): Function waits until condition becomes true. Condition is checked with given interval.
- [BIS_fnc_execFSM](../../functions/BIS_fnc_execFSM.md): Execute the scripted FSM. Shell for execFSM command
- [BIS_fnc_execVM](../../functions/BIS_fnc_execVM.md) **[deprecated]**: execVM desired script with desired argument(s). This function is only really useful when combined with BIS_fnc_MP to execute a script remotely.
- [BIS_fnc_halt](../../functions/BIS_fnc_halt.md): Halts current function and all its parents and logs an error message.
- [BIS_fnc_loop](../../functions/BIS_fnc_loop.md): Loop stacked code/function with timing and conditional control. Code and conditions are executed in non-scheduled environment.
- [BIS_fnc_runLater](../../functions/BIS_fnc_runLater.md): Stack code/function that should be run later, after some time/frames or/and custom condition. Internally calls BIS_fnc_loop.
- [BIS_fnc_spawn](../../functions/BIS_fnc_spawn.md): Execute given code with or without parameter.
- [BIS_fnc_spawnOrdered](../../functions/BIS_fnc_spawnOrdered.md): Spawns given function and executes it in the order it was called in case multiple calls are made. If mutex name is not specified, function name is used.
