25 typedef void (SQPrintFunc)(
bool error_msg,
const SQChar *message);
53 static void CompileError(HSQUIRRELVM
vm,
const SQChar *desc,
const SQChar *source, SQInteger line, SQInteger column);
63 static void PrintFunc(HSQUIRRELVM
vm,
const SQChar *s, ...);
85 bool LoadScript(HSQUIRRELVM
vm,
const char *script,
bool in_root =
true);
90 SQRESULT
LoadFile(HSQUIRRELVM
vm,
const char *filename, SQBool printerror);
96 void AddMethod(
const char *method_name, SQFUNCTION proc, uint nparam = 0,
const char *params = NULL,
void *userdata = NULL,
int size = 0);
102 void AddConst(
const char *var_name,
int value);
114 void AddConst(
const char *var_name,
bool value);
126 void AddClassBegin(
const char *class_name,
const char *parent_class);
137 bool Resume(
int suspend = -1);
149 void InsertResult(
bool result);
150 void InsertResult(
int result);
151 void InsertResult(uint result) { this->InsertResult((
int)result); }
157 bool CallMethod(HSQOBJECT instance,
const char *method_name, HSQOBJECT *ret,
int suspend);
158 bool CallMethod(HSQOBJECT instance,
const char *method_name,
int suspend) {
return this->
CallMethod(instance, method_name, NULL, suspend); }
159 bool CallStringMethodStrdup(HSQOBJECT instance,
const char *method_name,
const char **res,
int suspend);
160 bool CallIntegerMethod(HSQOBJECT instance,
const char *method_name,
int *res,
int suspend);
161 bool CallBoolMethod(HSQOBJECT instance,
const char *method_name,
bool *res,
int suspend);
166 bool MethodExists(HSQOBJECT instance,
const char *method_name);
178 static bool CreateClassInstanceVM(HSQUIRRELVM
vm,
const char *class_name,
void *real_instance, HSQOBJECT *instance, SQRELEASEHOOK release_hook,
bool prepend_API_name =
false);
183 bool CreateClassInstance(
const char *class_name,
void *real_instance, HSQOBJECT *instance);
190 static bool GetRealInstance(HSQUIRRELVM
vm, SQUserPointer *ptr) {
return SQ_SUCCEEDED(sq_getinstanceup(vm, 1, ptr, 0)); }
197 static bool GetInstance(HSQUIRRELVM
vm, HSQOBJECT *ptr,
int pos = 1) { sq_getclass(vm, pos); sq_getstackobj(vm, pos, ptr); sq_pop(vm, 1);
return true; }
202 static const char *
ObjectToString(HSQOBJECT *ptr) {
return sq_objtostring(ptr); }
212 static bool ObjectToBool(HSQOBJECT *ptr) {
return sq_objtobool(ptr) == 1; }