Author Topic: RetroDiction Theme v1.0 Released  (Read 3755 times)

rand0m

  • Sr. Member
  • ****
  • Posts: 325
    • View Profile
RetroDiction Theme v1.0 Released
« on: January 03, 2020, 11:34:38 PM »
Hi I have just released the first beta for RetroDiction. This theme is a fork of RetroMode theme.  Retrodiction's dictionary meaning is "using present information to make an assertion about the past; an instance of such an assertion" and it can also be thought of as a word play on retro addiction.

This theme aims to be light-weight and extremely thorough including most systems (Console, Arcade or Computers) even those not emulated at the moment.

The theme utilizes viking's excellent Nostalgia Platforms set and Clear-Logo Silver Ring set. Filters are applied on Nostalgia set to get a more grunge look + original is video while I am using snaps.


Link to Viking's Original Work
Nostalgia Platforms Set: https://forums.launchbox-app.com/files/file/219-nostalgia-169-video-set/
Clear-Logo Silver Ring Set: https://forums.launchbox-app.com/files/file/59-silver-ring-clearlogo-set/


Showcase

Snaps

Displays Menu:



Platforms Menu:



System Menu:



Collections:



Game Launcher:



Custom Options Menu:



Videos

Arcades & Computers
https://www.youtube.com/watch?v=lIxxbKcdZHY

Consoles & Handhelds
https://youtu.be/uX7qQCiw7Fk

Control Module & Game Launcher
https://www.youtube.com/watch?v=9IDcp_46agM


Download
Download from GitHub: https://github.com/randombyt/RetroDiction
Currently no release candidate, use "Clone or Download" to download the zip file. The file will be around 1.2 GB as it will include all the system flyers and logos.


Installation
1. Download and extract the latest version of Attract-Mode from this thread (first Porst): http://forum.attractmode.org/index.php?topic=2324.0
2. Download this layout, unzip it and place in Attract-Mode folder, overwriting as needed. Overwriting is safe in most cases but take a look at contents just in case.

Experienced Attract-Mode User
3. Run Attract-Mode and link the displays to appropriate layout nut file.
        layout.nut: The main/ start display
        layout_platforms.nut: Used in platforms i.e. Arcades, Computers, Collections, Consoles and Handhelds
        layout_system.nut: Used in system e.g. Atari 2600, Sega Game Gear, MAME etc
        Note: You can use the attract.am and attract.cfg in /extras either directly or in case of later as a template

New Attract-Mode User
3. Copy attract.cfg and attract.am from /extras to Attract-Mode folder root. This will setup all displays and controls.


Controls






Note: Controls should be modified in attract.cfg for these to work. Either modify the controls in your attract.cfg existing in root folder of Attract-Mode or copy the attract.cfg in /extras of download and use it or use a custom control config ii AM command line arguments and point to /extras for cfg file.


Displays Hierarchy



Filters Hierarchy



  • Entering any System Menu, Atari 2600 in above case, will always open All Filter Display unless user moves between System Menu and Platform menu in which case last opened Filter Display is opened when moving from Platform Menu to System Menu.
  • All filter display is the default filter display if no other filter displays are configured.
  • After All filter, rest of the filters are accessed in an alphabetical order i.e. A > B > C ...
  • Filter Displays are in a loop so moving forward from last filter will open first filter and moving backward from first filter will open the last filter.
  • Using Leap plugin allows users to skip empty filters this allows for creating a default-display.cfg which creates all the filters in use. This allows for easier addition of systems as system pick default values from default-display and if a filter display has no roms within in rather then showing an empty filter display leap skips/ jumps over it.
  • This organization setup with D-pad set to next/ previous letter and next /previous page allows to acces desired item in a very efficient manner and flows naturally just like moving between folders and sub-folders. Though for best utilization this requires one item to be listed in only one category requiring manual edit as most online sources don't work this way.


Standard Filters
NameDescription
All (default)Lists all items in all categories/ filters in a system
ActionAction and Multiple genre items like Metal Gear Solid
AdventureAdventure items including visual novels, text adventures etc
Beat 'Em UpBeat 'Em Up (brawlers)
CardsAll Card games go here. Most retro PC systems have enough titles to warrant a place
FightingFighting titles go here including wrestling, boxing etc
HorrorHorror titles go here, this one is subject based rather then game mechanic based
MahjongMahjong titles go here, again a huge number of titles which warrant a separate category
PlatformAll platform titles go here including run 'n gun
PuzzlePuzzle titles
RacingRacing titles
RhythmRhythm based titles
RPGRole playing titles
ShooterShooter titles including shoot 'em up (vertical or horizontal rotation) and FPS go here
SportsSports based titles
StrategyStartegy items

Note: Layout has specific icons and flyers for the above mentioned category filters, adding new ones is simple but retaining the layout design will require new icons and flyers for additional categories.

I'll update the thread with relevant information soon.
« Last Edit: January 31, 2020, 02:47:19 AM by rand0m »

rand0m

  • Sr. Member
  • ****
  • Posts: 325
    • View Profile
Re: RetroDiction Theme V1.0 Released
« Reply #1 on: January 03, 2020, 11:35:02 PM »
Attract-Mode Romlists

A romlist is simply a collect or list of roms (games or other items) to show. these lists are in plain text. Attract-Mode romlists mimic the functionality and structure of MAME.

This layout utilizes some fields in a different way then originally intended. Reason being that it is very easy in Attract-Mode to call information from a romlist secondly MAME's very detailed information is not needed for any other system. So we are utlizing some fields in a different manner like DisplayCount for number of discs. This unfortunately makes the layout less uniform and requires tweaking of romlists.


Understanding Romlists
As mentioned above Attract-Mode mimics MAME when it comes to romlists. The fields are MAME specific. The semicolon ( ; ) in romlist should be considered as the start of next column. While generating romlists Attract-Mode will fill all the fields or columns it can find information for and leave the rest empty.

In Attract-Mode using hash (#) in the very start of line will hide it in display. Attract-Mode probably treats the line as a comment which is the norm in squirrel language. We can use this handy function to hide rom, or systems by opening platform romlists.

Romlist fields are hard-coded and can't be changed neither can we add additional fields. Every romlist field is a Magic Token and can be called directly in a layout. This makes romlists very good for fast access of information.

Opening the romlist file through Excel will make it very easy to see how the information is stored in the romlist, this is discussed in a later section below.


Romlist Fields
Following table lists all the fields in romlists and how they are being used in this layout. Top line is for the default use and actual romlist fields while bottom field is how the fields are utilized in this layout. Please beware we don't actually chnage the names of fields just add different data in those fields and call them in layout through their actual name.

Default FieldsUsage in Layout
#NameName                                 
TitleTitle
EmulatorEmulator (cfg)
CloneOfUnused
YearYear
ManufacturerManufacturer
CategoryCategory
PlayersPlayers
RotationUnused
ControlControl
StatusStatus
DisplayCount# of Discs
DisplayTypeEmulator
AltRomnamePorts/ Clones
AltTitleUnused
ExtraDatabase
ButtonsMedia
SeriesSeries
LanguageLanguage
RegionRegion
RatingContent-Rating


Following are the descriptions for romlist fields:

#Name
Used for rom's actual file name i.e. the name with which rom is present in storage. Extensions are not included, this field is auto-filled when generating a new list without scraping any offline or online sources. As a rule of thumb the name should always tally to the database (if one is being used) as it allows for easier import of items like artworks and overviews. The hash (#) sign before name is used in Attract-Mode to ignore a line, since these are field names hash is used to hide this in actual display of roms. #Name can be called in layout via [Name].

Title
Used for rom's title. Titles allows users to tailor the names according to their own preferences e.g. move "The" from start to end of title, add serial info in a game series etc. This field is also auto-generated when generating a list without scraping and is same as #Name. Title can be called in a layout via [Title].

Emulator
Used for rom's emulator name i.e. the name of emulator file which exists in /emulators. Emulator can be called in a layout via [Emulator].

CloneOf
Not being used at the moment. CloneOf can be called in a layout via [CloneOf].

Year
Used for rom's year of release. This would require scraping from a source. Year can be called in a layout via [Year].

Manufacturer
Used for rom's manufacturer/ producer. This would require scraping from a source. Manufacturer can be called in a layout via [Manufacturer].

Category
Used for rom's category/ genre. This would require scraping from a source. Category can be called in a layout via [Category].

Players
Used for rom's number of players. This would require scraping from a source. Player can be called in a layout via [Players].

Rotation
Not being used at the moment. Rotation can be called in a layout via [Rotation].

Control
Used for rom's control peripherals like gamepad, mouse or keyboard. This will require manual input. Control can be called in a layout via [Control].

Status
Used for rom's current status i.e. completed (archive), playing (current) or shortlisted (queue). This would require manual input. Status can be called in a layout via [Status].

DisplayCount
Used for rom's # of storage media like floppies or cds. This would require manual input. DisplayCount can be called in a layout via [DisplayCount].

DisplayType
Used for rom's actual emulator. This would require manual input. DisplayType can be called in a layout via [DisplayType].

AltRomName
Used for rom's ports and clones. This would require manual input. AltRomName can be called in a layout via [AltRomName].

AltTitle
Not being used at the moment. AltTitle can be called in a layout via [AltTitle].

Extra
Used for rom's Database like No-Intro, Redump or MAME. This would require manual input. Extra can be called in a layout via [Extra].

Buttons
Used for rom's disk media type like CD, floppy etc. This would require manual input. Buttons can be called in a layout via [Buttons].

Series
Used for rom's game series. This would require manual input for cases other then MAME. MAME has a support file called series.ini which can be used for importing this. Series can be called in a layout via [Series].

Language
Used for rom's language(s). This would require scraping from a source, MAME has a support file language.ini which can be used to import this for MAME roms. Language can be called in a layout via [Language].

Region
Used for rom's region of release. Region can be called in a layout via [Region].

Rating
Used for rom's content rating. This would require scraping from a source which supports it. Rating can be called in a layout via [Rating].



Creating Romlists
Create the emulator.cfg in /emulators, this .cfg file includes the extension(s) and rompath(s). Now open Attract-Mode go to Configure > Emulators > Emulator-Name > Generate Romlist. If no additional import files are added and no online sources are used for scraping, simple romlist generation will create a romlist populated only with rom names and titles. Titles will be same as names.
Info source/ Scraper

You can use an online database (gamesdb) or listxml (xml files) for scraping information. If you use online scraper please make sure to scrape the information only as downloading artwork will take a long time and if the list is too long probably get stuck. So go to configure > Scraper and select No to every Artwork. Now go to Configure > Emulators > Emulator-Name > > Generate Collection/ Romlist and it will create a romlist scraping information from gamesdb.

Additional Import Files
For the moment only MAME supports these additional files. You can get Category field from catver.ini, Language field from language.ini, and Series field from series.ini. To use these files, open Attract-Mode go to Configure > Emulators > Emulator-Name > Additional import file(s) and add the full path to the file i.e. if catver.ini is in D:\games add D:\games\catver.ini. Use semicolon (;) before adding another file. You will have to regenerate the whole romlist so overwrite when asked.

Editing Romlists Through MS Excel
Added later
« Last Edit: January 26, 2020, 11:00:18 AM by rand0m »

rand0m

  • Sr. Member
  • ****
  • Posts: 325
    • View Profile
Re: RetroDiction Theme V1.0 Released
« Reply #2 on: January 03, 2020, 11:35:12 PM »
reserved for further info

rand0m

  • Sr. Member
  • ****
  • Posts: 325
    • View Profile
Re: RetroDiction Theme V1.0 Released
« Reply #3 on: January 03, 2020, 11:35:20 PM »
reserved for further info

rand0m

  • Sr. Member
  • ****
  • Posts: 325
    • View Profile
Re: RetroDiction Theme V1.0 Released
« Reply #4 on: January 03, 2020, 11:35:29 PM »
reserved for further info

jedione

  • Hero Member
  • *****
  • Posts: 942
  • punktoe
    • View Profile
Re: RetroDiction Theme v1.0 Released
« Reply #5 on: January 04, 2020, 09:26:22 AM »
i have been wondering, on this  how cool ...cant wait to dig in to it

amazing work...thanks
help a friend....

Neosys

  • Full Member
  • ***
  • Posts: 50
    • View Profile
Re: RetroDiction Theme v1.0 Released
« Reply #6 on: January 04, 2020, 11:14:26 AM »
Hi rand0m, very amazing theme! Looks great.  :)

rand0m

  • Sr. Member
  • ****
  • Posts: 325
    • View Profile
Re: RetroDiction Theme v1.0 Released
« Reply #7 on: January 11, 2020, 06:07:21 AM »
i have been wondering, on this  how cool ...cant wait to dig in to it

amazing work...thanks

Thanks :)

Hi rand0m, very amazing theme! Looks great.  :)

Thanks :)

rand0m

  • Sr. Member
  • ****
  • Posts: 325
    • View Profile
Re: RetroDiction Theme v1.0 Released
« Reply #8 on: January 25, 2020, 12:06:38 AM »
Added keyboard controls for every function, updated attract.cfg and layouts to accommodate the changes. attract.cfg is so central to layouts wish their was an easier way for per layout attract.cfg.

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1071
    • View Profile
Re: RetroDiction Theme v1.0 Released
« Reply #9 on: January 25, 2020, 12:44:00 AM »
Added keyboard controls for every function, updated attract.cfg and layouts to accommodate the changes. attract.cfg is so central to layouts wish their was an easier way for per layout attract.cfg.

Revitalize and get others to push this request (or a twist on it) https://github.com/mickelson/attract/issues/473.
« Last Edit: January 25, 2020, 12:57:00 AM by progets »

rand0m

  • Sr. Member
  • ****
  • Posts: 325
    • View Profile
Re: RetroDiction Theme v1.0 Released
« Reply #10 on: January 25, 2020, 10:55:55 AM »
Added keyboard controls for every function, updated attract.cfg and layouts to accommodate the changes. attract.cfg is so central to layouts wish their was an easier way for per layout attract.cfg.

Revitalize and get others to push this request (or a twist on it) https://github.com/mickelson/attract/issues/473.

I'll request too, this can be very useful :D.

bionictoothpick

  • Sr. Member
  • ****
  • Posts: 292
  • He who laughs lasts.
    • View Profile
Re: RetroDiction Theme v1.0 Released
« Reply #11 on: January 28, 2020, 06:01:19 AM »
This is polished, and a nice addition to attractmode.

Are you able to include master rom lists for games too?

Adding a single system game isn't very smooth for me at the moment. For example I want Maze Craze for the atari 2600, but if I download the xml from the mame hash files on github it doesn't find the details to add...
« Last Edit: January 28, 2020, 07:10:02 AM by bionictoothpick »

Billyc666

  • Jr. Member
  • **
  • Posts: 17
    • View Profile
Re: RetroDiction Theme v1.0 Released
« Reply #12 on: January 28, 2020, 08:43:21 AM »
Cool, love this theme. very clean but with plenty of info and functionality, well done

sosimple

  • Full Member
  • ***
  • Posts: 41
    • View Profile
Re: RetroDiction Theme v1.0 Released
« Reply #13 on: January 29, 2020, 05:28:31 AM »
Amazing work!!

iOtero

  • Sr. Member
  • ****
  • Posts: 414
    • View Profile
Re: RetroDiction Theme v1.0 Released
« Reply #14 on: January 29, 2020, 06:20:53 AM »
The best thing about a topic like this is that it is very easy to complete the information that you can display on the screen in every game.  8)
Nacer a los 15 aƱos Una novela de iOtero