X-Git-Url: https://git.octo.it/?a=blobdiff_plain;ds=inline;f=src%2Fscripting%2Fwrapper.cpp;h=7b74d7ade8133d511cc64f652bc87d19549bfcae;hb=6492679a300bff2c17505c5d9bc9d333eeba384d;hp=0f4ae06502b527a0e988d61576d2d0a060902355;hpb=33c9a30be6a351fe21a3eb702a7fa90acd43a741;p=supertux.git diff --git a/src/scripting/wrapper.cpp b/src/scripting/wrapper.cpp index 0f4ae0650..7b74d7ade 100644 --- a/src/scripting/wrapper.cpp +++ b/src/scripting/wrapper.cpp @@ -1266,6 +1266,35 @@ static SQInteger Player_walk_wrapper(HSQUIRRELVM vm) } +static SQInteger Player_set_dir_wrapper(HSQUIRRELVM vm) +{ + SQUserPointer data; + if(SQ_FAILED(sq_getinstanceup(vm, 1, &data, 0)) || !data) { + sq_throwerror(vm, _SC("'set_dir' called without instance")); + return SQ_ERROR; + } + scripting::Player* _this = reinterpret_cast (data); + SQBool arg0; + if(SQ_FAILED(sq_getbool(vm, 2, &arg0))) { + sq_throwerror(vm, _SC("Argument 1 not a bool")); + return SQ_ERROR; + } + + try { + _this->set_dir(arg0 == SQTrue); + + return 0; + + } catch(std::exception& e) { + sq_throwerror(vm, e.what()); + return SQ_ERROR; + } catch(...) { + sq_throwerror(vm, _SC("Unexpected exception while executing function 'set_dir'")); + return SQ_ERROR; + } + +} + static SQInteger Player_set_visible_wrapper(HSQUIRRELVM vm) { SQUserPointer data; @@ -1403,6 +1432,30 @@ static SQInteger Player_get_ghost_mode_wrapper(HSQUIRRELVM vm) } +static SQInteger Player_kick_wrapper(HSQUIRRELVM vm) +{ + SQUserPointer data; + if(SQ_FAILED(sq_getinstanceup(vm, 1, &data, 0)) || !data) { + sq_throwerror(vm, _SC("'kick' called without instance")); + return SQ_ERROR; + } + scripting::Player* _this = reinterpret_cast (data); + + try { + _this->kick(); + + return 0; + + } catch(std::exception& e) { + sq_throwerror(vm, e.what()); + return SQ_ERROR; + } catch(...) { + sq_throwerror(vm, _SC("Unexpected exception while executing function 'kick'")); + return SQ_ERROR; + } + +} + static SQInteger Player_do_cheer_wrapper(HSQUIRRELVM vm) { SQUserPointer data; @@ -1883,6 +1936,60 @@ static SQInteger ScriptedObject_get_velocity_y_wrapper(HSQUIRRELVM vm) } +static SQInteger ScriptedObject_enable_gravity_wrapper(HSQUIRRELVM vm) +{ + SQUserPointer data; + if(SQ_FAILED(sq_getinstanceup(vm, 1, &data, 0)) || !data) { + sq_throwerror(vm, _SC("'enable_gravity' called without instance")); + return SQ_ERROR; + } + scripting::ScriptedObject* _this = reinterpret_cast (data); + SQBool arg0; + if(SQ_FAILED(sq_getbool(vm, 2, &arg0))) { + sq_throwerror(vm, _SC("Argument 1 not a bool")); + return SQ_ERROR; + } + + try { + _this->enable_gravity(arg0 == SQTrue); + + return 0; + + } catch(std::exception& e) { + sq_throwerror(vm, e.what()); + return SQ_ERROR; + } catch(...) { + sq_throwerror(vm, _SC("Unexpected exception while executing function 'enable_gravity'")); + return SQ_ERROR; + } + +} + +static SQInteger ScriptedObject_gravity_enabled_wrapper(HSQUIRRELVM vm) +{ + SQUserPointer data; + if(SQ_FAILED(sq_getinstanceup(vm, 1, &data, 0)) || !data) { + sq_throwerror(vm, _SC("'gravity_enabled' called without instance")); + return SQ_ERROR; + } + scripting::ScriptedObject* _this = reinterpret_cast (data); + + try { + bool return_value = _this->gravity_enabled(); + + sq_pushbool(vm, return_value); + return 1; + + } catch(std::exception& e) { + sq_throwerror(vm, e.what()); + return SQ_ERROR; + } catch(...) { + sq_throwerror(vm, _SC("Unexpected exception while executing function 'gravity_enabled'")); + return SQ_ERROR; + } + +} + static SQInteger ScriptedObject_set_visible_wrapper(HSQUIRRELVM vm) { SQUserPointer data; @@ -3278,25 +3385,6 @@ static SQInteger save_state_wrapper(HSQUIRRELVM vm) } -static SQInteger update_worldmap_wrapper(HSQUIRRELVM vm) -{ - (void) vm; - - try { - scripting::update_worldmap(); - - return 0; - - } catch(std::exception& e) { - sq_throwerror(vm, e.what()); - return SQ_ERROR; - } catch(...) { - sq_throwerror(vm, _SC("Unexpected exception while executing function 'update_worldmap'")); - return SQ_ERROR; - } - -} - static SQInteger debug_collrects_wrapper(HSQUIRRELVM vm) { SQBool arg0; @@ -4406,13 +4494,6 @@ void register_supertux_wrapper(HSQUIRRELVM v) throw SquirrelError(v, "Couldn't register function 'save_state'"); } - sq_pushstring(v, "update_worldmap", -1); - sq_newclosure(v, &update_worldmap_wrapper, 0); - sq_setparamscheck(v, SQ_MATCHTYPEMASKSTRING, "x|t"); - if(SQ_FAILED(sq_createslot(v, -3))) { - throw SquirrelError(v, "Couldn't register function 'update_worldmap'"); - } - sq_pushstring(v, "debug_collrects", -1); sq_newclosure(v, &debug_collrects_wrapper, 0); sq_setparamscheck(v, SQ_MATCHTYPEMASKSTRING, "x|tb"); @@ -4980,6 +5061,13 @@ void register_supertux_wrapper(HSQUIRRELVM v) throw SquirrelError(v, "Couldn't register function 'walk'"); } + sq_pushstring(v, "set_dir", -1); + sq_newclosure(v, &Player_set_dir_wrapper, 0); + sq_setparamscheck(v, SQ_MATCHTYPEMASKSTRING, "x|tb"); + if(SQ_FAILED(sq_createslot(v, -3))) { + throw SquirrelError(v, "Couldn't register function 'set_dir'"); + } + sq_pushstring(v, "set_visible", -1); sq_newclosure(v, &Player_set_visible_wrapper, 0); sq_setparamscheck(v, SQ_MATCHTYPEMASKSTRING, "x|tb"); @@ -5015,6 +5103,13 @@ void register_supertux_wrapper(HSQUIRRELVM v) throw SquirrelError(v, "Couldn't register function 'get_ghost_mode'"); } + sq_pushstring(v, "kick", -1); + sq_newclosure(v, &Player_kick_wrapper, 0); + sq_setparamscheck(v, SQ_MATCHTYPEMASKSTRING, "x|t"); + if(SQ_FAILED(sq_createslot(v, -3))) { + throw SquirrelError(v, "Couldn't register function 'kick'"); + } + sq_pushstring(v, "do_cheer", -1); sq_newclosure(v, &Player_do_cheer_wrapper, 0); sq_setparamscheck(v, SQ_MATCHTYPEMASKSTRING, "x|t"); @@ -5145,6 +5240,20 @@ void register_supertux_wrapper(HSQUIRRELVM v) throw SquirrelError(v, "Couldn't register function 'get_velocity_y'"); } + sq_pushstring(v, "enable_gravity", -1); + sq_newclosure(v, &ScriptedObject_enable_gravity_wrapper, 0); + sq_setparamscheck(v, SQ_MATCHTYPEMASKSTRING, "x|tb"); + if(SQ_FAILED(sq_createslot(v, -3))) { + throw SquirrelError(v, "Couldn't register function 'enable_gravity'"); + } + + sq_pushstring(v, "gravity_enabled", -1); + sq_newclosure(v, &ScriptedObject_gravity_enabled_wrapper, 0); + sq_setparamscheck(v, SQ_MATCHTYPEMASKSTRING, "x|t"); + if(SQ_FAILED(sq_createslot(v, -3))) { + throw SquirrelError(v, "Couldn't register function 'gravity_enabled'"); + } + sq_pushstring(v, "set_visible", -1); sq_newclosure(v, &ScriptedObject_set_visible_wrapper, 0); sq_setparamscheck(v, SQ_MATCHTYPEMASKSTRING, "x|tb");