Difference between revisions of "Call arguments"

From Final Fantasy XII Wiki
Jump to navigation Jump to search
 
Line 25: Line 25:
 
CALLACTPOPA [setpos]
 
CALLACTPOPA [setpos]
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
[[Category:General]]

Latest revision as of 11:26, 23 July 2019

All arguments for called functions are pushed onto stack in order of appearance in function signature. In other words, top of the stack contains the last argument.

E.g. a c-like call

setpos(posx, posy, posz);

Is represented by

PUSHV [posx]
PUSHV [posy]
PUSHV [posz]
CALLPOPA [setpos]

If a function is called within a context of another script, different instruction is used and additional value (representing script number) is pushed onto the stack. E.g. a c-like call

NPC01.setpos(posx, posy, posz);

Is represented by

PUSHV [posx]
PUSHV [posy]
PUSHV [posz]
PUSHII 2   #where 2 is script number
CALLACTPOPA [setpos]