==== CsParseArguments ====
int CsParseArguments( VM *vm, char *fmt, ... )
Retrieves arguments on the stack for the current function
=== Parameters ===
* vm: Virtual machine instance
* fmt: List of argument types to be retrieved
=== Returns ===
Number of arguments remaining on the stack
== Format string ==
An expected type of a pointer passed in variable argument list
is specified in the parentheses.
* | - indicates that any following arguments are optional
* * - Skip argument
* c - Character1 (char *)
* s - Short integer value1 (short *)
* i - Integer value1 (int *)
* l - Long integer value1 (long *)
* f - Float value (float *)2
* d - Double value (double *)3
* S - String value (wchar * *)
* ? - Indicates that the value can be undefined
* # - Returns length of the string in the next argument (int *)
* V - Value (tis::value *)
* ? - Indicates that the value can be undefined
* = - Specifies the dispatch of an expected TIScript type of the object in the next argument (tis::dispatch *)
* P - Native pointer of the CObject (void **)
* ? - Indicates that the value can be undefined
* = - Specifies the dispatch of an expected TIScript type of the object in the next argument (tis::dispatch *)
* B - Boolean (bool *)
* L - Symbol (tis::symbol_t *)
1 - All these format specifiers represent an integral type argument on the stack\\
2 - If integral value is on the stack it is converted to a float value\\
3 - If integral or float value is on the stack it is converted to a double value