X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fscripting%2Fwrapper.cpp;h=8b82637608540fa4e388d7e22129c8f88e2559bc;hb=2c60d146e19529ed9037539a12abb6001f850c60;hp=5cb15e3cf18b2e50c6f8d774ff75ba54d66c8b5f;hpb=78724e8ddcdb94a7b691464ea9e558d0a6665aa7;p=supertux.git diff --git a/src/scripting/wrapper.cpp b/src/scripting/wrapper.cpp index 5cb15e3cf..8b8263760 100644 --- a/src/scripting/wrapper.cpp +++ b/src/scripting/wrapper.cpp @@ -199,6 +199,40 @@ static int ScriptedObject_get_velocity_y_wrapper(HSQUIRRELVM v) return 1; } +static int ScriptedObject_set_visible_wrapper(HSQUIRRELVM v) +{ + Scripting::ScriptedObject* _this; + sq_getinstanceup(v, 1, (SQUserPointer*) &_this, 0); + SQBool arg0; + sq_getbool(v, 2, &arg0); + + _this->set_visible(arg0); + + return 0; +} + +static int ScriptedObject_is_visible_wrapper(HSQUIRRELVM v) +{ + Scripting::ScriptedObject* _this; + sq_getinstanceup(v, 1, (SQUserPointer*) &_this, 0); + + bool return_value = _this->is_visible(); + + sq_pushbool(v, return_value); + return 1; +} + +static int ScriptedObject_get_name_wrapper(HSQUIRRELVM v) +{ + Scripting::ScriptedObject* _this; + sq_getinstanceup(v, 1, (SQUserPointer*) &_this, 0); + + std::string return_value = _this->get_name(); + + sq_pushstring(v, return_value.c_str(), return_value.size()); + return 1; +} + static int Sound_play_music_wrapper(HSQUIRRELVM v) { Scripting::Sound* _this; @@ -223,18 +257,90 @@ static int Sound_play_sound_wrapper(HSQUIRRELVM v) return 0; } -static int wait_wrapper(HSQUIRRELVM v) +static int Text_set_text_wrapper(HSQUIRRELVM v) +{ + Scripting::Text* _this; + sq_getinstanceup(v, 1, (SQUserPointer*) &_this, 0); + const char* arg0; + sq_getstring(v, 2, &arg0); + + _this->set_text(arg0); + + return 0; +} + +static int Text_set_font_wrapper(HSQUIRRELVM v) { + Scripting::Text* _this; + sq_getinstanceup(v, 1, (SQUserPointer*) &_this, 0); + const char* arg0; + sq_getstring(v, 2, &arg0); + + _this->set_font(arg0); + + return 0; +} + +static int Text_fade_in_wrapper(HSQUIRRELVM v) +{ + Scripting::Text* _this; + sq_getinstanceup(v, 1, (SQUserPointer*) &_this, 0); + float arg0; + sq_getfloat(v, 2, &arg0); + + _this->fade_in(arg0); + + return 0; +} + +static int Text_fade_out_wrapper(HSQUIRRELVM v) +{ + Scripting::Text* _this; + sq_getinstanceup(v, 1, (SQUserPointer*) &_this, 0); float arg0; sq_getfloat(v, 2, &arg0); - Scripting::wait(arg0); + _this->fade_out(arg0); + + return 0; +} + +static int Text_set_visible_wrapper(HSQUIRRELVM v) +{ + Scripting::Text* _this; + sq_getinstanceup(v, 1, (SQUserPointer*) &_this, 0); + SQBool arg0; + sq_getbool(v, 2, &arg0); + + _this->set_visible(arg0); return 0; } +static int set_wakeup_time_wrapper(HSQUIRRELVM v) +{ + float arg0; + sq_getfloat(v, 2, &arg0); + + Scripting::set_wakeup_time(arg0); + + return 0; +} + +static int translate_wrapper(HSQUIRRELVM v) +{ + const char* arg0; + sq_getstring(v, 2, &arg0); + + std::string return_value = Scripting::translate(arg0); + + sq_pushstring(v, return_value.c_str(), return_value.size()); + return 1; +} + WrappedFunction supertux_global_functions[] = { - { "wait", &wait_wrapper }, + { "set_wakeup_time", &set_wakeup_time_wrapper }, + { "translate", &translate_wrapper }, { 0, 0 } }; @@ -263,6 +369,9 @@ static WrappedFunction supertux_ScriptedObject_methods[] = { { "set_velocity", &ScriptedObject_set_velocity_wrapper }, { "get_velocity_x", &ScriptedObject_get_velocity_x_wrapper }, { "get_velocity_y", &ScriptedObject_get_velocity_y_wrapper }, + { "set_visible", &ScriptedObject_set_visible_wrapper }, + { "is_visible", &ScriptedObject_is_visible_wrapper }, + { "get_name", &ScriptedObject_get_name_wrapper }, }; static WrappedFunction supertux_Sound_methods[] = { @@ -270,12 +379,21 @@ static WrappedFunction supertux_Sound_methods[] = { { "play_sound", &Sound_play_sound_wrapper }, }; +static WrappedFunction supertux_Text_methods[] = { + { "set_text", &Text_set_text_wrapper }, + { "set_font", &Text_set_font_wrapper }, + { "fade_in", &Text_fade_in_wrapper }, + { "fade_out", &Text_fade_out_wrapper }, + { "set_visible", &Text_set_visible_wrapper }, +}; + WrappedClass supertux_classes[] = { { "Display", supertux_Display_methods }, { "Camera", supertux_Camera_methods }, { "Level", supertux_Level_methods }, { "ScriptedObject", supertux_ScriptedObject_methods }, { "Sound", supertux_Sound_methods }, + { "Text", supertux_Text_methods }, { 0, 0 } };