Skip to content

Customization

Syahriel Ibnu Irfansyah edited this page Apr 2, 2023 · 2 revisions

Using XPKG File

XPKG is this launcher's version of PlayStation PKG file used since PS3/PSP generation. albeit in this launcher, this file have smaller scope of functionality.

  • Download a XPKG file
  • Execute the Settings > ⭐ Install Package Files menu, A file browser should open.
  • Select your XPKG file from the file browser.
  • Now, if the XPKG file is not corrupted and did not have any installation dependency problem (customized apps is installed) the install button should be activated, Tap the Install Button.
  • If installation success, you can now checks to Apps/Games menu to find if the customization is applied or not. If the customization is not immediately applied, you have to scroll up or down until the app icon went out of screen and then scroll back to the app, it should reload the resources. If the customization is not loaded at all after several seconds, please create a discussion and post your XPKG file there with additional info of what app this XPKG is for.

Creating XPKG File

XPKG is actually a ZIP file (as opposed to PlayStation proprietary PKG format) with compression methods supported by Android's ZipFile API. You can refer to this file tree for file structure reference and read the PARAM.INI.README file.

Basically, an XPKG file should contains a single PARAM.INI at the zip's root directory and directories containing the customization files. with files customization files still conforming File System Customization #Per Item

Customization by File System

You can customize many resources by putting a suitable file matching the paths listed here, supports Internal storage by default and optionally external storage if granted, with these supported prefixes (further written as ${PREFIX}, sorted by load priority):

  • /storage/emulated/0/Android/data/id.psw.vshlauncher/files
  • /sdcard/Android/data/id.psw.vshlauncher/files (on lower Android version)
  • /storage/XXXX-XXXX/Android/data/id.psw.vshlauncher/files (If external storage access is granted)

Launcher

Launcher font

  • at ${PREFIX}/dev_flash/data/font/VSH-CustomFont.ttf

If this file is unavailable, system font will be used. Some device would use a glyph from system font if current font didn't have the glyph (Fallback-ing). However, there is also devices which wouldn't do it and will just render a square glyph instead, make sure that you supply a complete Unicode font in case your phone is one of it. There is some tools to compile several fonts into a single Unicode font.

Cold Boot (Launcher initial boot)

  • Audio at ${PREFIX}/dev_flash/vsh/resource/COLDBOOT.MP3
  • Image at ${PREFIX}/dev_flash/vsh/resource/COLDBOOT.PNG (WIP)

Game Boot (When launching app)

  • Audio at ${PREFIX}/dev_flash/vsh/resource/GAMEBOOT.MP3
  • Image at ${PREFIX}/dev_flash/vsh/resource/GAMEBOOT.PNG (WIP)

UI Sound Effect

  • at ${PREFIX}/dev_flash/vsh/resource/sfx/
  • Supported extensions : OGG, MP3, WAV
  • File names :
    • cancel.??? : Cancelation (Subcontent backstep, Menu closing)
    • confirm.??? : Confirmation (Subcontent open, Launching item)
    • select.??? : Selection Change (Navigating up/down/left/right)

Per-Item

Item customization file layout conforms the PS3 Content Information Files, Stored at ${PREFIX}\dev_hdd0\games\{App Package ID}_{Activity ID}\, this directory can be created automatically from Item Menu in the launcher Create Customization Dir

Icon : ICON0.???

  • Supported extensions : PNG, JPG
  • Best Size: 320x176, 20:11 Aspect Ratio You may supply lower resolution image to save RAM and Storage, It will be fitted and scaled accordingly. This also applies to Animated Icon

Video / Animated Icon : ICON1.???

  • Supported extensions : WEBP, APNG, MP4, GIF
  • Best Size: 320x176, 20:11 Aspect Ratio Can be disabled from Settings > System Settings > Disable Video Icon

Backdrop Image : PIC1.???

  • Supported extensions : PNG, JPG
  • Best Size: Device Resolution Image will be rendered with fill scaling based on viewport resolution, part of the image will be rendered off-screen to make sure that the entire viewport is filled. This image will become the base background if overlay backdrop is available

Overlay Backdrop Image : PIC0.???

  • Supported extensions : PNG, JPG
  • Best Size: Device Resolution Image will be rendered with fit scaling based on viewport resolution to make sure that every part of the image is on-screen

Background Sound : SND0.???

  • Supported extensions : MP3, AAC, MID / MIDI

Portrait Backdrop Image : PIC1_P.???

  • Supported extensions : PNG, JPG
  • Best Size: Device Resolution Will be prioritized and displayed only if viewport orientation is portrait

Overlay Portrait Backdrop Image : PIC0_P.???

  • Supported extensions : PNG, JPG
  • Best Size: Device Resolution Will be prioritized and displayed only if viewport orientation is portrait

Item Settings : PARAM.INI

Saved as a normal INI-like file format with the INI section being the language code to be used, contains values that will change launcher behaviours on this item, that is:

  • DisplayName - String - Name of the app when displayed in the launcher
  • Album - String - App Album
  • ParentalRestriction - Boolean - Is this app restricted to the children, requires password (WIP) to run
  • Hidden - Boolean - Is the app hidden away from the launcher
Clone this wiki locally