Author Topic: Handheld Desktop Layouts  (Read 15878 times)

mahuti

  • Administrator
  • Sr. Member
  • *****
  • Posts: 252
    • View Profile
    • Github Repositories
Handheld Desktop Layouts
« 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
« Last Edit: February 02, 2021, 01:46:14 AM by mahuti »

mahuti

  • Administrator
  • Sr. Member
  • *****
  • Posts: 252
    • View Profile
    • Github Repositories
Desktop Gameboy
« Reply #1 on: January 15, 2017, 01:40:25 AM »
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
« Last Edit: January 20, 2021, 07:55:59 PM by mahuti »

mahuti

  • Administrator
  • Sr. Member
  • *****
  • Posts: 252
    • View Profile
    • Github Repositories
Desktop Gameboy Color
« Reply #2 on: January 15, 2017, 01:44:51 AM »
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
« Last Edit: January 20, 2021, 07:57:32 PM by mahuti »

mahuti

  • Administrator
  • Sr. Member
  • *****
  • Posts: 252
    • View Profile
    • Github Repositories
Desktop Gameboy Advance
« Reply #3 on: January 15, 2017, 01:47:22 AM »
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
« Last Edit: January 20, 2021, 07:59:25 PM by mahuti »

mahuti

  • Administrator
  • Sr. Member
  • *****
  • Posts: 252
    • View Profile
    • Github Repositories
Desktop NeoGeo Pocket
« Reply #4 on: January 15, 2017, 01:49:54 AM »
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
« Last Edit: January 20, 2021, 08:01:10 PM by mahuti »

bundangdon

  • Sr. Member
  • ****
  • Posts: 212
    • View Profile
Re: Handheld Desktop Themes
« Reply #5 on: January 15, 2017, 06:37:47 AM »
Very nice! Just wish that they were available in 16x9 :)

mahuti

  • Administrator
  • Sr. Member
  • *****
  • Posts: 252
    • View Profile
    • Github Repositories
Re: Handheld Desktop Themes
« Reply #6 on: January 15, 2017, 09:52:00 AM »
Maybe one of these days

liquid8d

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 442
    • View Profile
Re: Handheld Desktop Themes
« Reply #7 on: January 15, 2017, 11:50:51 AM »
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:

Code: [Select]
//
// 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!

mahuti

  • Administrator
  • Sr. Member
  • *****
  • Posts: 252
    • View Profile
    • Github Repositories
Re: Handheld Desktop Themes
« Reply #8 on: January 15, 2017, 12:53:06 PM »
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.

ganondork

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Handheld Desktop Themes
« Reply #9 on: March 07, 2017, 05:11:34 AM »
Hey there! Awesome Layouts! Is there any progress with 16:9? Would love to use these!

mahuti

  • Administrator
  • Sr. Member
  • *****
  • Posts: 252
    • View Profile
    • Github Repositories
Re: Handheld Desktop Themes
« Reply #10 on: March 08, 2017, 07:17:59 AM »
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.

KAOS2007B

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Handheld Desktop Themes
« Reply #11 on: April 23, 2017, 01:23:36 AM »
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

mahuti

  • Administrator
  • Sr. Member
  • *****
  • Posts: 252
    • View Profile
    • Github Repositories
Re: Handheld Desktop Themes
« Reply #12 on: April 28, 2017, 03:54:03 AM »
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.

mahuti

  • Administrator
  • Sr. Member
  • *****
  • Posts: 252
    • View Profile
    • Github Repositories
Re: Handheld Desktop Themes
« Reply #13 on: January 20, 2021, 08:03:39 PM »
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.

Yaron2019

  • Guest
Re: Handheld Desktop Themes
« Reply #14 on: January 21, 2021, 05:06:33 AM »
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?