X-Git-Url: https://git.octo.it/?a=blobdiff_plain;ds=sidebyside;f=src%2Fscripting%2Fwrapper.cpp;h=7b74d7ade8133d511cc64f652bc87d19549bfcae;hb=6492679a300bff2c17505c5d9bc9d333eeba384d;hp=08d04ef6c51de01b1978255054ce24eb1e498c4c;hpb=13e56e5b8d9727128667bb42c3aa4850b4a8dd00;p=supertux.git diff --git a/src/scripting/wrapper.cpp b/src/scripting/wrapper.cpp index 08d04ef6c..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,12 +3385,16 @@ static SQInteger save_state_wrapper(HSQUIRRELVM vm) } -static SQInteger update_worldmap_wrapper(HSQUIRRELVM vm) +static SQInteger debug_collrects_wrapper(HSQUIRRELVM vm) { - (void) vm; + SQBool arg0; + if(SQ_FAILED(sq_getbool(vm, 2, &arg0))) { + sq_throwerror(vm, _SC("Argument 1 not a bool")); + return SQ_ERROR; + } try { - scripting::update_worldmap(); + scripting::debug_collrects(arg0 == SQTrue); return 0; @@ -3291,13 +3402,13 @@ static SQInteger update_worldmap_wrapper(HSQUIRRELVM vm) sq_throwerror(vm, e.what()); return SQ_ERROR; } catch(...) { - sq_throwerror(vm, _SC("Unexpected exception while executing function 'update_worldmap'")); + sq_throwerror(vm, _SC("Unexpected exception while executing function 'debug_collrects'")); return SQ_ERROR; } } -static SQInteger debug_collrects_wrapper(HSQUIRRELVM vm) +static SQInteger debug_show_fps_wrapper(HSQUIRRELVM vm) { SQBool arg0; if(SQ_FAILED(sq_getbool(vm, 2, &arg0))) { @@ -3306,7 +3417,7 @@ static SQInteger debug_collrects_wrapper(HSQUIRRELVM vm) } try { - scripting::debug_collrects(arg0 == SQTrue); + scripting::debug_show_fps(arg0 == SQTrue); return 0; @@ -3314,13 +3425,13 @@ static SQInteger debug_collrects_wrapper(HSQUIRRELVM vm) sq_throwerror(vm, e.what()); return SQ_ERROR; } catch(...) { - sq_throwerror(vm, _SC("Unexpected exception while executing function 'debug_collrects'")); + sq_throwerror(vm, _SC("Unexpected exception while executing function 'debug_show_fps'")); return SQ_ERROR; } } -static SQInteger debug_show_fps_wrapper(HSQUIRRELVM vm) +static SQInteger debug_draw_solids_only_wrapper(HSQUIRRELVM vm) { SQBool arg0; if(SQ_FAILED(sq_getbool(vm, 2, &arg0))) { @@ -3329,7 +3440,7 @@ static SQInteger debug_show_fps_wrapper(HSQUIRRELVM vm) } try { - scripting::debug_show_fps(arg0 == SQTrue); + scripting::debug_draw_solids_only(arg0 == SQTrue); return 0; @@ -3337,13 +3448,13 @@ static SQInteger debug_show_fps_wrapper(HSQUIRRELVM vm) sq_throwerror(vm, e.what()); return SQ_ERROR; } catch(...) { - sq_throwerror(vm, _SC("Unexpected exception while executing function 'debug_show_fps'")); + sq_throwerror(vm, _SC("Unexpected exception while executing function 'debug_draw_solids_only'")); return SQ_ERROR; } } -static SQInteger debug_draw_solids_only_wrapper(HSQUIRRELVM vm) +static SQInteger debug_draw_editor_images_wrapper(HSQUIRRELVM vm) { SQBool arg0; if(SQ_FAILED(sq_getbool(vm, 2, &arg0))) { @@ -3352,7 +3463,7 @@ static SQInteger debug_draw_solids_only_wrapper(HSQUIRRELVM vm) } try { - scripting::debug_draw_solids_only(arg0 == SQTrue); + scripting::debug_draw_editor_images(arg0 == SQTrue); return 0; @@ -3360,7 +3471,7 @@ static SQInteger debug_draw_solids_only_wrapper(HSQUIRRELVM vm) sq_throwerror(vm, e.what()); return SQ_ERROR; } catch(...) { - sq_throwerror(vm, _SC("Unexpected exception while executing function 'debug_draw_solids_only'")); + sq_throwerror(vm, _SC("Unexpected exception while executing function 'debug_draw_editor_images'")); return SQ_ERROR; } @@ -4383,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"); @@ -4411,6 +4515,13 @@ void register_supertux_wrapper(HSQUIRRELVM v) throw SquirrelError(v, "Couldn't register function 'debug_draw_solids_only'"); } + sq_pushstring(v, "debug_draw_editor_images", -1); + sq_newclosure(v, &debug_draw_editor_images_wrapper, 0); + sq_setparamscheck(v, SQ_MATCHTYPEMASKSTRING, "x|tb"); + if(SQ_FAILED(sq_createslot(v, -3))) { + throw SquirrelError(v, "Couldn't register function 'debug_draw_editor_images'"); + } + sq_pushstring(v, "debug_worldmap_ghost", -1); sq_newclosure(v, &debug_worldmap_ghost_wrapper, 0); sq_setparamscheck(v, SQ_MATCHTYPEMASKSTRING, "x|tb"); @@ -4950,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"); @@ -4985,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"); @@ -5115,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");