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.


Topics - iOtero

Pages: [1] 2
1
Themes / iorampage. Theme for Attract-Mode 4:3.
« on: September 05, 2018, 11:38:51 AM »
iorampage. Theme for Attract-Mode 4:3.

Yesterday I was bored and I started to make this layout with an aesthetic based on the game Rampage.

It is a simple theme for any system. (The most sympathetic of the theme is to see George going up and down the list pointing to the games.)

It works in any screen resolution, but is designed to work --and it does better-- in a resolution of 4:3 (640x480, 800x600, 1024x768 ...).

You only have the option to put the logo or the text of the system (or none), a couple of options for the search (you do not need a keyboard, it is the keyboard search by lidquid8d), another to choose if the game information is shown or not and the last one to put, or not, the exploration lines simulating a CRT on the screen of the videos of the games.

Here you can see it:

https://www.youtube.com/watch?v=YK-XnG-VFOs

Since I do not have any 4:3 monitor, I had to put in AM a resolution of 1024x768, so it plays in the upper left corner of my HD monitor, and then cut with ffmpeg to remove the black areas left over. Therefore, when activating or deactivating the layout options, they do not appear correctly in the video.

You can download it here:

https://mega.nz/#!z99VlbQB!RoUu0_HwB-lITxPbhGfX0ftn4lXVvSFH54x_AtVY31s

2
Scripting / A curiosity of a code seen here
« on: August 30, 2018, 11:57:01 AM »
What is the difference between this code:

Code: [Select]
::fe.add_transition_callback(this, "on_transition");
and this one:

Code: [Select]
fe.add_transition_callback(this, "on_transition");

3
Is there a function in AM that returns the language that is selected in attract.cfg?

Something similar to this:
Code: [Select]
local my_lang = what_lang();

Thanks in advance...  :-[

4
ioarcade. Theme designed for the emulation of arcade machines.

I'm still working on it, so for now I'll just upload a video.
When finished, if i see that people are interested and i read objective opinions, i'll upload it to mega.


I designed it to emulate basically arcade machines (MAME, FBA, Zinc, derivatives and similar).

It is inspired on the theme "OlRoom" by Spinelli and Ptiwee, which in turn were based on "My Vintage Room", a theme of the mGalaxy frontend.
But if you compare those issues with this one, you will see that there is only the initial idea of ​​simulating a vintage room.
With the same idea i have almost completed five other themes, specific for consoles, portable consoles, computers, games windows and pinballs, which together with those that i have already uploaded from the system menus (http://forum.attractmode.org/index.php?topic=2370.0) and the jukebox (http://forum.attractmode.org/index.php?topic=2378.0), will form a unified environment.

In the theme options menu, we can choose:

  • The color of the arcade machine between 8 colors, or choose it at random.
  • The color of the background wall between 10 colors, or choose it at random.
  • The type of game selector: Carrier, List, Arc Wheel or Vertical Wheel.
  • The type of information of the games on the screen: Complete, Basic or None.
  • The color of the information text between 10 colors, or choose it at random.
  • The color of the border of the information text between 10 colors, or choose it at random.
  • The color of the text of the List among 5 colors, or choose it at random.
  • The poster on the left among 32 different movie posters, choose it randomly or do not put posters.
  • The poster on the right between 32 different game posters, choose it randomly or do not put posters.
  • The window that will appear to the right of the screen between 6 options, choose it at random, or not put any.
  • Use scanlines on the screen of the arcade machine, or not.
  • The art type of Wheels, between marquee or wheel.
  • The number of Carrier slots.
  • The number of Arc Wheel slots.
  • The number of slots on the Vertical Wheel.
  • The speed of the wheels.
  • The time they will wait to start hiding the selectors of the games and information, or leave them fixed.
  • The time it will take to hide the selectors of the games and information.
  • If we use the Flags of the languages ​​(using the Magic Token [Control]), or not.
  • Use the blind behind the carrier, or not.
  • If we will put a clock on the screen with the local time, or not.
  • If we will put a plant on the screen over the window, or not.
  • If we will put a dark frame after the informative text, or not.
  • The key to start the games search/filtering system (keyboard-search from liquid8d. Thanks, liquid8d).
  • The way to show the search performed, filtering the games, or indicating only the first match.

The films on the posters are:

Aliens, Blade Runner, Carrie, Clockwork Orange, Die Hard, Electric Dreams, First Blood, Indiana Jones And The Temple Of Doom, Jaws, Johhny Got His Gun, Jurassic Park, Labyrinth, Logan's Run, Mad Max, Mannequin, Matrix, Patriot Games, Predator, Pulp Fiction, Robocop, Rollerball, Saturday Night Fever, Star Wars, Terminator, The Dark Crystal, The Godfather, The Karate Kid, The Last Starfighter, The Neverending Story, The Princess Bride, The Thing, Unforgiven

The games of the posters are:

1943, Asteroids, Bubble Bobble, Cadillacs And Dinosaurs, Crystal Castles, Donkey Kong, Doom, Duke Nukem 3D, Epic, Galaga 88, Mega Man, Metal Gear, Metal Slug 2, Monkey Island 2, Mortal Kombat II , Out Run, Pacmania, R-Type, Raiden, Rampage, Samurai Shodown, Sonic The Hedgehog, Space Invaders, Strider, Super Mario Bros 3, Super Metroid, Tempest, Tetris, The Dig, The King Of Fighters 94, The Legend Of Zelda and The Need For Speed.

It is very simple to add more, or change the posters, and in the theme i include a template for it. Also, if it gives you out there and you send me some poster, with a minimum size of 1000 pixels wide, of a movie or a game suitable for the time, i can add it to the Theme.
 
And the video:

https://www.youtube.com/watch?v=KZFELj5JqV4


Last function added: Use the blind behind the carrier, or not.

https://www.youtube.com/watch?v=mifb12X2-qo

A full screen looks better. :P


Example of using the icons with the flags of the countries of the games (or languages). To do this you just have to use the field or Magic Token [Control]

Video: https://www.youtube.com/watch?v=RV9n6UcD7e8

Romlist:

Code: [Select]
bang;Bang!;gaelco;;1998;Gaelco;Shooter;;;USA;;;;;;;
bigkarnk;Big Karnak;gaelco;;1991;Gaelco;Platform;;;English;;;;;;;
biomtoy;Biomechanical Toy ;gaelco;;1995;Gaelco;Platform;;;Portugal;;;;;;;
maniacsq;Maniac Square ;gaelco;;1996;Gaelco;Tetris;;;Korea;;;;;;;
radikalb;Radikal Bikers ;gaelco;;1998;Gaelco;Drive;;;Dutch;;;;;;;
snowboar;Snow Board Championship ;gaelco;;1996;Gaelco;Sports;;;German;;;;;;;
speedup;Speed Up ;gaelco;;1996;Gaelco;Drive;;;French;;;;;;;
splash;Splash! ;gaelco;;1992;Gaelco;Adultos;;;Italy;;;;;;;
squash;Squash;gaelco;;1992;Gaelco;Sports;;;Spanish;;;;;;;
surfplnt;Surf Planet ;gaelco;;1997;Gaelco;Sports;;;Japan;;;;;;;
targeth;Target Hits ;gaelco;;1994;Gaelco;Shooter;;;Brazil;;;;;;;
thoop;Thunder Hoop ;gaelco;;1992;Gaelco;Platform;;;Canada;;;;;;;
wrally;World Rally ;gaelco;;1993;Gaelco;Drive;;;Spanish (Texts);;;;;;;
xorworld;Xor World ;gaelco;;1990;Gaelco;Puzzles;;;Australian;;;;;;;

Note to Oomek:
Thanks for your carrier module, but i have not been able to use it as you programmed it. He did not let me make animations with him, so i had to modify it and include it in my layout to animate it. I hope it does not bother you.

5
Themes / iojukebox Theme, a JukeBox for Attract-Mode.
« on: August 15, 2018, 04:08:04 PM »
iojukebox Theme, a JukeBox for Attract-Mode.

Version 09/2018

Updated: 09/01/2018
The number of background videos is increased to 16.
The graphic files of the wallpapers are removed. They are changed by color schemes, increasing to 16 options.


This jukebox is based on the jukebox-pzin of comrade JosepZin.
Without his work, this theme would never have seen the light. Thanks friend.


Here you can see it running.
I've uploaded it to vimeo, because youtube put obstacles:
https://vimeo.com/285125523

And this video is demonstrative of the Random function, which i forgot to include in the previous one:
https://www.youtube.com/watch?v=v4bO7VJgnzE


And another with the last option that i have added, the background videos:
https://vimeo.com/286896131

Screenshots:






Some important details:
  • You do not need to use any Attract-Mode module, the ones you need already have them incorporated..
  • You do not need an external player, use only the internal Attract-Mode code.
  • Play the following music formats: mp3, wma, ogg and m4a.
  • The player has its own Play List and options: Play /Stop, Next, Prev, Loop and Random.
  • You can choose a video to mix it with the background of the screen among 16 options, or choose them randomly.
  • You can choose the scheme colors of the screen among 16 options, or choose them randomly.
  • You can choose the color...
    • Of the titles of the main album and the lists
    • Of the text of the album song lists
    • Of the text of the music player
    • Of the text of the playlists.
    • Or randomly choose any of them.
    • You can set the transparency of the wallpaper (0-255).
      If it is set to 0, only the video is displayed, and if it is set to 255, only the background is visible.
      Both work, but only one is seen. To hide the video or wallpaper it is better to use the "none" option that is included.
  • And, to work properly, you have to follow the following instructions point by point...

INSTRUCTIONS:

SYSTEM:
   
In Attract-Mode create a new "JukeBox" system where you have the rest of the systems, and create the folder where they will go roms (*.m3u) and wheels (*.jpg).
As an example, in these instructions, the path would be "E:\arcade\systems\jukebox\"

In the folder "\Emulators\" inside Attract-Mode, create a JukeBox.cfg like this:

Code: [Select]
# Generated by Attract-Mode v2.4.0
#
# executable         E:\arcade\systems\jukebox\JukeBox.exe
# args               "[romfilename]"
rompath              E:\arcade\systems\jukebox\roms
romext               .m3u
system               JukeBox
artwork    flyer     E:\arcade\systems\jukebox\flyer
artwork    marquee   E:\arcade\systems\jukebox\marquee
artwork    snap      E:\arcade\systems\jukebox\snap
artwork    wheel     E:\arcade\systems\jukebox\wheel
   
Or this, if you use relative paths:

Code: [Select]
# Generated by Attract-Mode v2.3.0
#
# executable           ..\..\arcade\systems\jukebox\JukeBox.exe
# args                 "[romfilename]"
rompath              ..\..\arcade\systems\jukebox\roms
romext               .m3u
system               JukeBox
artwork    flyer     ..\..\arcade\systems\jukebox\flyer
artwork    marquee   ..\..\arcade\systems\jukebox\marquee
artwork    snap      ..\..\arcade\systems\jukebox\snap
artwork    wheel     ..\..\arcade\systems\jukebox\wheel

Since this layout does not use any external program, "executable" and "args" are not necessary, so they are commented with #.

ESSENTIAL FORMATS:

This JukeBox does not use tags of any kind, it only uses the names of folders and files.

For the system to work correctly:

  • There can not be more than one level of folders, all album folders must be together.
    Wrong: "E:\my music\Rock\Tom Odell - Long Way Down - 2013"
    Correct: "E:\my music\Tom Odell - Long Way Down - 2013".
  • The format of the folder must be "Singer - Album - Year", without special characters.
    In Spanish, the letters ñ, á, é, í, ó and ú should not be used.
    Correct: "Tom Odell - Long Way Down - 2013".
    Wrong: "1988 - Unidos - Miguel Ríos".
  • The songs must be named in this order and format #Track - Artist - Title.
    For example: "03 - Tom Odell - Another Love.m4a" and they can carry special characters.
  • In each of the album folders there must be a file with the name "folder.jpg", or any other name, but only one file *.jpg per folder,
    which should be the cover of the album, and is what will be shown on the screen.

GENERATION OF LISTS:

The file "create_lists.cmd" serves to generate the lists with the music: create the m3u (roms) the wheels (* .jpg) and the romlist. No need to generate anything with Attract-Mode.

Before executing "create_lists.cmd", edit it and modify the paths you are going to use:

  • set musicfolder = [Path of your music files: mp3, ogg, m4a or wma]
  • set output = [Path to where the .m3u lists will be created (the "roms" of your JukeBox system)]
  • set screenshots = [Route the covers of the disks, the files "folder.jpg" (that is the "wheels" of your JukeBox system)]
  • set musiclist = [Path where the archives of the rosettes of attract-mode are]
Example:

  • set musicfolder=F:\JukeBox
  • set output=E:\arcade\systems\jukebox\roms
  • set screenshots=E:\arcade\systems\jukebox\wheel
  • set musiclist=E:\arcade\attract\romlists

KEY ASSIGNMENT:

Assign these keys in Attract-Mode:

  • Custom1 --> Space
  • Custom2 --> L
  • Custom3 --> R
  • Custom4 --> LAlt
  • Custom5 --> LShift
  • Custom6 --> RShift
  • Next Favourite --> RControl
  • Prev Favourite --> LControl
  • Toggle Movie --> H
  • Screenshot --> S

The keys to be used appear in the on-screen help when pressing the H key and are the following:

  • Scroll through the albums: left and right
    (not up and down as in the other Attract-Mode systems).
  • Put an album in the playlist: Select.
  • Toggle Playlist/Albumlist: Left Alt.
  • Stop, play, a song: Space.
  • Loop: L.
  • Random: R.
  • Previous song:Left Control.
  • Next song: Right Control.
  • Move the playlist up:  Right Shift.
  • Move the playlist below: Left Shift.
  • Search and filter a string: S.

As you can see, you can easily change this key assignment. Of course, the help, unless you edit the layout code, will not be usable.

And if after all this long and heavy story that i have told you, you are still interested, you can download it here:

https://mega.nz/#!blVyVKrJ!wSxM2YyYBKYdKojieBNIe9TIfrEtUyPb1ZWS0x32Ti0
-- Updated 09/01/2018

6
Themes / iomenu, Theme to create the Main System Menu (full)
« on: August 11, 2018, 08:12:22 AM »
iomenu Theme for Systems Menu.

Well, I've still finished it, although basically I only lack the texts of most systems, the system works quite well.

I am Basque and Spanish, so the descriptions texts that appear, of course, are in Spanish.
If I had found the files with the texts in English, i would have put them, but i only found games, not systems.

Attract-Mode 2.4 is needed, with the previous ones it will not work correctly.

You can see it here:

https://www.youtube.com/watch?v=8cci4v6E-u4

The first menu, the main one, can not be modified or put options, at least that I know, works with the options set by default in the theme layout.

In the following menus, the options to choose are two, if the wheel is hidden or not after a few seconds, and the type of information to be displayed:
  • Basic: that's when the video goes full screen and you see in the lower right corner, some basic data of the system.
  • Complete: It is when the video is placed in the upper right and below the details and system information appear.
  • None: When only the system video appears.
Here you have the theme, the attract.cfg, the plugin, the romlists and the site where I got the videos:

https://mega.nz/#!Lw1WnazR!RLgvom45dgsbDZrCofDHWUG9e1Si21zWsewX_vMbwMA



All this is very personalized, but I'm sure you can adapt it to your systems, and if not, you can always ask me to see if I can help you.  8)

And if you think of something interesting to add to the theme, then tell me, to see if it can be done...  :P

7
Scripting / Pause in the wheel
« on: August 08, 2018, 05:53:19 AM »
With this code the wheel (conveyor) of the layout fades when you stop moving it.

What I want to do is that, between the fact that the wheel stopped moving and that it started to disappear, it will be x milliseconds.

Code: [Select]

first_tick <- 0;
stop_fading <- true;
my_delay <- 600;

function wheel_a_fade_transition(ttype, var, ttime)
{
if(ttype == Transition.ToNewSelection)
first_tick = -1;
}
fe.add_transition_callback("wheel_a_fade_transition");

function wheel_a_alpha(ttime)
{
if(first_tick == -1)
{
stop_fading = false;
}

if(!stop_fading)
{
local elapsed = 0;

if(first_tick > 0)
{
elapsed = ttime - first_tick;
}

local count = conveyor.m_objs.len();

for(local i=0; i < count; i++)
{
if(elapsed > 0)
{
if(i == count/2)
{
conveyor.m_objs[i].alpha =(255 *(my_delay - elapsed)) / my_delay;
}
else
{
conveyor.m_objs[i].alpha =(150 *(my_delay - elapsed)) / my_delay;
}
}
}

if(elapsed > my_delay)
{
stop_fading = true;
}

if(first_tick == -1)
{
first_tick = ttime;
}
}

}
fe.add_ticks_callback("wheel_a_alpha");



Any suggestions?

8
Scripting / Animate flyer from position x,y to position x+400,y+400
« on: August 04, 2018, 09:50:44 AM »
Well, with animate.nut i managed to make horizontal animations:

Code: [Select]
::OBJECTS <- {artwk = fe.add_image("objs/emulators/[Emulator]", flx*0.75, fly*0.005, flw*0.25, flh*0.162)}
local move_artwk1 = {when = Transition.ToNewSelection, property = "x", start = OBJECTS.artwk.x + OBJECTS.artwk.width, end = OBJECTS.artwk.x, time = 1}
local move_artwk2 = {when = When.ToNewSelection, property = "x", start = OBJECTS.artwk.x, end = OBJECTS.artwk.x + (OBJECTS.artwk.width*1.5), time = my_time, delay=my_delay}
animation.add(PropertyAnimation(OBJECTS.artwk, move_artwk1));
animation.add(PropertyAnimation(OBJECTS.artwk, move_artwk2));

and vertically:

Code: [Select]
::OBJECTS <- {surface = fe.add_surface(sw, sh)}
local daframe = OBJECTS.surface.add_image("objs/frames/frame_red.png", 0, 0, sw, sh);
local title = OBJECTS.surface.add_text("[Title]", sx*0.001+1, sy*0.2+1, sw*0.75, sh*0.01);
local move_surface1 = {when = Transition.ToNewSelection, property = "y", start = flh, end = OBJECTS.surface.y, time = 1}
local move_surface2 = {when = When.ToNewSelection, property = "y", start = OBJECTS.surface.y, end = flh, time = my_time, delay=my_delay}
animation.add(PropertyAnimation(OBJECTS.surface, move_surface1));
animation.add(PropertyAnimation(OBJECTS.surface, move_surface2));

And now i want to move an object from the center of the screen to the lower right corner (from position x,y to position x+400,y+400), and i do not know if it can be done.

And it does not matter to me that first it moves horizontally and then vertically or that it goes directly diagonally, but yes, in a single movement of the wheel

Any ideas to do it?

9
Scripting / Filter when filling an array (Solved)
« on: August 01, 2018, 08:19:57 AM »
This code filled games_db array with ALL the roms in the rom path:

Code: [Select]
// games filter
local dir = DirectoryListing(system_rom_path);

local games_db = [];

// FILTER i do not know how to apply
local sel_game = "GUN";

foreach (dir_name in dir.results)
{
// strip
local f = txt.loadFile(dir_name);
local aa = [];
local i = 1;
foreach(line in f.lines)
{
// track
local a = split(line, "\\"); // split path-file for "/"
local title = strip(a.pop().slice(0, -4)); // only filename, without ext
local folder = strip(a.pop());            // path folder

aa.push(
{
"filename" : line,
"folder" : folder,
"title" : title,
  });
   i++;
}

games_db.push(aa);
}


What I need is to just fill in games_db with the rom that contain the string "GUN" in their filename.

Any suggestions?

10
Scripting / Attract-Mode BUG: Listbox not fade correctly.
« on: July 17, 2018, 10:33:53 AM »
I use this code to fade a listbox after 3.5 seconds:

Code: [Select]
local flx = fe.layout.width;
local fly = fe.layout.height;
local flw = fe.layout.width;
local flh = fe.layout.height;

// Listbox
if(my_config["wheel_type"] == "listbox")
{
::OBJECTS <- {lbx = fe.add_listbox(flx*0.76, fly*0.33, flw*0.20, flh*0.64)}
OBJECTS.lbx.rows = 21;
OBJECTS.lbx.charsize = 24;
OBJECTS.lbx.align = Align.Centre;
OBJECTS.lbx.selbg_alpha = 0;
OBJECTS.lbx.set_selbg_rgb(255,255,255);
OBJECTS.lbx.set_rgb(0,0,0);
OBJECTS.lbx.set_sel_rgb(255,255,255);

// Fade Listbox
local move_lbx1 = { when = Transition.ToNewSelection, property = "alpha", start = 0, end = 255, time = 1} 
local move_lbx2 = { when = When.ToNewSelection, property = "alpha", start = 255, end = 0, time = 2500, delay = 3500} 
animation.add(PropertyAnimation(OBJECTS.lbx, move_lbx1));
animation.add(PropertyAnimation(OBJECTS.lbx, move_lbx2));
}

But it does not fade correctly.

The rest of the listbox fades correctly, but the selected field in the listbox remains visible.

It seems totally an Attract-Mode bug.

Does anyone know why this happens?

Is there any solution?

Edit: The bug has been confirmed in "Bug Reports" by Oomek. As soon as there is a solution, I will communicate it here.

11
Scripting / Two functions to create boxes and frames
« on: July 11, 2018, 06:45:40 AM »
It seems to me that AM does not have functions for this, so if someone can be useful, two functions to create boxes and frames:

Code: [Select]
// Two functions to create boxes and frames
//
// First: Create a white png 1x1 pixels sized. Save as "white_point.png"
// Create a folder named objs in your layout and copy "white_point.png" into it.
//
// Function draw_box(box_x,box_y,box_w,box_h,box_r,box_g,box_b,box_a,box_s)
//
// box_x --> The x coordinate of the top left corner of the box (in layout coordinates).
// box_y --> The y coordinate of the top left corner of the box (in layout coordinates).
// box_w --> The width of the box (in layout coordinates).
// box_h --> The height of the box (in layout coordinates).
// box_r --> Set red colour level for the box. Range is 0-255.
// box_g --> Set green colour level for the box. Range is 0-255.
// box_b --> Set blue colour level for the box. Range is 0-255.
// box_a --> Set alpha level for the box. Range is 0-255.
// box_s --> Width of the box shadow (in layout coordinates). Set 0 for no shadow.

function draw_box(box_x,box_y,box_w,box_h,box_r,box_g,box_b,box_a,box_s)
{
if(box_s != 0)
{
local bflw = fe.layout.width;
local bflh = fe.layout.height;

local dbox = fe.add_image("objs/sys/white_point.png", box_x+box_s, box_y+box_s, box_w, box_h);
dbox.set_rgb(0,0,0);
dbox.alpha=255;
}

local dbox = fe.add_image("objs/sys/white_point.png", box_x, box_y, box_w, box_h);
dbox.set_rgb(box_r,box_g,box_b);
dbox.alpha=box_a;

}

// Function draw_frame(box_x,box_y,box_w,box_h,box_r,box_g,box_b,box_a,box_s)
//
// frame_x --> The x coordinate of the top left corner of the frame (in layout coordinates).
// frame_y --> The y coordinate of the top left corner of the frame (in layout coordinates).
// frame_w --> The width of the frame (in layout coordinates).
// frame_h --> The height of the frame (in layout coordinates).
// frame_r --> Set red colour level for the frame. Range is 0-255.
// frame_g --> Set green colour level for the frame. Range is 0-255.
// frame_b --> Set blue colour level for the frame. Range is 0-255.
// frame_a --> Set alpha level for the frame. Range is 0-255.
// frame_fw --> The Width of the border of the frame (in layout coordinates).
// frame_fh --> The Height of the border of the frame (in layout coordinates).

function draw_frame(frame_x,frame_y,frame_w,frame_h,frame_r,frame_g,frame_b,frame_a,frame_fw,frame_fh)
{
local dframe1 = fe.add_image("objs/white_point.png", frame_x, frame_y, frame_w, frame_fh);
dframe1.set_rgb(frame_r,frame_g,frame_b);
dframe1.alpha=frame_a;

local dframe2 = fe.add_image("objs/white_point.png", frame_x, frame_y+frame_h, frame_w, frame_fh);
dframe2.set_rgb(frame_r,frame_g,frame_b);
dframe2.alpha=frame_a;

local dframe3 = fe.add_image("objs/white_point.png", frame_x, frame_y, frame_fw, frame_h);
dframe3.set_rgb(frame_r,frame_g,frame_b);
dframe3.alpha=frame_a;

local dframe4 = fe.add_image("objs/white_point.png", frame_x+frame_w, frame_y, frame_fw, frame_h+frame_fh);
dframe4.set_rgb(frame_r,frame_g,frame_b);
dframe4.alpha=frame_a;
}

// Example: Draw two boxes and one frame
local flx = fe.layout.width;
local fly = fe.layout.height;
local flw = fe.layout.width;
local flh = fe.layout.height;
draw_box(flx*0.3, fly*0.3, flw*0.5, flh*0.5, 175, 175, 175, 255,flw*0.005);
draw_box(flx*0.35, fly*0.35, flw*0.4, flh*0.4, 135, 175, 50, 150,0);
draw_frame(flx*0.35, fly*0.35, flw*0.4, flh*0.4, 255, 0, 0, 255, flw*0.002, flh*0.003);

12
Scripting / Animate a Shuffle List
« on: June 28, 2018, 03:35:00 PM »
I want to make an animation of a Shuffle List made with the keilmillerjr module.

It is this:

Code: [Select]
// List
if (my_config["wheel_type"] == "list")
{

fe.load_module("shuffle");

local list = Shuffle(10, "text", "[Title]");

list.slots[0].set_pos(flx*0.75, fly*0.17, flw*0.25, flh*0.042);
list.slots[0].set_rgb(R,G,B);
list.slots[0].charsize = font_list_size;
list.slots[0].align = my_align;

list.slots[1].set_pos(flx*0.75, fly*0.20, flw*0.25, flh*0.042);
list.slots[1].set_rgb(R,G,B);
list.slots[1].charsize = font_list_size;
list.slots[1].align = my_align;

list.slots[2].set_pos(flx*0.75, fly*0.23, flw*0.25, flh*0.042);
list.slots[2].set_rgb(R,G,B);
list.slots[2].charsize = font_list_size;
list.slots[2].align = my_align;

list.slots[3].set_pos(flx*0.75, fly*0.26, flw*0.25, flh*0.042);
list.slots[3].set_rgb(R,G,B);
list.slots[3].charsize = font_list_size;
list.slots[3].align = my_align;

list.slots[4].set_pos(flx*0.75, fly*0.29, flw*0.25, flh*0.042);
list.slots[4].set_rgb(R,G,B);
list.slots[4].charsize = font_list_size;
list.slots[4].align = my_align;

list.slots[5].set_pos(flx*0.75, fly*0.32, flw*0.25, flh*0.042);
list.slots[5].set_rgb(R,G,B);
list.slots[5].charsize = font_list_size;
list.slots[5].align = my_align;

list.slots[6].set_pos(flx*0.75, fly*0.35, flw*0.25, flh*0.042);
list.slots[6].set_rgb(R,G,B);
list.slots[6].charsize = font_list_size;
list.slots[6].align = my_align;

list.slots[7].set_pos(flx*0.75, fly*0.38, flw*0.25, flh*0.042);
list.slots[7].set_rgb(R,G,B);
list.slots[7].charsize = font_list_size;
list.slots[7].align = my_align;

list.slots[8].set_pos(flx*0.75, fly*0.41, flw*0.25, flh*0.042);
list.slots[8].set_rgb(R,G,B);
list.slots[8].charsize = font_list_size;
list.slots[8].align = my_align;

list.slots[9].set_pos(flx*0.75, fly*0.44, flw*0.25, flh*0.042);
list.slots[9].set_rgb(R,G,B);
list.slots[9].charsize = font_list_size;
list.slots[9].align = my_align;


class ShufflePow extends Shuffle
{
function select(slot)
{
slot.visible = true;
}

function deselect(slot)
{
slot.visible = false;
}
}

local my_pointer = my_config["set_marker_rgb"] + ".png";

local pow = ShufflePow(10, "image", "pointers/" + my_pointer);

pow.slots[0].set_pos(flx*0.7498, fly*0.18, flw*0.25, flh*0.026);
pow.slots[1].set_pos(flx*0.7498, fly*0.21, flw*0.25, flh*0.026);
pow.slots[2].set_pos(flx*0.7498, fly*0.24, flw*0.25, flh*0.026);
pow.slots[3].set_pos(flx*0.7498, fly*0.27, flw*0.25, flh*0.026);
pow.slots[4].set_pos(flx*0.7498, fly*0.30, flw*0.25, flh*0.026);
pow.slots[5].set_pos(flx*0.7498, fly*0.33, flw*0.25, flh*0.026);
pow.slots[6].set_pos(flx*0.7498, fly*0.36, flw*0.25, flh*0.026);
pow.slots[7].set_pos(flx*0.7498, fly*0.39, flw*0.25, flh*0.026);
pow.slots[8].set_pos(flx*0.7498, fly*0.42, flw*0.25, flh*0.026);
pow.slots[9].set_pos(flx*0.7498, fly*0.45, flw*0.25, flh*0.026);


// Sound
function fade_transitions(ttype, var, ttime) {
switch (ttype) {
case Transition.ToNewSelection:
case Transition.ToNewList:
local Wheelclick = fe.add_sound("pointers/clic.mp3")
Wheelclick.playing=true
break;
}
return false;
}

fe.add_transition_callback("fade_transitions");
}


To animate a normal ListBox, i use objects, as in this example, which makes it disappear on the right after 5 seconds:

Code: [Select]
// Listbox
if (my_config["wheel_type"] == "listbox")
{
::OBJECTS <- {lbx = fe.add_listbox(flx*0.75, fly*0.2, flw*0.25, flh*0.8)}
OBJECTS.lbx.rows = 27;
OBJECTS.lbx.charsize = font_list_size;
OBJECTS.lbx.set_selbg_rgb(Rs,Gs,Bs);
OBJECTS.lbx.set_rgb(R,G,B);
OBJECTS.lbx.set_sel_rgb(R,G,B);
OBJECTS.lbx.sel_style = Style.Bold;

// List Text Align
if (my_config["set_align"] == "centre") OBJECTS.lbx.align = Align.Centre;
if (my_config["set_align"] == "left") OBJECTS.lbx.align = Align.Left;
if (my_config["set_align"] == "right") OBJECTS.lbx.align = Align.Right;

local my_delay = 5000;

local move_lbx1 = { when = Transition.ToNewSelection, property = "x", start = OBJECTS.lbx.x + OBJECTS.lbx.width, end = OBJECTS.lbx.x, time = 1 }
local move_lbx2 = { when = When.ToNewSelection, property = "x", start = OBJECTS.lbx.x, end = OBJECTS.lbx.x + OBJECTS.lbx.width, time = 595, delay=my_delay }
animation.add(PropertyAnimation(OBJECTS.lbx, move_lbx1));
animation.add(PropertyAnimation(OBJECTS.lbx, move_lbx2));
}

Well, i would like the Shuffle List to do the same, but i do not know how.

keilmillerjr, please tell me if it can be done or not, thank you.

13
Themes / Help with the language.
« on: June 18, 2018, 02:19:36 PM »
Using the Spanish language in Attract-Mode, when the name does not have special characters, it looks good:



They see the title and the flyer perfectly.

But if it bears some special character, typical of the Spanish language, as in the following case, the title is perfectly read (including the special character), but it does not read the flyer, whose name on the hard disk also carries the special character.



Can someone tell me why this happens and how to solve it?

Thanks in advance.

14
Themes / Layout background design
« on: June 17, 2018, 02:08:33 AM »
I am preparing a layout with the following backgrounds:








I know I'm not very good at this ... But here there are very good people in it.

That's why I ask for your help, to see if you can suggest any combination of colors or alternatives to the design of mine.

What can not be modified are the measures or the margins, otherwise I would have to modify all my code and that is not desirable.

Thanks in advance for your help.

15
How to change the keys up and down for left and right in one theme layout and only for that?

I work in a layout with a coverflow (with "conveyor_helper" ;) ), and to go from game to game i use, as in the other layout, up and down.

IWould it be possible to set an option to change the keys in ch.CoverFlow of conveyor_helper?

Yhe best would be to use left and right, but i do not know how to define that in attrac-mode without changing it in the rest of layouts.

Sorry for my very bad english,  :-[

Pages: [1] 2