1
Themes / Conveyor_Helper Module for Themers: Updated - 11/28/2017
« on: October 27, 2017, 09:41:49 PM »
What is this - Updated 11/28/2017
Conveyor Helper is a module that simplifies the use of the conveyor to make complicated game lists for your layout.
Main Features
Thanks!
Change Log
Conveyor Helper is a module that simplifies the use of the conveyor to make complicated game lists for your layout.
Main Features
- Create Vertical, Horizontal, Coverflow or Spinwheel lists - easy configuration options
- Use Game item design templates or completely customize your own
- Text fallback function – if artwork is not available show a text object with the name of the game
- Favorite game indicators – fully configurable
- Add standard image or a colored backgrounds , gloss overlays, and borders for all game items
- Customize the included template's text size and color
- Customize the included template's shown artwork
- Fade Gamelist after navigating to a new game
- Add a separate image or a colored background for the currently selected game
- progressively fade game items that are further away from the selected game item
- progressively scale the game item's size bigger or smaller as they are further away from the selected game item
- Comprehensive Readme and layout examples
- Extract the “zip” to the root of your AM folder.
- A new module and layout will be created in “layouts\conveyor_helper” and “modules\conveyor_helper”
- From your layout:
- Load the module: fe.load_module("conveyor_helper")
- Create a gamelist object: local yourGameListObject = MyGameList()
- Configure the gamelist – use built-in or custom templates
- Show the game list: yourGameListObject.show()
Thanks!
- to verion for planting the idea to make this module
- to the person I shamelessly ripped the favorite graphic
- to all that will give feedback to make this module even better
- Module and Example layout download zip: https://drive.google.com/open?id=0B6SHVZjz_r1fOUVTUmktUWF5blU
- ReadMe: https://drive.google.com/open?id=0B6SHVZjz_r1feFFtUmZQNDlabWc
- Video of the included examples: https://youtu.be/DZ-tMeU9B7A
- All Configuration Code Items:
Code: [Select]
// ----------- General List Options -----------
type = ch.Spinwheel; // OPTIONS: ch.Coverflow / ch.Spinwheel / ch.Linear_Vertical / ch.Linear_Horizontal
bend.direction = ch.Right; // OPTIONS: ch.Left / ch.Right
bend.gl_radius = fe.layout.height / 2; // OPTIONS: radius of the spinwheel in pixels
x = fe.layout.width / 2; // OPTIONS: top left x-coordinate if gamelist is linear or the center x-coordinate if a spinwheel or coverflow
y = fe.layout.height / 2; // OPTIONS: top left y-coordinate if gamelist is linear or the center y-coordinate if a spinwheel or coverflow
width = 270; // OPTIONS: linear game list total width in pixels
height = 0; // OPTIONS: linear list's height in pixels
ms_speed = 150; // OPTIONS: in milliseconds, sets the speed of the conveyor
fade_after_nav = 30; // OPTIONS: 0-255 Fades the entire gamelist after navigation to this value. set to 255 to disable fading
fade_delay = 5000; // the amount of time in milliseconds before the fade should start
fade_speed = 1; // the mulitplier controlling the speed of the fade
fade_selected = false; // OPTIONS: TRUE/FALSE fade selected game if gamelist fading is active
// ----------- Spinwheel options -----------
spinwheel.shape = 180; // OPTIONS: shape of the spinwheel arc in degrees eg: 270, 180, 360
spinwheel.rotate_items = true; // OPTIONS: true / false - Rotate the items along the spinwheel arc
spinwheel.startDegree = 90; // The degree on a circle to start drawing the spinwheel. From left to right 0= left, 90 = top, 180 = right, 270= bottom
spinwheel.effects.x = 1.00; // a number that changes the spinwheel algorithm to create cool effects
spinwheel.effects.y = 1.00; // a number that changes the spinwheel algorithm to create cool effects
// ----------- Linear List options -----------
linear.padding = 6; // the amount of padding in pixels between each gamelist item
// ----------- List Item Options -----------
item.contentTemplate = ch.Artwork_or_Text; // OPTIONS: ch.Artwork / ch.Text / ch.Artwork_and_Text / ch.Artwork_or_Text / ch.Flyer_and_Artwork / ch.Custom
item.count = 12; // OPTIONS: Total number of gamelist items to display
item.sizeScaling.low = 0.20; // OPTIONS: 0-100 Scaling size percentage to use for the item furthest from the selected item
item.sizeScaling.high = 0.80; // OPTIONS: 0-100 Scaling size percentage to use for item closest to the selected item
item.sizeScaling.currentlySelected = 1.0; // OPTIONS: 0-100 Scaling size percentage to use for the currently selected item
item.alphaScaling.low = 60; // OPTIONS: 0-100 Scaling size percentage to use for the item furthest from the selected item
item.alphaScaling.high = 210; // OPTIONS: 0-100 Scaling size percentage to use for item closest to the selected item
item.alphaScaling.currentlySelected = 255; // OPTIONS: 0-100 Scaling size percentage to use for the currently selected item
item.height = 500; // OPTIONS: Height of each gameList item in pixels before scaling - dynamic with linear vertical lists
item.width = 270 ; // OPTIONS: Width of each gameList item in pixels before scaling - dynamic with linear horizontal lists
item.margin.left = 10; // OPTION: bounding box left margin size for all images and text
item.margin.right = 10; // OPTION: bounding box right margin size for all images and text
item.margin.top = 10; // OPTION: bounding box top margin size for all images and text
item.margin.bottom = 10; // OPTION: bounding box bottom margin size for all images and text
// ----------- List Item Content: borders / backgrounds / gloss / colors -----------
item.toggle.backgroundColor = false; // if set to "TRUE" the game item background can be colored (use item.normal.color)
item.toggle.backgroundFile = false; // if set to "TRUE" the game item will use a file as the background (file: item_backgroundFile.png)
item.toggle.selectedBackgroundColor = false; // if set to "TRUE" the selected game item background can be colored (use item.currentlySelected.color)
item.toggle.selectedBackgroundFile = false; // if set to "TRUE" the selected game item will use a file as the background (file: item_selectedBackgroundFile.png)
item.toggle.glossOverlay = false; // if set to "TRUE" will overlay the game item with a gloss file (file: item_glossOverlay.png)
item.toggle.borderOverlay = false; // if set to "TRUE" will overlay the game item with a boarder file (file: item_borderOverlay.png)
item.normal.color.red = 128; // OPTIONS: background red color channel 0 - 255
item.normal.color.green = 0; // OPTIONS: background green color channel 0 - 255
item.normal.color.blue = 128; // OPTIONS: background blue color channel 0 - 255
item.currentlySelected.color.red=0; // OPTIONS: background red color channel 0 - 255
item.currentlySelected.color.green=128; // OPTIONS: background green color channel 0 - 255
item.currentlySelected.color.blue=128; // OPTIONS: background blue color channel 0 - 255
// ----------- List Item Content: Text -----------
text.message = "[Title]";
text.alignment = Align.Centre; // OPTIONS:left/right/center
text.normal.font = "Arial";
text.normal.size = 16; // OPTIONS: text font size for every gameList item
text.normal.color.red = 255; // OPTIONS: text font red color channel 0 - 255
text.normal.color.green = 255; // OPTIONS: text font green color channel 0 - 255
text.normal.color.blue = 128; // OPTIONS: text font blue color channel 0 - 255
text.currentlySelected.font = "Arial";
text.currentlySelected.size = 18; // OPTIONS: text font size for every gameList item
text.currentlySelected.color.red = 255; // OPTIONS: text font red color channel 0 - 255
text.currentlySelected.color.green = 255; // OPTIONS: text font green color channel 0 - 255
text.currentlySelected.color.blue = 128; // OPTIONS: text font blue color channel 0 - 255
// ----------- List Item Content: User Defined Artwork -----------
artwork.type = "wheel"; // OPTIONS: name of the artwork to use for the conveyour
artwork.type2 = "snap"; // OPTIONS: name of the artwork to use for the conveyour setting "Flyer_and_Artwork"
artwork.preserveAspect = false; // OPTIONS: true / false
// add_favoriteImage(path,x,y,width,height); // add a favorite image to the game item.
// ------------ Options when creating custom gameitem objects -------------
gi_textFallback = false; // When true, the game item will show the game name when no artwork is available
text_fallback_index = -1; // Only adjust if not working correctly. Set the index of the text object that should be shown when gi_textFallback=true
artwork_test_index = -1; // Only adjust if not working correctly. Set the index of the fe.image object which is to be tested when gi_textFallback = true
Change Log
Code: [Select]
2017.11.28
- [FEATURE]: added ch.Coverflow for coverflow lists and a new demo layout as an example
- [BUGFIX]: setting fade_afte_nav nolonger results in an endless loop
- [CHANGE]: refactored setLinearStops() (again) and LinearSlotItem.on_progress() to match lessons learned with setSpinWheelStops all list types not work almost exactly the same simplifying code
- [CHANGE]: spinwheel gamelist items are now centered in the middle
- [CHANGE]: moved origin settings to setOriginSettings() based upon gamelist type and bend direction
2017.11.19
- [FEATURE]: added the ability to fade the wheel after navigating use: fade_after_nav, fade_delay, fade_selected and fade_speed
- [FEATURE]: added the ability to change the navigation speed of the gamelist see: ms_speed
- [BUGFIX]: corrected vertical lists text scrolling in the wrong direction
- [BUGFIX]: fixed fading of the fallback text object in setSlotItemClass()
- [BUGFIX]: Ensure correct game is selected when item.count is an even number see: "sel_game_offset"
- [CHANGE]: refactored setLinearStops to match lessons learned with setSpinWheelStops
2017.11.15
- [BUGFIX]: Vertical lists now sort alphabetically from A to Z instead of Z to A - Thanks to BadFurDay for reporting this
- [CHANGE]: Updated all Demo Spinwheel layouts to start drawing from 90deg thus centering the selected item in the middle of the screen.
2017.11.14
- [BUGFIX]: Spinwheel now sorts alphabetically from A to Z instead of Z to A
2017.11.10
- [CHANGE]: moved the text from text only list out of the surface. Changes in: LinerSlotItem.constructor(), MyGameList.show(), setGameItemContent(), setSlotItemClass()
- [FEATURE]: added config item "text.word_wrap"
- [BUGFIX]: Spinwheel fixes. Selected game centered by default when selecting an odd number of items. Animation optimized