Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - BadFurDay

Pages: [1] 2 3 ... 6
1
Scripting / Change what is written/read in the favourite .tag files
« on: October 12, 2021, 06:42:13 AM »
Is there anyway to have AM write more than just the game name to the .tag file? Reason I ask is I'd like it to include the emulator name too. This way romlists with multiple systems but games with the same name won't confuse AM.

2
Scripting / Re: Need help with a theme idea
« on: July 26, 2020, 12:13:17 AM »
Can anyone help?

3
Why don't you just save a second copy of it, already flipped, and load that in as a separate image

4
Scripting / Re: Need help with a theme idea
« on: July 01, 2020, 02:32:07 PM »
I'm using the horizontal demo from conveyor module with numbers/sizes/positions modified.  I'll also attach a screenshot of how it looks and another of how I'd like it to look mocked up in Gimp:

// Include the converyour helper module
fe.load_module("conveyor_helper");

/*
   =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   Horizontal List Demo
   =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   A horizontal List with all valid options
   Omitted options will use the defaults
   
*/

// initialize the horizontal list
local hList = MyGameList();

      // ----------- General List Options -----------   
      hList.type = ch.Linear_Horizontal;             // OPTIONS: ch.Spinwheel / ch.Linear_Vertical / ch.Linear_Horizontal
      hList.bend.direction = ch.Right;           // OPTIONS: ch.Left / ch.Right
      hList.x = -400;                           // OPTIONS: top left x-coordinate if gamelist is linear or the center x-coordinate if a spinwheel
      hList.y = 0;         // OPTIONS: top left y-coordinate if gamelist is linear or the center y-coordinate if a spinwheel
      hList.width = 2400;             // OPTIONS: linear game list total width in pixels
      hList.height = 1080;                      // OPTIONS: linear list's height in pixels
      hList.ms_speed = 250;                     // OPTIONS: in milliseconds, sets the speed of the conveyor
      hList.fade_after_nav = 255;                  // OPTIONS: 0-255 Fades the entire gamelist's alpha channel after navigation to this value. set to 255 to disable fading
      hList.fade_delay = 1000; // the amount of time in milliseconds before the fade should start
      hList.fade_speed = 1; // the mulitplier controlling the speed of the fade
      hList.fade_selected = false;                   // OPTIONS: TRUE/FALSE fade selected game if gamelist fading is active
      
      // ----------- Linear List options -----------
      hList.linear.padding = -400;   // the amount of padding in pixels between each gamelist item
      
      // ----------- List Item  Options -----------
      hList.item.contentTemplate = ch.Artwork;      // OPTIONS: ch.Artwork / ch.Text / ch.Artwork_and_Text / ch.Artwork_or_Text / ch.Flyer_and_Artwork
      hList.item.count = 9;                   // OPTIONS: Total number of gamelist items to display
       
      hList.item.sizeScaling.low = 1.00;             // OPTIONS: 0-100 Scaling size percentage to use for the item furthest from the selected item
      hList.item.sizeScaling.high = 1.00;             // OPTIONS: 0-100 Scaling size percentage to use for item closest to the selected item
      hList.item.sizeScaling.currentlySelected = 1.0;   // OPTIONS: 0-100 Scaling size percentage to use for the currently selected item
       
      hList.item.alphaScaling.low = 255;             // OPTIONS: 0-100 Scaling size percentage to use for the item furthest from the selected item
      hList.item.alphaScaling.high = 255;             // OPTIONS: 0-100 Scaling size percentage to use for item closest to the selected item
      hList.item.alphaScaling.currentlySelected = 255;   // OPTIONS: 0-100 Scaling size percentage to use for the currently selected item
       
      hList.item.height = 1080;                      // OPTIONS: Height of each gameList item in pixels before scaling - dynamic with linear vertical lists
      hList.item.width = 750;                     // OPTIONS: Width of each gameList item in pixels before scaling - dynamic with linear horizontal lists
       
      hList.item.margin.left = 0;                   // OPTION: bounding box left margin size for all images and text
      hList.item.margin.right = 12;                // OPTION: bounding box right margin size for all images and text
      hList.item.margin.top = 12;                  // OPTION: bounding box top margin size for all images and text
      hList.item.margin.bottom = 12;               // OPTION: bounding box bottom margin size for all images and text
       
      // ----------- List Item Content: borders / backgrounds / gloss / colors  -----------
      hList.item.toggle.backgroundColor = false;         // if set to "TRUE" the game item background can be colored (use item.normal.color)
      hList.item.toggle.backgroundFile = false;            // if set to "TRUE" the game item will use a file as the background (file: item_backgroundFile.png)
      hList.item.toggle.selectedBackgroundColor = false;    // if set to "TRUE" the selected game item background can be colored (use item.currentlySelected.color)
      hList.item.toggle.selectedBackgroundFile = false;      // if set to "TRUE" the selected game item will use a file as the background (file: item_selectedBackgroundFile.png)
      hList.item.toggle.glossOverlay = false;            // if set to "TRUE" will overlay the game item with a gloss file (file: item_glossOverlay.png)
      hList.item.toggle.borderOverlay = false;            // if set to "TRUE" will overlay the game item with a boarder file (file: item_borderOverlay.png)
      
      hList.item.normal.color.red = 255;               // OPTIONS: background red color channel 0 - 255
      hList.item.normal.color.green = 0;                   // OPTIONS: background green color channel 0 - 255
      hList.item.normal.color.blue = 0;                    // OPTIONS: background blue color channel 0 - 255
       
      hList.item.currentlySelected.color.red=0;            // OPTIONS: background red color channel 0 - 255
      hList.item.currentlySelected.color.green=0;          // OPTIONS: background green color channel 0 - 255
      hList.item.currentlySelected.color.blue=0;           // OPTIONS: background blue color channel 0 - 255
       
      // ----------- List Item Content: Text -----------
      hList.text.message = "[Title]";
      hList.text.alignment = Align.Centre;           // OPTIONS:left/right/center
      hList.text.normal.font = "Arial";
      hList.text.normal.size = 18;                   // OPTIONS: text font size for every gameList item
      hList.text.normal.color.red = 0;            // OPTIONS: text font red color channel 0 - 255
      hList.text.normal.color.green = 0;            // OPTIONS: text font green color channel 0 - 255
      hList.text.normal.color.blue = 255;            // OPTIONS: text font blue color channel 0 - 255
      
      hList.text.currentlySelected.font = "Arial";
      hList.text.currentlySelected.size = 24;          // OPTIONS: text font size for every gameList item
      hList.text.currentlySelected.color.red = 0;      // OPTIONS: text font red color channel 0 - 255
      hList.text.currentlySelected.color.green = 0;    // OPTIONS: text font green color channel 0 - 255
      hList.text.currentlySelected.color.blue = 0;     // OPTIONS: text font blue color channel 0 - 255
       
      // ----------- List Item Content: User Defined Artwork -----------   
      hList.artwork.type = "wheel";       // OPTIONS: name of the artwork to use for the conveyour
      hList.artwork.type2 = "snap";         // OPTIONS: name of the artwork to use for the conveyour setting "Flyer_and_Artwork"
      hList.artwork.preserveAspect = true; // OPTIONS: true / false


   //---------------------------------------------------------
   //
   //   Configure a custom game item instead of using the built
   //   in settings
   //
   //---------------------------------------------------------   
      if (hList.item.contentTemplate == ch.Custom)
      {
         local object = hList;
         local temp = null;
         local x = 0
         local y = 0
         local w = object.item.width
         local h = object.item.height

   //--------------------------------------------------------------------------------
   // The Artwork and text object order is important because it determines the
   // correct working of the text fallback function when artwork is not available.
   // If the automatic process does not handle this correctly, it can specifically be
   // set using the properties: 'text_fallback_index' and 'artwork_text_index'.
   // The index numbers are calculate using the example below.
   //--------------------------------------------------------------------------------
   
         
         // Artwork index #2 - Flyer frame (Artwork index 0 & 1 are always background and selected images)
         temp = object.add_customGameItemContent("image", fe.script_dir + "frameflyer.png", 8 , 0 , w-16 ,h );
         temp.preserve_aspect_ratio = true;
         temp.trigger = Transition.EndNavigation;
         
         // Artwork index #3 - Game Flyer
         temp = object.add_customGameItemContent("artwork", "flyer", 20 , 20 , w-40 ,h-40 );
         temp.preserve_aspect_ratio = true;
         temp.trigger = Transition.EndNavigation;

         // Text index #0 - the word 'AttractMode Test' just written to the left of the flyer
          temp = object.add_customGameItemContent("text", "AttractMode Test", x + object.text.normal.size/2, 10, h, 0);
         temp.font = object.text.normal.font;
         temp.align = Align.Left;
         temp.charsize  = 12;
          temp.rotation = 90;
                  
         // Artwork index #4 - show a video of the game and set the shader
         temp = object.add_customGameItemContent("artwork", "snap", w - w*0.40 , h - h*0.30 , w*0.40 ,h*0.30 );
         temp.preserve_aspect_ratio = true;
         temp.trigger = Transition.EndNavigation;
         local sh = fe.add_shader( Shader.VertexAndFragment, "shaders/crt.vert", "shaders/crt.frag" );
         sh.set_param( "rubyInputSize", 320, 240 );
         sh.set_param( "rubyOutputSize", ScreenWidth, ScreenHeight );
         sh.set_param( "rubyTextureSize", 320, 240 );
         sh.set_texture_param("rubyTexture");
         temp.shader = sh;
         
         // Artwork #5 - add tvframe to the video
         temp = object.add_customGameItemContent("image","TVframe.png",w - w*0.40 , h - h*0.30 , w*0.40 ,h*0.30 )
         
         // Text object #1  - this will be configured as the 'text_fallback_index' because it has the name of the game
         temp = object.add_customGameItemContent("text", "[Title]", x, h*0.5, w, 0);
         temp.font = object.text.normal.font;
         temp.charsize  = object.text.normal.size;
         temp.align = object.text.alignment;
         
         // insert Favorite Banner
         object.add_favoriteImage(fe.script_dir + "favorite2.png", 8 , 2 , w-40 ,h-40);
         
      //   --------------------------------------------------------------------------------------------------------   
      //   the next three settings are optional. Use gi_textFallback to activate the automatic showing of text,
      //   when artwork is not available for a game. The setting of  'text_fallback_index' and 'artwork_text_index'
      //    should only be used the automatic process is not working or the conveyour handling of the test is just wrong.
      //   --------------------------------------------------------------------------------------------------------
         object.gi_textFallback = true;
         object.text_fallback_index= 1; // text object to turn off/on when the "artwork_test_index" is not available
         object.artwork_test_index = 3; // test for this artwork index if the game text should be shown

      }
// show the horizontal list
hList.show();

5
Scripting / Need help with a theme idea
« on: June 30, 2020, 02:50:11 PM »
I have an idea and I've already made artwork for the theme. I've got a horizontal wheel using the conveyor helper module but it's not doing quite what I'd like. I have the artwork overlapping and would like the middle one pulled out more. Think a deck of cards fanned out, the card you want pulled out a bit more than the rest. I can get the artwork to overlap but the middle is on top, the images after this don't continue to stack on top they go behind each other. Can anyone help explain to me how to achieve this?

6
General / Re: Bounty for help with restoring my attract mode.
« on: December 22, 2019, 01:37:10 PM »
Sometimes when I updated it caused the Attract mode config file to blank, if it is the same issue go into the Attract mode folder hopefully you will have a bkp (backup) file, just get rid of the blank cfg and rename the bkp to a cfg file. Hopefully this works, if it does I'm not interested in the bounty.

7
General / Re: video/audio snap out of sync
« on: March 10, 2019, 11:30:07 AM »
This has sorted out the issue I had on the separate post. However the ones that would stop are now just stuttering a lot, though they do play all the way through now.

8
General / HQ snap issue
« on: March 06, 2019, 01:58:51 AM »
Since I updated Attract Mode to 2.5.1 any of my HQ snaps now play slow, stop before the end and start again. Anyone else experiencing this? Is it a problem with MMAL? Any SQ snaps I have play fine.

9
I tried to write a very simple layout that shows how you can intercept left and right and map next_game and prev_game. Here there's a signal callback function that basically shifts the games in the opposite direction with respect to what you press (so right = previous game, left = next game).

Code: [Select]

fe.add_text ("[Title]",0,0,fe.layout.width,fe.layout.width*0.05)

fe.add_signal_handler( this, "on_signal" )

function on_signal( sig ){

   if (sig == "left") {
      fe.signal ("next_game")
      return true
   }

   if (sig == "right"){
      fe.signal ("prev_game")
      return true
   }

   return false

}


That hasn't worked for me I'm afraid.

10
My solution to this problem: my them catches "left" and "right" instead of relying on the "previous/next game" signals, so it doesn't take user settings into account...

Can you share the code you use?

11
It is what I'm doing but I used to have left and right to scroll next/previous page so I could go through the games quicker.

12
General / Is it possible to have different controls for different themes
« on: December 20, 2018, 08:15:07 AM »
If I'm using a horizontal scrolling theme for my systems menu but then a vertical scrolling wheel for the individual system/displays it's weird having to scroll the wrong way for one of them. Is there any way around this? I have up and down set as the next game buttons so on my horizontal theme I'm still pushing up or down, however it would feel more natural to push left and right instead.

13
Themes / Re: Complete collection of SNES PAL boxart/covers
« on: October 30, 2018, 03:52:02 AM »
I notice you don't have Super International Cricket, I shared a scan of the box from my own collection on hyperspin forums, hope it helps: https://hyperspin-fe.com/forums/topic/33202-super-nintendo-real-3d-box-set/?page=7

14
I've been using this code:

</ label="Enable system logos", help="Select system logos", options="Yes,No", order=18 /> enable_slogos="Yes";

//System Logos
if ( my_config["enable_slogos"] == "Yes") 
{
local slogos = fe.add_image("slogos/[Emulator]", flx*0.02, fly*0.913, flw*0.08, flh*0.05 );
slogos.preserve_aspect_ratio = true;
slogos.trigger = Transition.EndNavigation;
}      

Just add this to your layout then extract the attached zip file to the layout folder and you can have the proper logos, just need to play with the x/y/w/h values to get it right in your theme.

15
Themes / Robospin Universal Theme (Updated 19/01/18)
« on: January 18, 2018, 02:10:01 PM »
Hi everyone,

This is a theme that combines all the robospin themes from this post into one big easier to manage theme.  I've tried to make it as customisable as possible so there are a lot of options for you to play about with in there.  I'll list the supported systems/displays and what you should call them for it to work out the box though you can just rename the systems .nut file if you prefer.

Amstrad CPC
Atari 2600
Atari 5200
Atari 7800
Atari Lynx
Bandai WonderSwan Color
Bandai WonderSwan
ColecoVision
Commodore 64
Commodore Amiga CD32
Commodore Amiga
Commodore CDTV
GCE Vectrex
Magnavox Odyssey 2
Mattel Intellivision
Microsoft MS-DOS
Microsoft MSX
Microsoft MSX2
NEC PC Engine
NEC PC Engine-CD
NEC SuperGrafx
NEC TurboGrafx-16
NEC TurboGrafx-CD
Nintendo 64
Nintendo DS
Nintendo Entertainment System
Nintendo Famicom Disk System
Nintendo Famicom
Nintendo Game & Watch
Nintendo Game Boy Advance
Nintendo Game Boy Color
Nintendo Game Boy
Nintendo Super Famicom
Nintendo Virtual Boy
ScummVM
Sega 32X
Sega CD
Sega Dreamcast
Sega Game Gear
Sega Genesis
Sega Master System
Sega Mega Drive Japan
Sega Mega Drive
Sega Mega Drive 32x (Newly added)
Sega Mega-CD
Sega SG-1000
Sinclair ZX Spectrum
SNK Neo Geo AES
SNK Neo Geo MVS
SNK Neo Geo Pocket Color
SNK Neo Geo Pocket
Sony PlayStation
Sony PSP Minis
Sony PSP
Super Nintendo Entertainment System

This isn't the finished product so I'll list some bugs/kinks I'm aware of (any help is appreciated):

1) You must exit the theme to another otherwise the layout won't change, this is because the .nut file only loads when the theme loads.  Easy fix is to have a theme on your displays menu and don't scroll through your displays with a button press.
2) Some systems might not show the cartart well, this is for the sytems I struggled to find cartart for so if you can point me in the right direction I'll get it and get it looking right. Some I have done you might not like where they are, apologies.
3) The button guide is limited to PS3, PS4, Xbox 360, Xbox One and Wii U buttons. It also may look funny if you don't use the BebasNeue Book font provided in the zip file.
4) The snap bloom, crt scanline and crt shader don't do anything. Crt scanline does effect one display (I forget which one, an Atari one I think) that I was working on it with, I'm hoping to add it to them all.
5) The option to sweep in boxart works good with the robospin wheel but not the conveyor module, I also think some displays are missing this, this is WIP.

There may be more bugs/kinks, just let me know I'll see if I can fix them.  Now for some of the nice points about the theme:

1) Supports the standard robospin wheel and ArcadeBliss' conveyor module, you can select between the two in the options.
2) You can select PAL or NTSC to change the Game Gear and SNES layouts to show your right region.
3) You have the option for CD's to sweep from behind the case/boxart, rotate, both or stay static.
4) It has option to show the manufacturer logos, player count, play count, filter and list number, genre logo and region logo, some of these or all can be turned off.
5) Button guide if it suits what you use and works well is a nice feature, can easily be turned off if not.
6) Made a nice RetroPie missing wheel logo to replace any missing wheels.

Hope you all enjoy, really looking for feedback on this to try improve it.

19/01/18 - I had been working on the game information and left it in a mess so it didn't work when you turned off the button guide, this is now fixed.

https://mega.nz/#!94lBQaTZ!NB4gPxFFsW8WjAca9IpfO5OjbmpCdcB6XNiKas4M88U

You can find the conveyor module here: http://forum.attractmode.org/index.php?topic=1945.0

Pages: [1] 2 3 ... 6