From e39717982f883be96d4541a781b2c5aec2227356 Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Sun, 30 Apr 2006 20:11:29 +0000 Subject: [PATCH] another try SVN-Revision: 3470 --- src/scripting/functions.cpp | 4 +- src/scripting/functions.hpp | 4 +- src/scripting/wrapper.cpp | 318 +++++++++++++++++++------------------- tools/miniswig/create_wrapper.cpp | 6 +- tools/miniswig/main.cpp | 1 + tools/miniswig/tree.cpp | 5 +- tools/miniswig/tree.hpp | 24 ++- 7 files changed, 193 insertions(+), 169 deletions(-) diff --git a/src/scripting/functions.cpp b/src/scripting/functions.cpp index da3c88c73..1778beec1 100644 --- a/src/scripting/functions.cpp +++ b/src/scripting/functions.cpp @@ -54,7 +54,7 @@ namespace Scripting { -int display(HSQUIRRELVM vm) +SQInteger display(HSQUIRRELVM vm) { Console::output << squirrel2string(vm, -1) << std::endl; return 0; @@ -65,7 +65,7 @@ void print_stacktrace(HSQUIRRELVM vm) print_squirrel_stack(vm); } -int get_current_thread(HSQUIRRELVM vm) +SQInteger get_current_thread(HSQUIRRELVM vm) { sq_pushobject(vm, vm_to_object(vm)); return 1; diff --git a/src/scripting/functions.hpp b/src/scripting/functions.hpp index 64b08fb0f..fe5c656b3 100644 --- a/src/scripting/functions.hpp +++ b/src/scripting/functions.hpp @@ -33,7 +33,7 @@ namespace Scripting /** * Display the value of the argument. This is usefull for inspecting tables. */ -int display(HSQUIRRELVM vm) __custom; +SQInteger display(HSQUIRRELVM vm) __custom; /** * Displays contents of the current stack @@ -43,7 +43,7 @@ void print_stacktrace(HSQUIRRELVM vm); /** * returns the currently running thread */ -int get_current_thread(HSQUIRRELVM vm) __custom; +SQInteger get_current_thread(HSQUIRRELVM vm) __custom; /** * Display a text file and scrolls it over the screen (on next screenswitch) diff --git a/src/scripting/wrapper.cpp b/src/scripting/wrapper.cpp index 89746de54..36735e960 100644 --- a/src/scripting/wrapper.cpp +++ b/src/scripting/wrapper.cpp @@ -25,21 +25,21 @@ static int DisplayEffect_release_hook(SQUserPointer ptr, int ) return 0; } -static int DisplayEffect_fade_out_wrapper(HSQUIRRELVM vm) +static SQInteger DisplayEffect_fade_out_wrapper(HSQUIRRELVM vm) { Scripting::DisplayEffect* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'fade_out' called without instance")); return SQ_ERROR; } - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } try { - _this->fade_out(arg0); + _this->fade_out(static_cast (arg0)); return 0; @@ -53,21 +53,21 @@ static int DisplayEffect_fade_out_wrapper(HSQUIRRELVM vm) } -static int DisplayEffect_fade_in_wrapper(HSQUIRRELVM vm) +static SQInteger DisplayEffect_fade_in_wrapper(HSQUIRRELVM vm) { Scripting::DisplayEffect* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'fade_in' called without instance")); return SQ_ERROR; } - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } try { - _this->fade_in(arg0); + _this->fade_in(static_cast (arg0)); return 0; @@ -81,7 +81,7 @@ static int DisplayEffect_fade_in_wrapper(HSQUIRRELVM vm) } -static int DisplayEffect_set_black_wrapper(HSQUIRRELVM vm) +static SQInteger DisplayEffect_set_black_wrapper(HSQUIRRELVM vm) { Scripting::DisplayEffect* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -95,7 +95,7 @@ static int DisplayEffect_set_black_wrapper(HSQUIRRELVM vm) } try { - _this->set_black(arg0); + _this->set_black(arg0 == SQTrue); return 0; @@ -109,7 +109,7 @@ static int DisplayEffect_set_black_wrapper(HSQUIRRELVM vm) } -static int DisplayEffect_is_black_wrapper(HSQUIRRELVM vm) +static SQInteger DisplayEffect_is_black_wrapper(HSQUIRRELVM vm) { Scripting::DisplayEffect* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -133,21 +133,21 @@ static int DisplayEffect_is_black_wrapper(HSQUIRRELVM vm) } -static int DisplayEffect_sixteen_to_nine_wrapper(HSQUIRRELVM vm) +static SQInteger DisplayEffect_sixteen_to_nine_wrapper(HSQUIRRELVM vm) { Scripting::DisplayEffect* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'sixteen_to_nine' called without instance")); return SQ_ERROR; } - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } try { - _this->sixteen_to_nine(arg0); + _this->sixteen_to_nine(static_cast (arg0)); return 0; @@ -161,21 +161,21 @@ static int DisplayEffect_sixteen_to_nine_wrapper(HSQUIRRELVM vm) } -static int DisplayEffect_four_to_three_wrapper(HSQUIRRELVM vm) +static SQInteger DisplayEffect_four_to_three_wrapper(HSQUIRRELVM vm) { Scripting::DisplayEffect* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'four_to_three' called without instance")); return SQ_ERROR; } - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } try { - _this->four_to_three(arg0); + _this->four_to_three(static_cast (arg0)); return 0; @@ -196,31 +196,31 @@ static int Camera_release_hook(SQUserPointer ptr, int ) return 0; } -static int Camera_shake_wrapper(HSQUIRRELVM vm) +static SQInteger Camera_shake_wrapper(HSQUIRRELVM vm) { Scripting::Camera* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'shake' called without instance")); return SQ_ERROR; } - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } - float arg1; + SQFloat arg1; if(SQ_FAILED(sq_getfloat(vm, 3, &arg1))) { sq_throwerror(vm, _SC("Argument 2 not a float")); return SQ_ERROR; } - float arg2; + SQFloat arg2; if(SQ_FAILED(sq_getfloat(vm, 4, &arg2))) { sq_throwerror(vm, _SC("Argument 3 not a float")); return SQ_ERROR; } try { - _this->shake(arg0, arg1, arg2); + _this->shake(static_cast (arg0), static_cast (arg1), static_cast (arg2)); return 0; @@ -234,26 +234,26 @@ static int Camera_shake_wrapper(HSQUIRRELVM vm) } -static int Camera_set_pos_wrapper(HSQUIRRELVM vm) +static SQInteger Camera_set_pos_wrapper(HSQUIRRELVM vm) { Scripting::Camera* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'set_pos' called without instance")); return SQ_ERROR; } - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } - float arg1; + SQFloat arg1; if(SQ_FAILED(sq_getfloat(vm, 3, &arg1))) { sq_throwerror(vm, _SC("Argument 2 not a float")); return SQ_ERROR; } try { - _this->set_pos(arg0, arg1); + _this->set_pos(static_cast (arg0), static_cast (arg1)); return 0; @@ -267,14 +267,14 @@ static int Camera_set_pos_wrapper(HSQUIRRELVM vm) } -static int Camera_set_mode_wrapper(HSQUIRRELVM vm) +static SQInteger Camera_set_mode_wrapper(HSQUIRRELVM vm) { Scripting::Camera* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'set_mode' called without instance")); return SQ_ERROR; } - const char* arg0; + const SQChar* arg0; if(SQ_FAILED(sq_getstring(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a string")); return SQ_ERROR; @@ -295,31 +295,31 @@ static int Camera_set_mode_wrapper(HSQUIRRELVM vm) } -static int Camera_scroll_to_wrapper(HSQUIRRELVM vm) +static SQInteger Camera_scroll_to_wrapper(HSQUIRRELVM vm) { Scripting::Camera* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'scroll_to' called without instance")); return SQ_ERROR; } - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } - float arg1; + SQFloat arg1; if(SQ_FAILED(sq_getfloat(vm, 3, &arg1))) { sq_throwerror(vm, _SC("Argument 2 not a float")); return SQ_ERROR; } - float arg2; + SQFloat arg2; if(SQ_FAILED(sq_getfloat(vm, 4, &arg2))) { sq_throwerror(vm, _SC("Argument 3 not a float")); return SQ_ERROR; } try { - _this->scroll_to(arg0, arg1, arg2); + _this->scroll_to(static_cast (arg0), static_cast (arg1), static_cast (arg2)); return 0; @@ -340,7 +340,7 @@ static int Level_release_hook(SQUserPointer ptr, int ) return 0; } -static int Level_finish_wrapper(HSQUIRRELVM vm) +static SQInteger Level_finish_wrapper(HSQUIRRELVM vm) { Scripting::Level* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -354,7 +354,7 @@ static int Level_finish_wrapper(HSQUIRRELVM vm) } try { - _this->finish(arg0); + _this->finish(arg0 == SQTrue); return 0; @@ -368,19 +368,19 @@ static int Level_finish_wrapper(HSQUIRRELVM vm) } -static int Level_spawn_wrapper(HSQUIRRELVM vm) +static SQInteger Level_spawn_wrapper(HSQUIRRELVM vm) { Scripting::Level* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'spawn' called without instance")); return SQ_ERROR; } - const char* arg0; + const SQChar* arg0; if(SQ_FAILED(sq_getstring(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a string")); return SQ_ERROR; } - const char* arg1; + const SQChar* arg1; if(SQ_FAILED(sq_getstring(vm, 3, &arg1))) { sq_throwerror(vm, _SC("Argument 2 not a string")); return SQ_ERROR; @@ -401,7 +401,7 @@ static int Level_spawn_wrapper(HSQUIRRELVM vm) } -static int Level_flip_vertically_wrapper(HSQUIRRELVM vm) +static SQInteger Level_flip_vertically_wrapper(HSQUIRRELVM vm) { Scripting::Level* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -424,7 +424,7 @@ static int Level_flip_vertically_wrapper(HSQUIRRELVM vm) } -static int Level_toggle_pause_wrapper(HSQUIRRELVM vm) +static SQInteger Level_toggle_pause_wrapper(HSQUIRRELVM vm) { Scripting::Level* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -454,14 +454,14 @@ static int ScriptedObject_release_hook(SQUserPointer ptr, int ) return 0; } -static int ScriptedObject_set_action_wrapper(HSQUIRRELVM vm) +static SQInteger ScriptedObject_set_action_wrapper(HSQUIRRELVM vm) { Scripting::ScriptedObject* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'set_action' called without instance")); return SQ_ERROR; } - const char* arg0; + const SQChar* arg0; if(SQ_FAILED(sq_getstring(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a string")); return SQ_ERROR; @@ -482,7 +482,7 @@ static int ScriptedObject_set_action_wrapper(HSQUIRRELVM vm) } -static int ScriptedObject_get_action_wrapper(HSQUIRRELVM vm) +static SQInteger ScriptedObject_get_action_wrapper(HSQUIRRELVM vm) { Scripting::ScriptedObject* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -506,26 +506,26 @@ static int ScriptedObject_get_action_wrapper(HSQUIRRELVM vm) } -static int ScriptedObject_move_wrapper(HSQUIRRELVM vm) +static SQInteger ScriptedObject_move_wrapper(HSQUIRRELVM vm) { Scripting::ScriptedObject* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'move' called without instance")); return SQ_ERROR; } - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } - float arg1; + SQFloat arg1; if(SQ_FAILED(sq_getfloat(vm, 3, &arg1))) { sq_throwerror(vm, _SC("Argument 2 not a float")); return SQ_ERROR; } try { - _this->move(arg0, arg1); + _this->move(static_cast (arg0), static_cast (arg1)); return 0; @@ -539,26 +539,26 @@ static int ScriptedObject_move_wrapper(HSQUIRRELVM vm) } -static int ScriptedObject_set_pos_wrapper(HSQUIRRELVM vm) +static SQInteger ScriptedObject_set_pos_wrapper(HSQUIRRELVM vm) { Scripting::ScriptedObject* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'set_pos' called without instance")); return SQ_ERROR; } - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } - float arg1; + SQFloat arg1; if(SQ_FAILED(sq_getfloat(vm, 3, &arg1))) { sq_throwerror(vm, _SC("Argument 2 not a float")); return SQ_ERROR; } try { - _this->set_pos(arg0, arg1); + _this->set_pos(static_cast (arg0), static_cast (arg1)); return 0; @@ -572,7 +572,7 @@ static int ScriptedObject_set_pos_wrapper(HSQUIRRELVM vm) } -static int ScriptedObject_get_pos_x_wrapper(HSQUIRRELVM vm) +static SQInteger ScriptedObject_get_pos_x_wrapper(HSQUIRRELVM vm) { Scripting::ScriptedObject* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -596,7 +596,7 @@ static int ScriptedObject_get_pos_x_wrapper(HSQUIRRELVM vm) } -static int ScriptedObject_get_pos_y_wrapper(HSQUIRRELVM vm) +static SQInteger ScriptedObject_get_pos_y_wrapper(HSQUIRRELVM vm) { Scripting::ScriptedObject* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -620,26 +620,26 @@ static int ScriptedObject_get_pos_y_wrapper(HSQUIRRELVM vm) } -static int ScriptedObject_set_velocity_wrapper(HSQUIRRELVM vm) +static SQInteger ScriptedObject_set_velocity_wrapper(HSQUIRRELVM vm) { Scripting::ScriptedObject* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'set_velocity' called without instance")); return SQ_ERROR; } - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } - float arg1; + SQFloat arg1; if(SQ_FAILED(sq_getfloat(vm, 3, &arg1))) { sq_throwerror(vm, _SC("Argument 2 not a float")); return SQ_ERROR; } try { - _this->set_velocity(arg0, arg1); + _this->set_velocity(static_cast (arg0), static_cast (arg1)); return 0; @@ -653,7 +653,7 @@ static int ScriptedObject_set_velocity_wrapper(HSQUIRRELVM vm) } -static int ScriptedObject_get_velocity_x_wrapper(HSQUIRRELVM vm) +static SQInteger ScriptedObject_get_velocity_x_wrapper(HSQUIRRELVM vm) { Scripting::ScriptedObject* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -677,7 +677,7 @@ static int ScriptedObject_get_velocity_x_wrapper(HSQUIRRELVM vm) } -static int ScriptedObject_get_velocity_y_wrapper(HSQUIRRELVM vm) +static SQInteger ScriptedObject_get_velocity_y_wrapper(HSQUIRRELVM vm) { Scripting::ScriptedObject* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -701,7 +701,7 @@ static int ScriptedObject_get_velocity_y_wrapper(HSQUIRRELVM vm) } -static int ScriptedObject_set_visible_wrapper(HSQUIRRELVM vm) +static SQInteger ScriptedObject_set_visible_wrapper(HSQUIRRELVM vm) { Scripting::ScriptedObject* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -715,7 +715,7 @@ static int ScriptedObject_set_visible_wrapper(HSQUIRRELVM vm) } try { - _this->set_visible(arg0); + _this->set_visible(arg0 == SQTrue); return 0; @@ -729,7 +729,7 @@ static int ScriptedObject_set_visible_wrapper(HSQUIRRELVM vm) } -static int ScriptedObject_is_visible_wrapper(HSQUIRRELVM vm) +static SQInteger ScriptedObject_is_visible_wrapper(HSQUIRRELVM vm) { Scripting::ScriptedObject* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -753,7 +753,7 @@ static int ScriptedObject_is_visible_wrapper(HSQUIRRELVM vm) } -static int ScriptedObject_get_name_wrapper(HSQUIRRELVM vm) +static SQInteger ScriptedObject_get_name_wrapper(HSQUIRRELVM vm) { Scripting::ScriptedObject* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -784,14 +784,14 @@ static int Text_release_hook(SQUserPointer ptr, int ) return 0; } -static int Text_set_text_wrapper(HSQUIRRELVM vm) +static SQInteger Text_set_text_wrapper(HSQUIRRELVM vm) { Scripting::Text* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'set_text' called without instance")); return SQ_ERROR; } - const char* arg0; + const SQChar* arg0; if(SQ_FAILED(sq_getstring(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a string")); return SQ_ERROR; @@ -812,14 +812,14 @@ static int Text_set_text_wrapper(HSQUIRRELVM vm) } -static int Text_set_font_wrapper(HSQUIRRELVM vm) +static SQInteger Text_set_font_wrapper(HSQUIRRELVM vm) { Scripting::Text* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'set_font' called without instance")); return SQ_ERROR; } - const char* arg0; + const SQChar* arg0; if(SQ_FAILED(sq_getstring(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a string")); return SQ_ERROR; @@ -840,21 +840,21 @@ static int Text_set_font_wrapper(HSQUIRRELVM vm) } -static int Text_fade_in_wrapper(HSQUIRRELVM vm) +static SQInteger Text_fade_in_wrapper(HSQUIRRELVM vm) { Scripting::Text* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'fade_in' called without instance")); return SQ_ERROR; } - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } try { - _this->fade_in(arg0); + _this->fade_in(static_cast (arg0)); return 0; @@ -868,21 +868,21 @@ static int Text_fade_in_wrapper(HSQUIRRELVM vm) } -static int Text_fade_out_wrapper(HSQUIRRELVM vm) +static SQInteger Text_fade_out_wrapper(HSQUIRRELVM vm) { Scripting::Text* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'fade_out' called without instance")); return SQ_ERROR; } - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } try { - _this->fade_out(arg0); + _this->fade_out(static_cast (arg0)); return 0; @@ -896,7 +896,7 @@ static int Text_fade_out_wrapper(HSQUIRRELVM vm) } -static int Text_set_visible_wrapper(HSQUIRRELVM vm) +static SQInteger Text_set_visible_wrapper(HSQUIRRELVM vm) { Scripting::Text* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -910,7 +910,7 @@ static int Text_set_visible_wrapper(HSQUIRRELVM vm) } try { - _this->set_visible(arg0); + _this->set_visible(arg0 == SQTrue); return 0; @@ -924,7 +924,7 @@ static int Text_set_visible_wrapper(HSQUIRRELVM vm) } -static int Text_set_centered_wrapper(HSQUIRRELVM vm) +static SQInteger Text_set_centered_wrapper(HSQUIRRELVM vm) { Scripting::Text* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -938,7 +938,7 @@ static int Text_set_centered_wrapper(HSQUIRRELVM vm) } try { - _this->set_centered(arg0); + _this->set_centered(arg0 == SQTrue); return 0; @@ -959,14 +959,14 @@ static int Player_release_hook(SQUserPointer ptr, int ) return 0; } -static int Player_add_bonus_wrapper(HSQUIRRELVM vm) +static SQInteger Player_add_bonus_wrapper(HSQUIRRELVM vm) { Scripting::Player* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'add_bonus' called without instance")); return SQ_ERROR; } - const char* arg0; + const SQChar* arg0; if(SQ_FAILED(sq_getstring(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a string")); return SQ_ERROR; @@ -987,21 +987,21 @@ static int Player_add_bonus_wrapper(HSQUIRRELVM vm) } -static int Player_add_coins_wrapper(HSQUIRRELVM vm) +static SQInteger Player_add_coins_wrapper(HSQUIRRELVM vm) { Scripting::Player* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'add_coins' called without instance")); return SQ_ERROR; } - int arg0; + SQInteger arg0; if(SQ_FAILED(sq_getinteger(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not an integer")); return SQ_ERROR; } try { - _this->add_coins(arg0); + _this->add_coins(static_cast (arg0)); return 0; @@ -1015,7 +1015,7 @@ static int Player_add_coins_wrapper(HSQUIRRELVM vm) } -static int Player_make_invincible_wrapper(HSQUIRRELVM vm) +static SQInteger Player_make_invincible_wrapper(HSQUIRRELVM vm) { Scripting::Player* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -1038,7 +1038,7 @@ static int Player_make_invincible_wrapper(HSQUIRRELVM vm) } -static int Player_deactivate_wrapper(HSQUIRRELVM vm) +static SQInteger Player_deactivate_wrapper(HSQUIRRELVM vm) { Scripting::Player* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -1061,7 +1061,7 @@ static int Player_deactivate_wrapper(HSQUIRRELVM vm) } -static int Player_activate_wrapper(HSQUIRRELVM vm) +static SQInteger Player_activate_wrapper(HSQUIRRELVM vm) { Scripting::Player* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -1084,21 +1084,21 @@ static int Player_activate_wrapper(HSQUIRRELVM vm) } -static int Player_walk_wrapper(HSQUIRRELVM vm) +static SQInteger Player_walk_wrapper(HSQUIRRELVM vm) { Scripting::Player* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'walk' called without instance")); return SQ_ERROR; } - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } try { - _this->walk(arg0); + _this->walk(static_cast (arg0)); return 0; @@ -1112,7 +1112,7 @@ static int Player_walk_wrapper(HSQUIRRELVM vm) } -static int Player_set_visible_wrapper(HSQUIRRELVM vm) +static SQInteger Player_set_visible_wrapper(HSQUIRRELVM vm) { Scripting::Player* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -1126,7 +1126,7 @@ static int Player_set_visible_wrapper(HSQUIRRELVM vm) } try { - _this->set_visible(arg0); + _this->set_visible(arg0 == SQTrue); return 0; @@ -1140,7 +1140,7 @@ static int Player_set_visible_wrapper(HSQUIRRELVM vm) } -static int Player_get_visible_wrapper(HSQUIRRELVM vm) +static SQInteger Player_get_visible_wrapper(HSQUIRRELVM vm) { Scripting::Player* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -1164,7 +1164,7 @@ static int Player_get_visible_wrapper(HSQUIRRELVM vm) } -static int Player_kill_wrapper(HSQUIRRELVM vm) +static SQInteger Player_kill_wrapper(HSQUIRRELVM vm) { Scripting::Player* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -1178,7 +1178,7 @@ static int Player_kill_wrapper(HSQUIRRELVM vm) } try { - _this->kill(arg0); + _this->kill(arg0 == SQTrue); return 0; @@ -1199,9 +1199,9 @@ static int FloatingImage_release_hook(SQUserPointer ptr, int ) return 0; } -static int FloatingImage_constructor_wrapper(HSQUIRRELVM vm) +static SQInteger FloatingImage_constructor_wrapper(HSQUIRRELVM vm) { - const char* arg0; + const SQChar* arg0; if(SQ_FAILED(sq_getstring(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a string")); return SQ_ERROR; @@ -1227,21 +1227,21 @@ static int FloatingImage_constructor_wrapper(HSQUIRRELVM vm) } -static int FloatingImage_set_layer_wrapper(HSQUIRRELVM vm) +static SQInteger FloatingImage_set_layer_wrapper(HSQUIRRELVM vm) { Scripting::FloatingImage* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'set_layer' called without instance")); return SQ_ERROR; } - int arg0; + SQInteger arg0; if(SQ_FAILED(sq_getinteger(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not an integer")); return SQ_ERROR; } try { - _this->set_layer(arg0); + _this->set_layer(static_cast (arg0)); return 0; @@ -1255,7 +1255,7 @@ static int FloatingImage_set_layer_wrapper(HSQUIRRELVM vm) } -static int FloatingImage_get_layer_wrapper(HSQUIRRELVM vm) +static SQInteger FloatingImage_get_layer_wrapper(HSQUIRRELVM vm) { Scripting::FloatingImage* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -1279,26 +1279,26 @@ static int FloatingImage_get_layer_wrapper(HSQUIRRELVM vm) } -static int FloatingImage_set_pos_wrapper(HSQUIRRELVM vm) +static SQInteger FloatingImage_set_pos_wrapper(HSQUIRRELVM vm) { Scripting::FloatingImage* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'set_pos' called without instance")); return SQ_ERROR; } - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } - float arg1; + SQFloat arg1; if(SQ_FAILED(sq_getfloat(vm, 3, &arg1))) { sq_throwerror(vm, _SC("Argument 2 not a float")); return SQ_ERROR; } try { - _this->set_pos(arg0, arg1); + _this->set_pos(static_cast (arg0), static_cast (arg1)); return 0; @@ -1312,7 +1312,7 @@ static int FloatingImage_set_pos_wrapper(HSQUIRRELVM vm) } -static int FloatingImage_get_pos_x_wrapper(HSQUIRRELVM vm) +static SQInteger FloatingImage_get_pos_x_wrapper(HSQUIRRELVM vm) { Scripting::FloatingImage* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -1336,7 +1336,7 @@ static int FloatingImage_get_pos_x_wrapper(HSQUIRRELVM vm) } -static int FloatingImage_get_pos_y_wrapper(HSQUIRRELVM vm) +static SQInteger FloatingImage_get_pos_y_wrapper(HSQUIRRELVM vm) { Scripting::FloatingImage* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -1360,21 +1360,21 @@ static int FloatingImage_get_pos_y_wrapper(HSQUIRRELVM vm) } -static int FloatingImage_set_anchor_point_wrapper(HSQUIRRELVM vm) +static SQInteger FloatingImage_set_anchor_point_wrapper(HSQUIRRELVM vm) { Scripting::FloatingImage* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'set_anchor_point' called without instance")); return SQ_ERROR; } - int arg0; + SQInteger arg0; if(SQ_FAILED(sq_getinteger(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not an integer")); return SQ_ERROR; } try { - _this->set_anchor_point(arg0); + _this->set_anchor_point(static_cast (arg0)); return 0; @@ -1388,7 +1388,7 @@ static int FloatingImage_set_anchor_point_wrapper(HSQUIRRELVM vm) } -static int FloatingImage_get_anchor_point_wrapper(HSQUIRRELVM vm) +static SQInteger FloatingImage_get_anchor_point_wrapper(HSQUIRRELVM vm) { Scripting::FloatingImage* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -1412,7 +1412,7 @@ static int FloatingImage_get_anchor_point_wrapper(HSQUIRRELVM vm) } -static int FloatingImage_set_visible_wrapper(HSQUIRRELVM vm) +static SQInteger FloatingImage_set_visible_wrapper(HSQUIRRELVM vm) { Scripting::FloatingImage* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -1426,7 +1426,7 @@ static int FloatingImage_set_visible_wrapper(HSQUIRRELVM vm) } try { - _this->set_visible(arg0); + _this->set_visible(arg0 == SQTrue); return 0; @@ -1440,7 +1440,7 @@ static int FloatingImage_set_visible_wrapper(HSQUIRRELVM vm) } -static int FloatingImage_get_visible_wrapper(HSQUIRRELVM vm) +static SQInteger FloatingImage_get_visible_wrapper(HSQUIRRELVM vm) { Scripting::FloatingImage* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -1464,14 +1464,14 @@ static int FloatingImage_get_visible_wrapper(HSQUIRRELVM vm) } -static int FloatingImage_set_action_wrapper(HSQUIRRELVM vm) +static SQInteger FloatingImage_set_action_wrapper(HSQUIRRELVM vm) { Scripting::FloatingImage* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { sq_throwerror(vm, _SC("'set_action' called without instance")); return SQ_ERROR; } - const char* arg0; + const SQChar* arg0; if(SQ_FAILED(sq_getstring(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a string")); return SQ_ERROR; @@ -1492,7 +1492,7 @@ static int FloatingImage_set_action_wrapper(HSQUIRRELVM vm) } -static int FloatingImage_get_action_wrapper(HSQUIRRELVM vm) +static SQInteger FloatingImage_get_action_wrapper(HSQUIRRELVM vm) { Scripting::FloatingImage* _this; if(SQ_FAILED(sq_getinstanceup(vm, 1, reinterpret_cast (&_this), 0))) { @@ -1516,12 +1516,12 @@ static int FloatingImage_get_action_wrapper(HSQUIRRELVM vm) } -static int display_wrapper(HSQUIRRELVM vm) +static SQInteger display_wrapper(HSQUIRRELVM vm) { return Scripting::display(vm); } -static int print_stacktrace_wrapper(HSQUIRRELVM vm) +static SQInteger print_stacktrace_wrapper(HSQUIRRELVM vm) { HSQUIRRELVM arg0 = vm; @@ -1540,14 +1540,14 @@ static int print_stacktrace_wrapper(HSQUIRRELVM vm) } -static int get_current_thread_wrapper(HSQUIRRELVM vm) +static SQInteger get_current_thread_wrapper(HSQUIRRELVM vm) { return Scripting::get_current_thread(vm); } -static int display_text_file_wrapper(HSQUIRRELVM vm) +static SQInteger display_text_file_wrapper(HSQUIRRELVM vm) { - const char* arg0; + const SQChar* arg0; if(SQ_FAILED(sq_getstring(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a string")); return SQ_ERROR; @@ -1568,9 +1568,9 @@ static int display_text_file_wrapper(HSQUIRRELVM vm) } -static int load_worldmap_wrapper(HSQUIRRELVM vm) +static SQInteger load_worldmap_wrapper(HSQUIRRELVM vm) { - const char* arg0; + const SQChar* arg0; if(SQ_FAILED(sq_getstring(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a string")); return SQ_ERROR; @@ -1591,9 +1591,9 @@ static int load_worldmap_wrapper(HSQUIRRELVM vm) } -static int load_level_wrapper(HSQUIRRELVM vm) +static SQInteger load_level_wrapper(HSQUIRRELVM vm) { - const char* arg0; + const SQChar* arg0; if(SQ_FAILED(sq_getstring(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a string")); return SQ_ERROR; @@ -1614,17 +1614,17 @@ static int load_level_wrapper(HSQUIRRELVM vm) } -static int wait_wrapper(HSQUIRRELVM vm) +static SQInteger wait_wrapper(HSQUIRRELVM vm) { HSQUIRRELVM arg0 = vm; - float arg1; + SQFloat arg1; if(SQ_FAILED(sq_getfloat(vm, 2, &arg1))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } try { - Scripting::wait(arg0, arg1); + Scripting::wait(arg0, static_cast (arg1)); return sq_suspendvm(vm); @@ -1638,7 +1638,7 @@ static int wait_wrapper(HSQUIRRELVM vm) } -static int wait_for_screenswitch_wrapper(HSQUIRRELVM vm) +static SQInteger wait_for_screenswitch_wrapper(HSQUIRRELVM vm) { HSQUIRRELVM arg0 = vm; @@ -1657,7 +1657,7 @@ static int wait_for_screenswitch_wrapper(HSQUIRRELVM vm) } -static int exit_screen_wrapper(HSQUIRRELVM vm) +static SQInteger exit_screen_wrapper(HSQUIRRELVM vm) { (void) vm; @@ -1676,16 +1676,16 @@ static int exit_screen_wrapper(HSQUIRRELVM vm) } -static int fadeout_screen_wrapper(HSQUIRRELVM vm) +static SQInteger fadeout_screen_wrapper(HSQUIRRELVM vm) { - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } try { - Scripting::fadeout_screen(arg0); + Scripting::fadeout_screen(static_cast (arg0)); return 0; @@ -1699,26 +1699,26 @@ static int fadeout_screen_wrapper(HSQUIRRELVM vm) } -static int shrink_screen_wrapper(HSQUIRRELVM vm) +static SQInteger shrink_screen_wrapper(HSQUIRRELVM vm) { - float arg0; + SQFloat arg0; if(SQ_FAILED(sq_getfloat(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a float")); return SQ_ERROR; } - float arg1; + SQFloat arg1; if(SQ_FAILED(sq_getfloat(vm, 3, &arg1))) { sq_throwerror(vm, _SC("Argument 2 not a float")); return SQ_ERROR; } - float arg2; + SQFloat arg2; if(SQ_FAILED(sq_getfloat(vm, 4, &arg2))) { sq_throwerror(vm, _SC("Argument 3 not a float")); return SQ_ERROR; } try { - Scripting::shrink_screen(arg0, arg1, arg2); + Scripting::shrink_screen(static_cast (arg0), static_cast (arg1), static_cast (arg2)); return 0; @@ -1732,9 +1732,9 @@ static int shrink_screen_wrapper(HSQUIRRELVM vm) } -static int translate_wrapper(HSQUIRRELVM vm) +static SQInteger translate_wrapper(HSQUIRRELVM vm) { - const char* arg0; + const SQChar* arg0; if(SQ_FAILED(sq_getstring(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a string")); return SQ_ERROR; @@ -1756,10 +1756,10 @@ static int translate_wrapper(HSQUIRRELVM vm) } -static int import_wrapper(HSQUIRRELVM vm) +static SQInteger import_wrapper(HSQUIRRELVM vm) { HSQUIRRELVM arg0 = vm; - const char* arg1; + const SQChar* arg1; if(SQ_FAILED(sq_getstring(vm, 2, &arg1))) { sq_throwerror(vm, _SC("Argument 1 not a string")); return SQ_ERROR; @@ -1780,7 +1780,7 @@ static int import_wrapper(HSQUIRRELVM vm) } -static int save_state_wrapper(HSQUIRRELVM vm) +static SQInteger save_state_wrapper(HSQUIRRELVM vm) { (void) vm; @@ -1799,7 +1799,7 @@ static int save_state_wrapper(HSQUIRRELVM vm) } -static int debug_collrects_wrapper(HSQUIRRELVM vm) +static SQInteger debug_collrects_wrapper(HSQUIRRELVM vm) { SQBool arg0; if(SQ_FAILED(sq_getbool(vm, 2, &arg0))) { @@ -1808,7 +1808,7 @@ static int debug_collrects_wrapper(HSQUIRRELVM vm) } try { - Scripting::debug_collrects(arg0); + Scripting::debug_collrects(arg0 == SQTrue); return 0; @@ -1822,7 +1822,7 @@ static int debug_collrects_wrapper(HSQUIRRELVM vm) } -static int debug_draw_fps_wrapper(HSQUIRRELVM vm) +static SQInteger debug_draw_fps_wrapper(HSQUIRRELVM vm) { SQBool arg0; if(SQ_FAILED(sq_getbool(vm, 2, &arg0))) { @@ -1831,7 +1831,7 @@ static int debug_draw_fps_wrapper(HSQUIRRELVM vm) } try { - Scripting::debug_draw_fps(arg0); + Scripting::debug_draw_fps(arg0 == SQTrue); return 0; @@ -1845,7 +1845,7 @@ static int debug_draw_fps_wrapper(HSQUIRRELVM vm) } -static int debug_draw_solids_only_wrapper(HSQUIRRELVM vm) +static SQInteger debug_draw_solids_only_wrapper(HSQUIRRELVM vm) { SQBool arg0; if(SQ_FAILED(sq_getbool(vm, 2, &arg0))) { @@ -1854,7 +1854,7 @@ static int debug_draw_solids_only_wrapper(HSQUIRRELVM vm) } try { - Scripting::debug_draw_solids_only(arg0); + Scripting::debug_draw_solids_only(arg0 == SQTrue); return 0; @@ -1868,9 +1868,9 @@ static int debug_draw_solids_only_wrapper(HSQUIRRELVM vm) } -static int play_music_wrapper(HSQUIRRELVM vm) +static SQInteger play_music_wrapper(HSQUIRRELVM vm) { - const char* arg0; + const SQChar* arg0; if(SQ_FAILED(sq_getstring(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a string")); return SQ_ERROR; @@ -1891,9 +1891,9 @@ static int play_music_wrapper(HSQUIRRELVM vm) } -static int play_sound_wrapper(HSQUIRRELVM vm) +static SQInteger play_sound_wrapper(HSQUIRRELVM vm) { - const char* arg0; + const SQChar* arg0; if(SQ_FAILED(sq_getstring(vm, 2, &arg0))) { sq_throwerror(vm, _SC("Argument 1 not a string")); return SQ_ERROR; @@ -1914,7 +1914,7 @@ static int play_sound_wrapper(HSQUIRRELVM vm) } -static int grease_wrapper(HSQUIRRELVM vm) +static SQInteger grease_wrapper(HSQUIRRELVM vm) { (void) vm; @@ -1933,7 +1933,7 @@ static int grease_wrapper(HSQUIRRELVM vm) } -static int invincible_wrapper(HSQUIRRELVM vm) +static SQInteger invincible_wrapper(HSQUIRRELVM vm) { (void) vm; @@ -1952,7 +1952,7 @@ static int invincible_wrapper(HSQUIRRELVM vm) } -static int mortal_wrapper(HSQUIRRELVM vm) +static SQInteger mortal_wrapper(HSQUIRRELVM vm) { (void) vm; @@ -1971,7 +1971,7 @@ static int mortal_wrapper(HSQUIRRELVM vm) } -static int restart_wrapper(HSQUIRRELVM vm) +static SQInteger restart_wrapper(HSQUIRRELVM vm) { (void) vm; @@ -1990,7 +1990,7 @@ static int restart_wrapper(HSQUIRRELVM vm) } -static int whereami_wrapper(HSQUIRRELVM vm) +static SQInteger whereami_wrapper(HSQUIRRELVM vm) { (void) vm; @@ -2009,7 +2009,7 @@ static int whereami_wrapper(HSQUIRRELVM vm) } -static int gotoend_wrapper(HSQUIRRELVM vm) +static SQInteger gotoend_wrapper(HSQUIRRELVM vm) { (void) vm; @@ -2028,7 +2028,7 @@ static int gotoend_wrapper(HSQUIRRELVM vm) } -static int camera_wrapper(HSQUIRRELVM vm) +static SQInteger camera_wrapper(HSQUIRRELVM vm) { (void) vm; @@ -2047,7 +2047,7 @@ static int camera_wrapper(HSQUIRRELVM vm) } -static int quit_wrapper(HSQUIRRELVM vm) +static SQInteger quit_wrapper(HSQUIRRELVM vm) { (void) vm; @@ -2066,7 +2066,7 @@ static int quit_wrapper(HSQUIRRELVM vm) } -static int rand_wrapper(HSQUIRRELVM vm) +static SQInteger rand_wrapper(HSQUIRRELVM vm) { try { diff --git a/tools/miniswig/create_wrapper.cpp b/tools/miniswig/create_wrapper.cpp index 1c63bc5d1..96d6149b3 100644 --- a/tools/miniswig/create_wrapper.cpp +++ b/tools/miniswig/create_wrapper.cpp @@ -259,7 +259,7 @@ WrapperCreator::create_function_wrapper(Class* _class, Function* function) if(function->type == Function::CONSTRUCTOR) function->name = "constructor"; - out << "static int "; + out << "static SQInteger "; if(_class != 0) { out << _class->name << "_"; } @@ -286,8 +286,8 @@ WrapperCreator::create_function_wrapper(Class* _class, Function* function) if(function->type != Function::FUNCTION) throw std::runtime_error( "custom not allow constructor+destructor yet"); - if(function->return_type.atomic_type != &BasicType::INT) - throw std::runtime_error("custom function has to return int"); + if(function->return_type.atomic_type != SQIntegerType::instance()) + throw std::runtime_error("custom function has to return SQInteger"); if(function->parameters.size() != 1) throw std::runtime_error( "custom function must have 1 HSQUIRRELVM parameter"); diff --git a/tools/miniswig/main.cpp b/tools/miniswig/main.cpp index 8a5080198..646180394 100644 --- a/tools/miniswig/main.cpp +++ b/tools/miniswig/main.cpp @@ -99,6 +99,7 @@ int main(int argc, char** argv) std_namespace->types.push_back(new StringType()); unit->namespaces.push_back(std_namespace); unit->types.push_back(new HSQUIRRELVMType()); + unit->types.push_back(new SQIntegerType()); yyparse(); diff --git a/tools/miniswig/tree.cpp b/tools/miniswig/tree.cpp index 848b30b09..deda75c9f 100644 --- a/tools/miniswig/tree.cpp +++ b/tools/miniswig/tree.cpp @@ -10,5 +10,6 @@ BasicType BasicType::LONG("long"); BasicType BasicType::FLOAT("float"); BasicType BasicType::DOUBLE("double"); -StringType* StringType::_instance = 0; -HSQUIRRELVMType* HSQUIRRELVMType::_instance = 0; +StringType* StringType::_instance = NULL; +HSQUIRRELVMType* HSQUIRRELVMType::_instance = NULL; +SQIntegerType* SQIntegerType::_instance = NULL; diff --git a/tools/miniswig/tree.hpp b/tools/miniswig/tree.hpp index 4dfcf1bb1..19ed320f0 100644 --- a/tools/miniswig/tree.hpp +++ b/tools/miniswig/tree.hpp @@ -84,6 +84,28 @@ public: int ref; }; +class SQIntegerType : public AtomicType { +public: + SQIntegerType() + { + this->name = "SQInteger"; + assert(_instance == 0); + _instance = this; + } + virtual ~SQIntegerType() + { + assert(_instance == this); + _instance = NULL; + } + + static SQIntegerType* instance() + { + return _instance; + } +private: + static SQIntegerType* _instance; +}; + class HSQUIRRELVMType : public AtomicType { public: HSQUIRRELVMType() @@ -95,7 +117,7 @@ public: virtual ~HSQUIRRELVMType() { assert(_instance == this); - _instance = 0; + _instance = NULL; } static HSQUIRRELVMType* instance() -- 2.11.0