uLaunch/Themes.md
2019-10-11 17:43:17 +02:00

2.3 KiB

Theme system

IMPORTANT! Don't use this system yet. Wait until this warning is removed (when the system is finally decided)

Current theme format version: none (unreleased yet)

Themes consist on plain directories replacing RomFs content.

A valid theme must, at least, contain a /theme subdirectory and a /theme/Manifest.json within it (icon or actual modifications aren't neccessary)

Important note: any content (sound or UI) not found in the theme will be loaded from the default config, thus there is no need to provide every file (for instance, when making UI-only or sound-only changes)

Metadata

Metadata is stored inside /theme directory. It is required for the theme to be recognized as a valid one.

  • theme/Manifest.json -> JSON containing theme information

    Demo JSON:

    {
        "name": "My awesome theme",
        "version": 0,
        "release": "0.1",
        "description": "This is a really cool theme, check it out!",
        "author": "XorTroll"
    }
    

    Properties:

    • name: Theme name

    • version: Theme format version (qlaunch updates might introduce changes to themes, thus a new format version would be out).

    • release: Theme version string

    • description: Theme description

    • author: Theme author name(s)

  • theme/Icon(.png?) -> Icon (which size and format shall we use?)

Sound

Sound consists on custom background music and sound effects via files inside /sound.

  • sound/BGM.mp3 -> MP3 file to replace with custom music

  • sound/BGM.json -> JSON file with BGM settings

    Demo JSON:

    {
        "loop": true,
        "fade_in": true,
        "fade_out": false
    }
    

    Properties:

    • loop: Whether to replay the MP3 file again, after it finishes

    • fade_in: Whether starting the music should apply a fade-in effect.

    • fade_out: Whether stopping the music should apply a fade-out effect.

    Note: returning to/launching a title/applet and returning back to HOME menu will restart the music.

TODO: Sound effects

UI

Can be customized via files in /ui.

  • ui/Font.ttf -> TTF font used for all the UI.

  • ui/AllTitles.png -> 256x256 icon for the "all titles" entry in the main menu.

  • ui/Folder.png -> 256x256 icon for folders in the main menu.

TODO: more customizable stuff