From d1fb49ba83108e3f4c05a329a7e149d24888e6b7 Mon Sep 17 00:00:00 2001 From: David Capello Date: Tue, 27 Nov 2018 15:04:05 -0300 Subject: [PATCH] lua: Cel/Palette.frame return a Frame and added Cel/Palette.frameNumber --- src/app/script/cel_class.cpp | 11 +++++++++++ src/app/script/palette_class.cpp | 12 ++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/app/script/cel_class.cpp b/src/app/script/cel_class.cpp index 0e09b4de5..c51327287 100644 --- a/src/app/script/cel_class.cpp +++ b/src/app/script/cel_class.cpp @@ -49,6 +49,16 @@ int Cel_get_layer(lua_State* L) } int Cel_get_frame(lua_State* L) +{ + const auto cel = get_docobj(L, 1); + if (auto sprite = cel->sprite()) + push_sprite_frame(L, sprite, cel->frame()); + else + lua_pushnil(L); + return 1; +} + +int Cel_get_frameNumber(lua_State* L) { const auto cel = get_docobj(L, 1); lua_pushinteger(L, cel->frame()+1); @@ -125,6 +135,7 @@ const Property Cel_properties[] = { { "sprite", Cel_get_sprite, nullptr }, { "layer", Cel_get_layer, nullptr }, { "frame", Cel_get_frame, nullptr }, + { "frameNumber", Cel_get_frameNumber, nullptr }, { "image", Cel_get_image, Cel_set_image }, { "bounds", Cel_get_bounds, nullptr }, { "position", Cel_get_position, Cel_set_position }, diff --git a/src/app/script/palette_class.cpp b/src/app/script/palette_class.cpp index 0d065d596..caaa72483 100644 --- a/src/app/script/palette_class.cpp +++ b/src/app/script/palette_class.cpp @@ -149,6 +149,17 @@ int Palette_setColor(lua_State* L) } int Palette_get_frame(lua_State* L) +{ + auto obj = get_obj(L, 1); + auto pal = obj->palette(L); + if (auto sprite = obj->sprite(L)) + push_sprite_frame(L, sprite, pal->frame()); + else + lua_pushnil(L); + return 1; +} + +int Palette_get_frameNumber(lua_State* L) { auto obj = get_obj(L, 1); auto pal = obj->palette(L); @@ -167,6 +178,7 @@ const luaL_Reg Palette_methods[] = { const Property Palette_properties[] = { { "frame", Palette_get_frame, nullptr }, + { "frameNumber", Palette_get_frameNumber, nullptr }, { nullptr, nullptr, nullptr } };