Attract-Mode Support Forum
Attract-Mode Support => Themes => Topic started by: mahuti on January 15, 2017, 01:39:14 AM
-
I created several layouts for handhelds living in their natural environments. On desks.
All use snaps and wheel art. Most use 2-d boxart. A few use advertising flyers. All have optional scanlines. Wheel art, flyers, logos, boxart are all optional
All of these themes are scalable to any size
So far I have layouts for the following
Gameboy https://github.com/mahuti/Gameboy
Gameboy Color https://github.com/mahuti/Gameboy-Color
Gameboy Advance https://github.com/mahuti/Gameboy-Advance
Atari Lynx https://github.com/mahuti/Atari-Lynx
NeoGeo Pocket https://github.com/mahuti/Neo-Geo-Pocket
-
Desktop Gameboy
- Snap: black and white video snaps from emumovies (the green color is added automatically)
- boxart: 2d boxart
- Wheel: wheel logos
- flyer: gameboy flyers
- Standard images are angled dynamically
- If 2d boxart is not found, original Gameboy box is shown
This has been updated and will now work on all screen sizes
https://github.com/mahuti/Gameboy
-
Desktop Gameboy Color
- Snap: video snaps
- boxart: 2d boxart
- Wheel: wheel logos from hyperspin
- Standard images are angled dynamically
- If 2d boxart is not found, original gameboy color box and cartridge pile is shown
This has been updated and will now run on all screen sizes
https://github.com/mahuti/Gameboy-Color
-
Desktop Gameboy Advance
- Snap: video snaps
- boxart: 2d boxart
- Wheel: wheel logos
- 2d boxart is optional
This has been updated and will now run on all screen sizes
https://github.com/mahuti/Gameboy-Advance
-
Desktop NeoGeo Pocket
- Snap: video snaps from emumovies
- Wheel: wheel logos from hyperspin
This has been updated and will now run on all screen sizes
https://github.com/mahuti/Neo-Geo-Pocket
-
Very nice! Just wish that they were available in 16x9 :)
-
Maybe one of these days
-
hey mahuti,
These look great! You can easily start implementing multiple aspects if you store your values for each aspect in a table. Here is an example with the neogeo pocket one:
//
// NeoGeo Pocket
// Theme by Mahuti
//
class UserConfig {
</ label="Aspect", help="Aspect to use", order=1, options="4x3,16x9" />
aspect="4x3";
</ label="Enable Logos", help="If wheel images/logos aren't used, game titles will be shown instead.", order=1, options="show logos, show titles" />
enable_logos="show logos";
}
local config = fe.get_config();
local flw = fe.layout.width;
local flh = fe.layout.height;
local settings = {
"4x3": {
bg = { x = 0, y = 0, width = flw, height = flh },
snap = { x = flw * 0.327, y = flh * 0.238, width = flw * 0.3437, height = flh * 0.43 },
wheel = { x = flw * 0.75, y = flh * 0.88, width = flw * 0.2, height = flh * 0.1 },
title = { x = 0, y = flh * 0.92, width = flw, height = flh * 0.1 },
playtime = { x = flw * 0.01, y = flh * 0.93, width = flw * 0.4, height = flh * 0.1 },
scanlines = { x = flw * 0.327, y = flh * 0.238, width = flw * 0.3437, height = flh * 0.43 }
}
}
//Background
local bg = fe.add_image("bg.jpg", settings[aspect].bg.x, settings[aspect].bg.y, settings[aspect].bg.width, settings[aspect].bg.height);
// Snap
local snap = fe.add_artwork("snap", settings[aspect].snap.x, settings[aspect].snap.y, settings[aspect].snap.width, settings[aspect].snap.height);
snap.trigger = Transition.EndNavigation;
if ( config["enable_logos"] == "show logos" )
{
// wheel
local wheel = fe.add_artwork("wheel", settings[aspect].wheel.x, settings[aspect].wheel.y, settings[aspect].wheel.width, settings[aspect].wheel.height);
wheel.preserve_aspect_ratio = true;
wheel.trigger = Transition.EndNavigation;
wheel.zorder=100;
wheel.alpha = 140;
} else {
// Title
local title = fe.add_text("[Title]", settings[aspect].title.x, settings[aspect].title.y, settings[aspect].title.width, settings[aspect].title.height);
title.align = Align.Right;
title.charsize = 24;
title.set_rgb(247, 35, 0);
title.font = "Pretendo";
}
// Playtime
local playtime = fe.add_text("Playtime : [PlayedTime]", settings[aspect].playtime.x, settings[aspect].playtime.y, settings[aspect].playtime.width, settings[aspect].playtime.height);
playtime.align = Align.Left;
playtime.charsize = 20;
playtime.set_rgb(255, 255, 255);
// Scanlines
local scanlines = fe.add_image("scanlines.png", settings[aspect].scanlines.x, settings[aspect].scanlines.y, settings[aspect].scanlines.width, settings[aspect].scanlines.height );
scanlines.preserve_aspect_ratio = false;
scanlines.alpha = 130;
Notice, all I did was add a setting for aspects, created a table with all the values you had, then instead of hardcoding the values when creating objects - use the reference of settings[aspect] for each object property. Now you can add settings for different aspects by just adding another table entry into the settings table ( i.e. 16x9, etc.. ) with their own values to adjust object positioning for that aspect. You could even add other values that you might want to change depending on the aspect.
I hope this helps you and others understand how to make supporting multiple aspects easier - if you need help, just let me know!
-
I understand. I had already started adjusting the positioning methodology to do more automatic calculations. Just going to take some time to go back and adjust the artwork and refactor the code.
-
Hey there! Awesome Layouts! Is there any progress with 16:9? Would love to use these!
-
Yes. I need to do some testing. I've been rewriting my base template to accommodate different widths. I'm trying to get my OlRoom 4x3 themes working in wide orientations first though.
-
Yes. I need to do some testing. I've been rewriting my base template to accommodate different widths. I'm trying to get my OlRoom 4x3 themes working in wide orientations first though.
I offer myself to tester 1360x768 (10: 9) resolution most unfortunately forgotten for cheap lcd screen holders HDReady sniff sniff
-
I read this. I have a widescreen LCD sitting around. I've been meaning to do some work on themes lately but have been uninspired. This will give me something to do. I need to go back and re-look at my theme scaling stuff.
-
I've updated these layouts. They will all now run on any size monitor. I also spent some time to make them all look like they come from the same theme, added a few options and details.
-
I downloaded the latest Gameboy advance master and pos module.
Running it on a 16x9 screen. This is how it is supposed to be - with the game logo under the device?
-
Yes.... and no. I'll make a tweak and push it back up.
-
OK. I made some adjustments. Take a look at the attached.
Off subject... "Let's Ride: Friends Forever"
-
OK. I made some adjustments. Take a look at the attached.
Off subject... "Let's Ride: Friends Forever"
Works well.
She likes horses, what can I do ;D
-
I can't talk any smack whatsoever. One of my favorite games of all time was Animal Crossing on the Gamecube. It's so dumb, but I played it so much.
Glad it's working well. The original versions couldn't scale outside of 4:3 making them complete crap. Drove me crazy to know that they existed in such a state.
-
Desktop Atari Lynx
This layout has a selectable version of the original or newer Atari Lynx, optional boxart, wheel logos and scanlines
Snap: video snaps from emumovies
Wheel: wheel logos from emumovies
Boxart: boxart from emumovies
https://github.com/mahuti/Atari-Lynx
-
One final one. If anyone wants any other versions, let me know. Until then, this is the last handheld I'm working on for now.
Desktop Sega Gamegear
This layout has optional boxart, wheel logos, GPK cards and scanlines
Snap: video snaps
Wheel: wheel logos
Boxart: boxart
https://github.com/mahuti/Gamegear
-
Thanks 8)