Updated the first post with v.2.1.0.
@jedione Here’s the update to your Bionic 2 theme. Be sure to use shuffle v2.1.0.
fe.load_module("animate");
fe.load_module("shuffle");
local flw = fe.layout.width;
local flh = fe.layout.height;
local config = {};
config.list <- {
x = flw*0.054,
w = flw*0.305,
h = flh*0.120,
};
config.indicator <- {
x = 0,
w = flw*0.490,
h = flh*0.130,
};
local ss = fe.add_image( "artwork/shade.png", 0, 0, flw, flh );
ss.alpha = 200;
local list = [];
list.push(fe.add_text("[Title]", config.list.x, flh*0.080, config.list.w, config.list.h));
list.push(fe.add_text("[Title]", config.list.x, flh*0.145, config.list.w, config.list.h));
list.push(fe.add_text("[Title]", config.list.x, flh*0.210, config.list.w, config.list.h));
list.push(fe.add_text("[Title]", config.list.x, flh*0.275, config.list.w, config.list.h));
list.push(fe.add_text("[Title]", config.list.x, flh*0.340, config.list.w, config.list.h));
list.push(fe.add_text("[Title]", config.list.x, flh*0.405, config.list.w, config.list.h));
list.push(fe.add_text("[Title]", config.list.x, flh*0.470, config.list.w, config.list.h));
list.push(fe.add_text("[Title]", config.list.x, flh*0.535, config.list.w, config.list.h));
list.push(fe.add_text("[Title]", config.list.x, flh*0.600, config.list.w, config.list.h));
list.push(fe.add_text("[Title]", config.list.x, flh*0.665, config.list.w, config.list.h));
list.push(fe.add_text("[Title]", config.list.x, flh*0.730, config.list.w, config.list.h));
list.push(fe.add_text("[Title]", config.list.x, flh*0.795, config.list.w, config.list.h));
class ShuffleList extends Shuffle {
function _refreshSelected(slot) {
slot.font="BebasNeue Regular.ttf";
slot.align = Align.Left;
slot.charsize = 36;
slot.set_rgb ( 154, 232, 53 );
}
function _refreshDeselected(slot) {
slot.font="BebasNeue Regular.ttf";
slot.align = Align.Left;
slot.charsize = 36;
slot.set_rgb (119, 183, 34);
}
}
local list = ShuffleList({slots=list, reset=false});
local indicator = [];
indicator.push(fe.add_image("artwork/favourite-off.png", config.indicator.x, flh*0.090, config.indicator.w, config.indicator.h));
indicator.push(fe.add_image("artwork/favourite-off.png", config.indicator.x, flh*0.156, config.indicator.w, config.indicator.h));
indicator.push(fe.add_image("artwork/favourite-off.png", config.indicator.x, flh*0.222, config.indicator.w, config.indicator.h));
indicator.push(fe.add_image("artwork/favourite-off.png", config.indicator.x, flh*0.286, config.indicator.w, config.indicator.h));
indicator.push(fe.add_image("artwork/favourite-off.png", config.indicator.x, flh*0.352, config.indicator.w, config.indicator.h));
indicator.push(fe.add_image("artwork/favourite-off.png", config.indicator.x, flh*0.416, config.indicator.w, config.indicator.h));
indicator.push(fe.add_image("artwork/favourite-off.png", config.indicator.x, flh*0.482, config.indicator.w, config.indicator.h));
indicator.push(fe.add_image("artwork/favourite-off.png", config.indicator.x, flh*0.546, config.indicator.w, config.indicator.h));
indicator.push(fe.add_image("artwork/favourite-off.png", config.indicator.x, flh*0.612, config.indicator.w, config.indicator.h));
indicator.push(fe.add_image("artwork/favourite-off.png", config.indicator.x, flh*0.678, config.indicator.w, config.indicator.h));
indicator.push(fe.add_image("artwork/favourite-off.png", config.indicator.x, flh*0.744, config.indicator.w, config.indicator.h));
indicator.push(fe.add_image("artwork/favourite-off.png", config.indicator.x, flh*0.810, config.indicator.w, config.indicator.h));
class ShuffleIndicator extends Shuffle {
function _refreshAll(slot) { fe.game_info(Info.Favourite, slot.index_offset) == "1" ? slot.file_name = "artwork/favourite-on.png" : slot.file_name = "artwork/favourite-off.png"; }
function _refreshSelected(slot) { slot.visible = true; }
function _refreshDeselected(slot) { slot.visible = false; }
}
local indicator = ShuffleIndicator({slots=indicator, reset=false});