mirror of https://github.com/aseprite/aseprite.git
[lua] Add Sprite{ fromFile="...", oneFrame=true } to load just one frame
This commit is contained in:
parent
11324c207d
commit
7a534b0a4e
|
|
@ -68,7 +68,8 @@ int load_sprite_from_file(lua_State* L, const char* filename,
|
|||
Commands::instance()->byId(CommandId::OpenFile());
|
||||
Params params;
|
||||
params.set("filename", absFn.c_str());
|
||||
if (param == LoadSpriteFromFileParam::OneFrameAsImage)
|
||||
if (param == LoadSpriteFromFileParam::OneFrameAsSprite ||
|
||||
param == LoadSpriteFromFileParam::OneFrameAsImage)
|
||||
params.set("oneframe", "true");
|
||||
ctx->executeCommand(openCommand, params);
|
||||
|
||||
|
|
|
|||
|
|
@ -167,6 +167,7 @@ namespace app {
|
|||
|
||||
// Used by App.open(), Sprite{ fromFile }, and Image{ fromFile }
|
||||
enum class LoadSpriteFromFileParam { FullAniAsSprite,
|
||||
OneFrameAsSprite,
|
||||
OneFrameAsImage };
|
||||
int load_sprite_from_file(lua_State* L, const char* filename,
|
||||
const LoadSpriteFromFileParam param);
|
||||
|
|
|
|||
|
|
@ -78,9 +78,13 @@ int Sprite_new(lua_State* L)
|
|||
if (const char* fromFile = lua_tostring(L, -1)) {
|
||||
std::string fn = fromFile;
|
||||
lua_pop(L, 1);
|
||||
|
||||
bool oneFrame = (lua_is_key_true(L, -1, "oneFrame"));
|
||||
|
||||
return load_sprite_from_file(
|
||||
L, fn.c_str(),
|
||||
LoadSpriteFromFileParam::FullAniAsSprite);
|
||||
(oneFrame ? LoadSpriteFromFileParam::OneFrameAsSprite:
|
||||
LoadSpriteFromFileParam::FullAniAsSprite));
|
||||
}
|
||||
}
|
||||
lua_pop(L, 1);
|
||||
|
|
|
|||
Loading…
Reference in New Issue