void print_squirrel_stack(HSQUIRRELVM vm);
HSQOBJECT create_thread(HSQUIRRELVM vm);
- SQObject vm_to_object(HSQUIRRELVM vm);
+ SQObject vm_to_object(HSQUIRRELVM vm);
HSQUIRRELVM object_to_vm(HSQOBJECT object);
void compile_script(HSQUIRRELVM vm, std::istream& in,
const std::string& name)
{
sq_pushstring(v, name.c_str(), name.length());
-
+
if(table_idx < 0)
table_idx -= 1;
-
+
if(SQ_FAILED(sq_deleteslot(v, table_idx, SQFalse))) {
std::ostringstream msg;
msg << "Couldn't unregister object '" << name << "' in squirrel root table";
}
}
+ // begin serialization functions
+ void store_float(HSQUIRRELVM vm, const char* name, float val);
+ void store_int(HSQUIRRELVM vm, const char* name, int val);
+ void store_string(HSQUIRRELVM vm, const char* name, const std::string& val);
+ void store_bool(HSQUIRRELVM vm, const char* name, bool val);
+
+ bool has_float(HSQUIRRELVM vm, const char* name);
+ bool has_int(HSQUIRRELVM vm, const char* name);
+ bool has_string(HSQUIRRELVM vm, const char* name);
+ bool has_bool(HSQUIRRELVM vm, const char* name);
+
+ bool get_float(HSQUIRRELVM vm, const char* name, float& val);
+ bool get_int(HSQUIRRELVM vm, const char* name, int& val);
+ bool get_string(HSQUIRRELVM vm, const char* name, std::string& val);
+ bool get_bool(HSQUIRRELVM vm, const char* name, bool& val);
+
+ float read_float(HSQUIRRELVM vm, const char* name);
+ int read_int(HSQUIRRELVM vm, const char* name);
+ std::string read_string(HSQUIRRELVM vm, const char* name);
+ bool read_bool(HSQUIRRELVM vm, const char* name);
+ // end serialization functions
+
}
#endif