typedef struct
{
var x;
var y;
STRING *funcName; //The function pointer
} SPOT;
void callingFunction(SPOT *this) //your function
{
STRING *tempStr = str_create("");
str_cpy(tempStr, "this position x = ");
str_cat(tempStr, str_for_num(NULL, this.x));
str_cat(tempStr, ", and this position y = ");
str_cat(tempStr, str_for_num(NULL, this.y));
error(tempStr);
}
SPOT* setup_spot() //a init routine
{
SPOT* spot = sys_malloc(sizeof(SPOT));
spot->x = random(100);
spot->y = random(100);
spot->funcName = str_create(""); //Set fn as func
str_cpy(spot->funcName, "callingFunction");
return(spot);
}
// empty prototype function
void PrototypeCallFunction(SPOT *this);
void main()
{
random_seed(0);
SPOT* spot = setup_spot(); //create SPOT
PrototypeCallFunction = engine_getscript(_chr(spot->funcName));
if(PrototypeCallFunction) { PrototypeCallFunction(spot); }
}