Skip to content

Add support for Antonio's manufacturer metadata in engine ini files #425

Closed

Description

@JohanSjoblom

Summary

Add optional manufacturer metadata to retro.ini:

; Manufacturer: Mephisto

Example:

; Manufacturer: Mephisto

[mame/academy]
name = Mephisto Academy
small = academ
medium = Academy
large = Mep.Academy
elo = 1980

The manufacturer applies to subsequent engine sections until another manufacturer directive appears.

Menu behavior

When manufacturer directives exist:

Engine → Retro → Manufacturer → Engine → Level

When none exist, preserve the current flat menu:

Engine → Retro → Engine → Level

Existing users must not see an additional Other or Various menu. In partially grouped files, ungrouped entries may be placed under Other.

Manufacturer order and engine order should follow their order in retro.ini.

Implementation

  • Parse manufacturer metadata centrally in uci/read.py.
  • Include manufacturer in each parsed retro-engine dictionary.
  • Do not parse retro.ini again from dgt/menu.py.
  • Only recognize the strict syntax ; Manufacturer: <name>.
  • Ignore ordinary comments.
  • Only apply manufacturer parsing to retro.ini.
  • Preserve existing engine indexes

Activity

  1. github-actions commented on Jun 22, 2026

    @github-actions

    Issue Agent could not generate specification.md without open questions.

    Please clarify:

    • How should the finished change be verified?
  2. JohanSjoblom commented on Jun 22, 2026

    @JohanSjoblom
    OwnerAuthor

    When you chose the menu option Engines -> Retro you should see a list of manufacturers before choosing the actual engine. It will present the manufacturer metadata as an extra sub-menu

  3. JohanSjoblom commented on Jul 25, 2026

    @JohanSjoblom
    OwnerAuthor

    The user should be allowed to use any metadata they want, it does not have to be manufacturer. But lets leave the support as just one additional level in the menu.

    Furthermore the user needs a way to configure the list to be sorted alphabetically, either by manufacturer metadata or by the name of the engine. That should be an option the user can set. It could be solved by a new field in the uci file at the top of the file, or as a setting in the picochess.ini file, or...?

  4. linked a pull request that will close this issue425 engine list improvement #440on Jul 25, 2026
  5. JohanSjoblom commented on Jul 25, 2026

    @JohanSjoblom
    OwnerAuthor

    I will make both book listings always order alphabetically. Both the Engine Book, and the BOOK tab that is only for the user to look at any book. The BOOK tab will be changed from the old left-right arrows to a modern menu picker.

  6. JohanSjoblom commented on Jul 25, 2026

    @JohanSjoblom
    OwnerAuthor

    Here is my retro.ini with manufacturer sub-levels for reference... This file worked for me.

    retro.txt

    As you can see for instance, just before the Boris engines you find the metadata:
    ; Manufacturer: Chafitz/Applied Concepts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions