VM calls are used inside .ebp scripts which are responsible for most of the things that happen in a location (Quests, NPC's, etc.). This extension extends existing VM calls, fixes various issues in others and also introduces entirely new ones.
Versioning
The VM extension comes with a version, so whenever a drastic change is made, you can react much more easily to it. For example, if you want to use a call target that is only available in version 2 or higher, you can use the Check Version function to ensure it is actually available before calling it.
Some changes will also break compatibility with .ebp scripts that already include modified (new) call targets. So when upgrading, you will need to adjust the .ebp source file and/or recompile it to a script again.
Below is a list of which changes increase the version and which ones of them require you to update your source of script files.
Change
Increases Version?
Requires Updates To
Increased or decreased the argument count of a call target.
SourceScript
Changed the order or type of an argument passed to a call target.
SourceScript
Renamed a call target.
Source
Added a new call target.
Bug fixes in existing or new call targets.
The VM extension version will only be increased if it is absolutely necessary. So you won't be forced to update your source and/or script files every few months.
Call Tables
Each VM extension version comes with it's own call table that you pass on to the VM Script De/Compiler when de/compiling a script.