diff options
| author | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2009-10-28 23:31:42 +0000 |
|---|---|---|
| committer | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2009-10-28 23:31:42 +0000 |
| commit | d789e418847a527ffcfb90ed3443fb05efa2da04 (patch) | |
| tree | fdc0c5a012ead2faed48fe8434167104a4620737 /apps/filetree.c | |
| parent | 97881c1a62612e6fd716bd2feabeb1a333159d0d (diff) | |
| download | rockbox-d789e418847a527ffcfb90ed3443fb05efa2da04.zip rockbox-d789e418847a527ffcfb90ed3443fb05efa2da04.tar.gz rockbox-d789e418847a527ffcfb90ed3443fb05efa2da04.tar.bz2 rockbox-d789e418847a527ffcfb90ed3443fb05efa2da04.tar.xz | |
Add support for running Lua games/apps from the Plugins menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23390 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/filetree.c')
| -rw-r--r-- | apps/filetree.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/apps/filetree.c b/apps/filetree.c index 3b31358..945b9ac 100644 --- a/apps/filetree.c +++ b/apps/filetree.c @@ -344,7 +344,8 @@ int ft_load(struct tree_context* c, const char* tempdir) (*c->dirfilter == SHOW_CFG && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_CFG) || (*c->dirfilter == SHOW_LNG && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_LNG) || (*c->dirfilter == SHOW_MOD && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_MOD) || - (*c->dirfilter == SHOW_PLUGINS && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_ROCK)) + (*c->dirfilter == SHOW_PLUGINS && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_ROCK && + (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_LUA)) { i--; continue; @@ -582,13 +583,21 @@ int ft_enter(struct tree_context* c) /* plugin file */ case FILE_ATTR_ROCK: + case FILE_ATTR_LUA: { + char *plugin = buf, *argument = NULL; int ret; + + if ((file->attr & FILE_ATTR_MASK) == FILE_ATTR_LUA) { + plugin = VIEWERS_DIR "/lua.rock"; /* Use a #define here ? */ + argument = buf; + } + if (global_settings.party_mode && audio_status()) { splash(HZ, ID2P(LANG_PARTY_MODE)); break; } - ret = plugin_load(buf,NULL); + ret = plugin_load(plugin, argument); switch (ret) { case PLUGIN_GOTO_WPS: |