Author Topic: Conveyor_Helper Module for Themers: Updated - 11/28/2017  (Read 55500 times)

FrizzleFried

  • Sr. Member
  • ****
  • Posts: 243
    • View Profile
    • Idaho Garagecade
Re: Conveyor_Helper Module for Themers: Updated - 11/28/2017
« Reply #60 on: November 27, 2018, 07:46:28 PM »
When I use artwork type "snap", it selects the movie files within the same folder and not the static files.  How do I force it to select the static files and not the movie files?

Thanks!
Visit my arcade blog ... www.idahogaragecade.com (updated 06-27-19)

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1271
    • View Profile
Re: Conveyor_Helper Module for Themers: Updated - 11/28/2017
« Reply #61 on: November 27, 2018, 08:27:12 PM »
When I use artwork type "snap", it selects the movie files within the same folder and not the static files.  How do I force it to select the static files and not the movie files?

Thanks!

AttractMode will always choose a video over an image when both are available unless the layout is written to change this default function. You can read about this in the "Artwork Selection Order" here https://github.com/mickelson/attract/blob/v2.4.0/Readme.md

The solution is to store the static snaps in a separate folder. You can then just point to the folder with the static snaps. If you want to show your static images when videos aren't available then you can put the paths to both directories in your emulator.cfg file (separated by a semicolon).

Anther solution is to modify the layout.nut file to use logic to change the default AttractMode behavior.
« Last Edit: November 27, 2018, 08:31:53 PM by progets »

FrizzleFried

  • Sr. Member
  • ****
  • Posts: 243
    • View Profile
    • Idaho Garagecade
Re: Conveyor_Helper Module for Themers: Updated - 11/28/2017
« Reply #62 on: November 28, 2018, 06:54:57 AM »
Hmmm... the behavior I am looking for is on display in the SDArcade layout.  Perhaps I'll poke around it to see how they do it...

I guess I COULD separate the snaps from the vids,  but if I want to release this layout I can't expect others to do the same...
Visit my arcade blog ... www.idahogaragecade.com (updated 06-27-19)

FrizzleFried

  • Sr. Member
  • ****
  • Posts: 243
    • View Profile
    • Idaho Garagecade
Re: Conveyor_Helper Module for Themers: Updated - 11/28/2017
« Reply #63 on: November 28, 2018, 08:11:41 AM »
OK... I am using the ch.Coverflow option... and the videos are showing in all windows.  This isn't a big problem except when exiting games... for some reason,  the system decides to play the audio for all videos running at the same time.  As soon as i move one spot,  it kills the audio on all non selected videos and runs as normal...

My plan was to change the coverflow to snaps (non-video)... then after x number of seconds drop a video over the snap only in the center.

HOWEVER... inside the conveyor helper module I find this code...

Code: [Select]
// turn off video playing if the current game item is not the selected one. (test using the alpha channel for background selected image)
video_playing[video_status].call(this);
}

This is exactly what I am trying to do... how do I implement this?

NOTE: You're going to have to talk down to me... I am merely a hack when it comes to coding... but a semi-decent hack...

;)

Visit my arcade blog ... www.idahogaragecade.com (updated 06-27-19)

wildpumpk1n

  • Jr. Member
  • **
  • Posts: 12
    • View Profile
Re: Conveyor_Helper Module for Themers: Updated - 11/28/2017
« Reply #64 on: January 09, 2019, 09:30:07 AM »
Just a word @ArcadeBliss, thanks for this, its awsome :)
I'm not a dev, oh no, i will try to implemente to modify the robospin layout to fit my vertical build.
I will show you if i will arrived somewhere :)
And @Verion Too.
And for everyone who made Attract-mode and layout stuff. You made a great job guys. Thanks a lot.

« Last Edit: January 09, 2019, 09:55:49 AM by wildpumpk1n »

jclampy69

  • Full Member
  • ***
  • Posts: 86
    • View Profile
Re: Conveyor_Helper Module for Themers: Updated - 11/28/2017
« Reply #65 on: November 15, 2020, 04:23:12 AM »
Thank you for this awesome module.

I have noticed an issue / bug with it though:
The "item.toggle.BackgroundFile" setting will add a background to all wheel items, including the currently selected wheel item.
The "item.toggle.selectedBackgroundFile" will add a background to the currently selected wheel item, but also all other wheel items as well.
From how I read the descriptions, it is not suppose to work like this. In the above you should be able to set different background files, or for instance, have a background on only the currently selected wheel item.

Edit:
Same issue / bug happens with the background color options:
The "item.toggle.backgroundColor" setting will add a background to all wheel items, including the currently selected wheel item.
The "item.toggle.selectedBackgroundColor" will add a background to the currently selected wheel item, but also all other wheel items as well.
From how I read the descriptions, it is not suppose to work like this. In the above you should be able to set different background files, or for instance, have a background on only the currently selected wheel item.

I can't quite see where the problem is in the conveyor_helper.nut file though, or how one would go about fixing this?
The "selected wheel item" options are the ones that I would really like to use. I spent a few hours working on some nice background / border files that I have now found I can't use on only the currently selected wheel item.


I would also like to request that the vertical wheel gets an bend.direction = ch.Center (or Centre) setting option so that we could enlarge the selected wheel item whilst keeping the list centered instead of it bending off to the left or right.

Other errors in the documentation:
Scaling Size described as a percentage 0-100, when the setting is actually in decimal form so .50 being 50% or 2.00 being 200% (yes, you can go past 100 percent which is another error in documentation).
Alpha Scaling described as a percentage 0-100, when the setting is actually in alpha scale form so 255 being 100% visible or 130 being around 50% visible or 0 being completely transparent.
« Last Edit: November 15, 2020, 01:55:49 PM by jclampy69 »

jclampy69

  • Full Member
  • ***
  • Posts: 86
    • View Profile
Re: Conveyor_Helper Module for Themers: Updated - 11/28/2017
« Reply #66 on: November 16, 2020, 06:34:09 PM »
In regards to the background file usage on wheel list items, I am reading the area of the code where these are being applied.
It reads to me as if every list item is allocated two background files and the true / false parameter set by the user is only setting if they are *visible* or not.

Code: [Select]
function setGameItemContent()
{
/*
Create the configured gamelist item contents - text and artwork, borders, colors, etc.
Templates are defined here e.g. ch.Artwork_and_Text to determine how to do the gameitem setup

All images and settings are added to the object variables: runtime.surface.container,
runtime.surface.objects, and runtime.surface.objectTypes. These variables are passed to the conveyor slot
and used during the on_progress function.

!! Every GameItem contains two background images (1)the normal selected background and (2)the selected game background

This is a flawed setup because what is happening when you change the setting to *true*, is that the background file is visible on all items regardless of your intended preference.

The remainder of the code if anyone thinks there is a way to fix this?

Code: [Select]
*/

// ensure runtime.surface.container has the correct width and height;
setSurfaceContainer();

// configure margins for artwork and other items
local x = item.margin.left;
local y = item.margin.top;
local w = runtime.surface.container.width - item.margin.left - item.margin.right;
local h = runtime.surface.container.height - item.margin.top - item.margin.bottom;
local temp = null; // temp to configure item settings
local filename = null;


// Configure game item background and color
if (item.toggle.backgroundFile)
{
/*
add normal game item background file
and optionally colorize it

*/
filename = fe.script_dir + "item_backgroundFile.png";
filename = (fileExist(filename)) ? filename :  amPath + "modules/conveyour_helper/item_backgroundFile.png";
temp = add_gameItemsContent("background",filename,x,y,w,h);

if (item.toggle.backgroundColor)
{
temp.red = item.normal.color.red;
temp.green = item.normal.color.green;
temp.blue = item.normal.color.blue;
}

} else {
/*
just add a blank background and color it
if a background file is not being used

*/
filename = amPath + "modules/conveyour_helper/ui_backgroundColor.png";
temp = add_gameItemsContent("background",filename,x,y,w,h);
temp.red = item.normal.color.red;
temp.green = item.normal.color.green;
temp.blue = item.normal.color.blue;
temp.visible = (item.toggle.backgroundColor);

}

// Configure selected game item background and color
if (item.toggle.selectedBackgroundFile)
{
/*
add selected game item background file
and optionally colorize it

*/
filename = fe.script_dir + "item_selectedBackgroundFile.png";
filename = (fileExist(filename)) ? filename :  amPath + "modules/conveyour_helper/item_selectedBackgroundFile.png";
temp = add_gameItemsContent("selected",filename,x,y,w,h);

if (item.toggle.selectedBackgroundColor)
{
temp.red = item.currentlySelected.color.red;
temp.green = item.currentlySelected.color.green;
temp.blue = item.currentlySelected.color.blue;
}

} else {
/*
just add a blank background and color it
if a background file is not being used

*/
filename = amPath + "modules/conveyour_helper/ui_backgroundColor.png";
temp = add_gameItemsContent("selected",filename,x,y,w,h);
temp.red = item.currentlySelected.color.red;
temp.green = item.currentlySelected.color.green;
temp.blue = item.currentlySelected.color.blue;
temp.visible = (item.toggle.selectedBackgroundColor);
}