Frontends & Launchers: Difference between revisions

From Retroid Handhelds
Jump to navigationJump to search
Line 109: Line 109:
<li><strong> LDPlayer4</strong> (free) https://www.ldplayer.net/blog/ldplayer-4-review.html Android emulator for PC. Not necessary but makes it easier to preview your theme's layout without needing to transfer the file to your handheld to test it. This guide is going to be based around this emulator.</li>
<li><strong> LDPlayer4</strong> (free) https://www.ldplayer.net/blog/ldplayer-4-review.html Android emulator for PC. Not necessary but makes it easier to preview your theme's layout without needing to transfer the file to your handheld to test it. This guide is going to be based around this emulator.</li>
<li><strong> Paint.net</strong> (free) https://www.getpaint.net/download.html but if you have Photoshop that will work too.</li>
<li><strong> Paint.net</strong> (free) https://www.getpaint.net/download.html but if you have Photoshop that will work too.</li>
<li><strong> GridCheckerboard plugin</strong>https://forums.getpaint.net/topic/1964-grid-maker-plugin-v30-updated-july-2-2014/ for paint.net (free) this will allow to measure elements on screen at a glance. (60 pixel is a good grid to begin with).</li>
<li><strong> GridCheckerboard plugin </strong>https://forums.getpaint.net/topic/1964-grid-maker-plugin-v30-updated-july-2-2014/ for paint.net (free) this will allow to measure elements on screen at a glance. (60 pixel is a good grid to begin with).</li>
<li>A theme you like and wish to edit and customize, put it on your desktop for easy access. Themes can be found on the <strong>DIG forums</strong> https://digdroid.com/forums/categories/themes, some on <strong>/r/retroid</strong> https://www.reddit.com/r/retroid and here in the <strong>wiki</strong>.</li>
<li>A theme you like and wish to edit and customize, put it on your desktop for easy access. Themes can be found on the <strong>DIG forums</strong> https://digdroid.com/forums/categories/themes, some on <strong>/r/retroid</strong> https://www.reddit.com/r/retroid and here in the <strong>wiki</strong>.</li>
<li>A <strong>DIG apk</strong> either extracted from your phone, RP2 or downloaded and copied to your PC.</li>
<li>A <strong>DIG apk</strong> either extracted from your phone, RP2 or downloaded and copied to your PC.</li>
</ul>
</ul>
===== Things to know =====
===== Things to know =====
<hr />
<hr />

Revision as of 12:20, 29 September 2020

Frontend/Launcher Notes
Pegasus Free. Fast. Immensely and overwhelmingly theme-able (can be skinned to look and behave exactly like any other frontend, given the time and effort). Open-source and actively in development. An absolute pain to configure, and lacks built-in scraping support. Actively being developed (an official Retroid Handhelds launcher is currently being developed with this frontend). Here's a very helpful guide to help you set it up. Dev is optimizing it for the RP2. Not available on the Play Store. Download from here.
Dig Free. Slow. Theme-able. Super easy to configure, and does have built-in scraping. Development has been abandoned and the app is closed-source. Consequently, this will never be able to launch certain emulators like Flycast and the GBA build of Retroarch included on RP2. Pre-installed on the RP2. Available on the Play Store here.
RESET $5. Fast. Not theme-able (yet). Slick and easier than both Pegasus and Dig to configure. Built-in scraping. Actively being developed. Being optimized for the RP2 by the dev, Jav. Available on the Play Store here.
RetroX $12/year. Fast. Theme-able. The easiest to configure. Uses built-in emulator cores, giving you handy universal shortcuts in all of your games. Some systems might be faster in RetroX than on the RP2s pre-installed emulators, while some might be slower (currently). Emulation is less customizable than with other emulators. The subscription covers cloud saves, letting you stay synced across any device you use RetroX on, but its worth noting that internet access is required to open your games. Actively being developed, with a RP2 optimized performance version coming shortly by the dev, Franco Catrin. RetroX offers a 5 day free trial to see if its right for you. Not available on the playstore. Download from RetroX.TV.
ClassicBoy $4. ClassicBoy is an all-in-one emulator that uses RetroArch cores. It has cores for PlayStation, GB, GBC, GBA, Nintendo 64, NES, SEGA, and NeoGeo. Contains standard features like audio settings, and save states. The developer hasn’t updated the app since 2014. It gives you free access to basic functions. Paying the upgrade fee is needed for it to be objectively usable. Pre-installed on the RP2. Available on the Play Store here.

Pegasus Frontend

A full guide can be found here.

Installation

- First you need to allow non trusted APK installs. Open Settings, Security and mark "Unknown sources"

- Download the app in https://pegasus-frontend.org/#downloads and install it in your RP2

Configuration

Pegasus needs to have a file called metadata.pegasus.txt per system to specify which emulator you want to use, this can be a bit tedious but we've got you covered!

You can download config files for the RP2 emulators here: https://github.com/dragoonDorise/pegasus-rp2-metadata/

All the configs are done using the best emulators as described in this wiki, for DS you should install DraStic, all other systems are emulated with the stock emulators.

FYI: We're still working out the kinks to get N64 configured.

Again, please reference the full guide for a more complete tutorial on Pegasus with the RP2.

Themes

You can use several themes, you would need to create a folder in your SD Card called "pegasus_frontend/themes" and put the theme files in a folder for each theme you want to use.

Here are a couple of Pegasus Themes adapted for the Retroid Pocket's Screen:

[SwitchOS RP2 Edition](https://github.com/dragoonDorise/switchOS)

[gameOS RP2 Edition](https://github.com/dragoonDorise/gameOS)

DIG Frontend

Installation

Download and install from PlayStore https://play.google.com/store/apps/details?id=com.digdroid.alman.dig&hl=en_US.

Configuration

DIG runs out of the box. Allow prompt to access storage as it will need to scan your media to add ROMS.

- The basic interface is pretty intuitive but very simple with no wallpapers.

- Highly recommended to install different themes like the ones linked below or from the https://digdroid.com/forums/categories/themes DIG Forums.

You can also refer to the tutorial video from here.

Basic set-up tutorial for dig (with troubleshooting guide) on Retriod pocket 2: https://youtu.be/45MW6vinmpA

Themes

Copy your desired DIG theme zip file to your device. Do not unzip it as DIG will install themes in zip format.

Themes are installed and selected from within the DIG app in Options tab by clicking on Themes.

- Select "Install theme" and browse the zip file.

- Once installed select the theme from the dropdown menu by clicking "Select theme".


Tutorial for installing themes for DIG on Retriod Pocket 2: https://youtu.be/xzD32TZ_ZRk

[Wii 640x480 based on Riivive v1.1] (https://drive.google.com/file/d/1kz-lFvt7ErDtrpyn3Qcz97L96d3TWIrp/view?usp=sharing)

[Switch 640x480 based on Riivive v1.1] (https://drive.google.com/file/d/1qHdXgRyIeEGwy8ZWkXT2HODcozoufmh3/view?usp=sharing)

[Switch 640x480 Dark based on Riivive v1.1] (https://drive.google.com/file/d/1DhE_LPv5XqXBqVpxjqblAf8w-ycr9938/view?usp=sharing)

[Retro Switch] (https://drive.google.com/file/d/1Vjl3ez9mW7Uk-ySXPXrVrR74jCrFeDYQ/view?usp=sharing)

[Retro Switch Dark] (https://drive.google.com/file/d/1KyzjO81ZC364wNPop5B7hCPB_saxqvmy/view?usp=sharing)

Basic Tutorial for making themes for DIG frontend

This is a basic tutorial and in no way an official tutorial or documentation of DIG frontend.

written by /u/CricoidRiver 2020-09-29 12:25:15 AM, 2690 words.


Table of contents
  • Software you need
  • Things to know
  • Backgrounds
  • Foregrounds
  • Toolbar
  • Audio
  • Text
  • List Type
  • Getting Started
  • Using LDPlayer4 to visualize DIG themes
  • Techniques and tips
  • Example of a theme folder
Software you need

Things to know

  • The majority of DIG themes are formatted for 16:9 phones, tablets or screens but the RP2 displays in 4:3. This will make those themes look cropped on the handheld.
  • There is a lack of documentation and tutorials on how to create themes for DIG. This translates into a lot of trial and error when editing the config and figuring out how items display on the screen. This guide is not ideal in the sense that I took the "what you see is what you get" approach since a lot of config variables are either missing from the configs I checked (like padding, spacing, size, etc.) and adding them manually not always worked nor gave the expected results.
  • This is not a complete tutorial but more of a "one size fits all" approach to theme creation for 4:3 screens. A lot of information is going to be skipped or missed to keep this tutorial somewhat short.
  • Don't forget to credit the author/s of the theme your work is based on!

 

Your DIG theme consists of 7 home screen menu shortcuts. The images used as shortcuts are inside a Home Icons folder. Home screen menu shortcuts will display in the following order named:

 

  • Systems (nes, snes, n64, psx, etc.)
  • Genres (2D, 3D, Action, Arcade, etc.)
  • Collections (games menu lets you create a collection)
  • Favorites (add your favorite games from games menu)
  • Recently Played
  • All Games (games sorted a-z, will fetch backgrounds from currently selected game)
  • Options (lets you customize themes, scan ROMS, fetch covers etc.)

home_icons = "Home Icons"

would be the the config entry for the folder "Home Icons" which is placed in the same root as "Background Default" or as the "config.cfg" file.

name = "theme Retro" lets you edit the name of the config as displayed after installation when selecting it in the dropdown menu in DIG.

author = "Theme Author"
author_contact = "theme%40author.com" personal information.

description = "theme theme"  Description of the theme can also contain credits to other themers or links to assets used in the creation of the theme.

 

Backgrounds

Your DIG theme consists of one main background image and several secondary background images (gif, png, jpg, etc. PNG over JPG prefered for transparency modifications). Each home screen shortcut can have its own background image as well as the gameinfo menu which pops up just before launching a game making it 8 secondary backgrounds you can modify:

  • Background Default
  • Background Home
  • Background Systems
  • Background Collections
  • Background Genres
  • Background Favorites
  • Background Gameinfo
  • Background Options
  • Home Icons
  • config.cfg

These secondary backgrounds will override the default background when properly linked to in the config. Hence the importance to name those png, gif, jpg images and their folders correctly to avoid unnecessary confusion.

Examples:

media_path = "Background Default/BackgroundDefault.png"

This is the config entry for the default background called "BackgroundDefault.png" which will display if no other secondary background is appointed to a menu.

Its a good idea to keep this background very minimal by maybe adding recurring elements like navigation icons, sprites or short texts like "back", "ok" or "select" and then add details to other backgrounds. You can also clone this background to be the same for the other secondary backgrounds.

Consider this your master background, and as such keep an editable paint.net or Photoshop save with editable layers available to add or remove elements, add transparency or invert colors to create a dark mode.

systems_media_path = "Background Systems/BackgroundSystems.png"

This is the background which will now display instead of the default one in the menu "systems".

But there is more.

systems_system_backgrounds = "Background Systems"

Is the path for a background image for each system system background you wish to personalize. Meaning you can have additional backgrounds for every system supported in DIG. gb stands hardcoded for GameBoy, snes for Super Nintendo, psx for Playstation and so forth.

This means an image called "psx.png" inside Background Systems will be displayed if the user selects the Playstation system when browsing inside the Systems menu.


Foreground

Allows you to add a foreground to your backgrounds usually in the way of a semi transparent .png image allowing for advanced effects like shadowing an area or blurring a background. Works very similar to background entries and Foreground images should also be saved in their own Background Foreground folder.

Toolbar

Your DIG frontend supports up to (at least? or more) five toolbar elements which are clickable when displayed.

tool_icons = "Toolbar" links to Toolbar folder for the icons to display inside DIG.

 

  • Background Default
  • Background Home
  • Background Systems
  • Background Collections
  • Background Genres
  • Background Favorites
  • Background Gameinfo
  • Background Options
  • Home Icons
  • Toolbar
  • config.cfg

would be a current breakdown of the example of the root folders of your theme, config.cfg does not need a folder to allow for short path naming when editing in the config file.

genres_toolbar = "icons_top" refers to where the toolbar icons are placed. "icons_bottom" is afaik the only other option together with "default" for the text based menu style toolbar and "none" to disable it.

Since one could just use the homescreen shortcuts to navigate to options toolbar icons are not a necessity and some themers leave them out for a cleaner look on most screens.

icons_toolbar_scale = "15.5" determines the size of the icons. A larger number means smaller icons here.

Home, mediaplay, mediapause, pagemenu, options, systems are the 6 main toolbar icons. Home, Options and Systems are the same as if clicked from the home screen but allow for faster navigation on touchscreens. Mediaplay and mediapause start or stop a themes audio track.

Audio

You can put one or several audio files in the Audio folder and link them via the config entries:

sound = "folder"
sound_path = "Audio"

game_sound_path = "Audio"  Audio being your folder for sounds being played when inside the gameinfo screen.

or

systems_sound = "folder"
systems_sound_path = "Audio" Audio being your folder for sounds being played when inside the systems screen.

  • Audio
  • Background Default
  • Background Home
  • Background Systems
  • Background Collections
  • Background Genres
  • Background Favorites
  • Background Gameinfo
  • Background Options
  • Home Icons
  • Toolbar
  • config.cfg

You can have multiple audio tracks similar to backgrounds for each menu entry but they will quickly increase your theme's size in megabytes.

Text

You can edit text color but it has to be in 8 digit HEX format aka. ffffffff for white. 363636 for grey will not work for example. Again you can edit text color for each menu if needed. Usually there are multiple text edits available for each menu. (Header, description, etc.)

systems_text1 = "ffffffff"
systems_text2 = "ffffffff"

List type

This will determine the way your icons are displayed. They can be displayed in a carousel, coverflow, list, linear, wheel, etc. You can change this from inside DIG by clicking pagemenu icon in the toolbar or by assigning a shortcut on your gamepad via options menu.

systems_list_type = "linear"

this determines what type of "flow" is used for the systems menu. Linear flow in this case. Your consoles and handhelds will display in a linear motion and scroll sideways. Retro Switch theme uses the linear list type by default for all screens.


home_list_type = "grid"

determines the default flow for the home screen. In this case it puts your icons one next to each other in a grid pattern. Also adds a selection animation to the icons by enlarging them when selected. Can be seen in the Wii 640x480 theme.


home_linear_scale = "0.8"
home_linear_spacing = "1"

Scale and spacing is the size of your icons in proportion to other variables like

systems_block_size = "140"

determines the size of your icons and images. A "psx.png" home icon of 100 square pixels becomes 140 square pixels by this formula without further variables.

systems_aspect_ratio = "1.0"

determines the aspect ratio of the systems screen. This allows for interesting editing but is tricky to get it right. A lack of comprehensive padding, margin and centering rules due to lack of documentation is a big issue to succesfully edit a theme. "1.333334" would be a default for the RP2 4:3 screen (4:3=1.333334) but not mandatory for themes that use sidescrolling flows (linear, coverflow, etc.).

 

Getting started

  1. Have enough space on your PC desktop screen to place your theme, apk and programs you need to launch.
  2. Unzip your downloaded theme inside a new folder on your desktop with the same name as the theme. Copy this folder and place it next to the original on your desktop. Always edit the copied folder only, the original helps to copy over lost images or icons or to double check or restore your config if you make a major error.
  3. Fetch the DIG.apk and place it on the desktop next to your copied theme folder.
  4. Install and launch LDPlayer4 and set display size to 230 DPI and 640px width 480px height in the settings like the RP2 has. This will make things you change in the config look just like it would on the RP2.
  5. In LDPlayer4, open the small home screen folder and drag and drop the file manager on the emulators home screen. You are going to click this and the DIG app a lot.
  6. Install the DIG app apk by dragging and dropping it on the emulators homescreen. The DIG icon should pop up near the File Manager app.
  7. Run DIG then exit by closing top side tab.
  8. Start Notepad++. Later when loading your config select edit, line operations, sort lines lexicographically ascending.
  9. Install paint.net and install the GridCheckerboard plugin. Do this by unzipping the plugin and placing the .dll file in programs, paint.net, Effects. Accessible through Effects, Render, Grid menu later on inside paint.net.
  10. Have a basic "ROMS" folder ready that includes a couple unzipped gb, nes, snes, gba, n64 and psx games each in their own subfolder with the same name (gb, snes, n64, etc.) inside a main folder called "ROMS". This will allow DIG to easily load the ROMS when starting up.

 

Using LDPlayer4 to visualize DIG themes

  1. Open LDPlayer4.
  2. Open DIG and click on File Manager tab. Allow root access if prompted.
  3. Click on the left on the 3 horizontal lines (hamburger menu) then select internal shared storage.
  4. Click on Pictures.
  5. Drag and drop your "ROMS" folder here. 
  6. Drag and drop your "theme.zip" file here so that DIG can access and install it later on.
  7. To successfully test your modified themes you will need to delete both the "theme.zip" file located in File Manager->Internal Shared Storage->Pictures and the DIG app by dragging and dropping it to the bin icon on the homescreen after each test run, before installing the theme again.
  8. This is to delete the DIG cache and config file it locally stores which would stop the updated version to be loaded correctly.
  9. After you made and saved your edits to the theme config, editing folders, adding/removing background images, icons, etc, create a zip archive by selecting every folder (Background Default, Background Systems, Home Icons, Toolbar, etc.) and the config file.
  10. DO not zip the folder holding the Background Default, Home Icons or config file, zip them by selecting them individually. DIG will not be able to install the theme otherwise. Make sure to delete the old archive first which should be in the same root directory.
Techniques and tips

  1. Do Print Screens (prt sc button on your keyboard) of your desktop with the 640x480 window of your unresized DIG screen in the emulator. This 1920x1080 or 2560x1440 image (depending on your screen) can be cropped in paint.net to 640x480 letting you measure pixel perfectly where to place elements on your backgrounds or how large icons have to be.
  2. You can save the default theme background as a blank 640x480 image and add a 60px grid to it with the paint.net gridchecker board plugin or similar tool in Photoshop. This allows to have an idea where images will display in DIG allowing for adjustments in the config and resizing or cropping of the image in paint.net.
  3. Use layers to stack elements on your backgrounds. Layers need to be merged to be png saveable but you can undo the steps after saving and redo with other elements like Background text.
  4. You can add opacity to an image in the layer options. Make sure to save first otherwise the opacity will translate to other elements in your Layer list and merging down will apply the opacity for each layer.
  5. When uninstalling the DIG app from LDPlayer4 you will need to drag and drop the apk to the homescreen to reinstall it. Its handy to have it close to your theme's zip folder as you will need it around the same time when reopening LDPlayer4 and DIG.
  6. Be careful when resizing icons or images as the resizing is often of lesser quality than say the original smaller version of the same image.
  7. Try to minimize your time needed to open and load a theme into DIG from the emulator by doing a lot of edits, even more general ones to the config first like:
  • editing all text colors to either black (0) or white (ffffffff) depending on your background
  • checking all background folders are properly setup
  • checking your background images are of the correct size across all the background folders
  • keeping things coherent with spacing and scale like collections_block_size = "140.0" or home_block_size = "140.0"
  • Leave config entries you are not sure about their function as they are or put them to "1" or "0"
  • You can specify wether DIG reads a file or a folder from a directory like  game_sound = "folder" ; game_sound_path = "Audio" will look up any audio file inside the Audio folder to play when entering the game menu in DIG.

 

Example of a theme folder

Audio theme_music.mp3
Background Default BackgroundDefault.png
Background Home BackgroundHome.png
Background Systems BackgroundSystems.png
Background Collections BackgroundCollections.png
Background Genres BackgroundGenres.png
Background Gameinfo BackgroundGameinfo.png
Background Favorites BackgroundFavorites.png
Background Options BackgroundOptions.png
Default Covers gb.png gba.png gbc.png psx.png (these cover icons replace the default ones displayed for games that DIG did not find cover art for)
Home Icons allgames.png collections.png options.png favorites.png genres.png systems.png played.png
Systems Icons gb.png gba.png gbc.png psx.png
Toolbar home.png mediaplay.png mediapause.png systems.png options.png pagemenu.png
config.cfg

sound = "folder"

sound_path = "Audio"

systems_sound_path = "Audio"

game_sound_path = "Audio"

favorites_media = "file"

favorites_media_path = "Background Favorites/BackgroundFavorites.png"

genres_media = "file"

genres_media_path = "Background Genres/BackgroundGenres.png"

home_media = "file"

home_media_path = "Background Home/BackgroundHome.png"

options_media = "file"

options_media_path = "Background Options/BackgroundOptions.png"

...

(etc. for the backgrounds)

...

default_covers = "Default Covers"

home_icons = "Home Icons"

systems_icons = "Systems Icons"

tool_icons = "Toolbar"

 

This is to give an idea of how the config entries works but of course more entries are needed to make the theme work. The other files inside the folders on the other hand are "complete" and make out the totality of a basic DIG theme.


Guide created by CricoidRiver. Edited by CricoidRiver.