/Itemzflow

PS4 Game manager and Home menu alternative made using Open Source tools

GNU General Public License v3.0GPL-3.0

ItemzFlow

Lead Developer (besides the obv)

Third-Party Libraries

Refs

Settings

the ini file is either loaded by the app dir or from USB0 when the app is booted

Settings Layout

INI Key Description
Dumper_option 0 = ALL 1 = BASE Game only 2 = Patch only
Sort_By -1 is NA 0 = Alpha order by TID 1 = Alpha order by App Name
Sort_Cat Sort category
cover_message Shows cover message on app startup
MP3_Path FS Path to a folder of MP3s or a single MP3 to play on loop
Dumper_Path Dump path
TTF_Font TTF Font the store will try to use (embedded font on fail)
Show_Buttons Shows IF buttons on the screen
Enable_Theme ONLY Active if you have a theme enabled
Image_path background PNG image
Reflections Enables cover reflections in IF
Home_Redirection Enables the Home Menu Redirect
Daemon_on_start Disables the Daemon from auto connecting with the app
Image_path Background Image
Show_install_prog Enables the Store PKG/APP install Progress

setting.ini example

[Settings]
Dumper_option=0 
Sort_By=-1
Sort_Cat=0 
cover_message=1 
MP3_Path=/mnt/usb0/music 
Dumper_Path=/mnt/usb0 
TTF_Font=/mnt/usb0/myfont.ttf
Show_Buttons=1 
Enable_Theme=1 
Image_path=/mnt/usb0/pic.png 
Reflections=1 
Home_Redirection=1 
Daemon_on_start=0 
Show_install_prog=1 

Itemzflow Log

  • If the app crashes or mentions "a FATAL Signal" send this log to us via the discord below or via GH Issues /user/app/ITEM00001/logs/itemzflow_app.log

Daemon

The itemz daemon is installed when you open the app for the first time at /system/vsh/app/ITEM00002 it gets updated ONLY by Itemzflow

The daemon settings file is ONLY for internal use by the Store devs however it also has a ini at /system/vsh/app/ITEM00002/daemon.ini with the following ini values

[Daemon]
version=0x1001// Daemon version for Store, Official version is always > 0x1000

Dumper details

  • Dumper log is at /user/app/ITEM00001/logs/if_dumper.log
  • Dumper WILL ONLY dump to the first USB it finds (most likely USB0)
  • Dumper will try to use the same Language as Itemzflow
  • If the dumper gets stuck on a file make SURE both discs and ALL Languages are installed if available BEFORE Dumping
  • If your dump has failed then provide us the log /user/app/ITEM00001/logs/if_dumper.log in our discord below

Languages

  • The Itemzflow's Langs. repo is HERE
  • The Itemzflow uses the PS4's System software Lang setting

Themes

  • You can download custom themes released in the Itemzflow Themes Repo
  • You can also make your own custom themes by following these instructions.

IMPORTANT the Theme files must HAVE the exact filename as listed below

Filename Description
btn_o.png O Button (67x68)
btn_x.png X Button (67x68)
btn_tri.png Triangle Button (67x68)
btn_sq.png square Button (67x68)
btn_r1.png R1 Button (309x152)
btn_l1.png L1 Button (120x59)
btn_l2.png L2 Button (120x105)
btn_options.png Options Button (145x84)
btn_up.png D-Pad Up Button (32x32)
btn_down.png D-Pad Down Button (32x32)
btn_left.png D-Pad Left Button (32x32)
btn_right.png D-Pad Right Button (32x32)
font.ttf Theme Font
background.png Background Image
shader.bin PS4 GLES Compiled Shader
theme.ini Theme Info

Theme INI Config

INI Key Description
Name Theme Name
Author Who Made it
Date Date it was made on
Version Theme Version Number
Image 1 if your Theme has a background image, 0 if not
Font 1 = Theme has font.ttf 0 = It doesnt
Shader 1 = Has Shader bin 0 = It doesnt

Example Theme config

[THEME]
Name=Example Theme
Author=Example Author
Date=10/16/2022
Version=1.00
Image=1
Font=1
Shader=0

App logs and their paths

Service PS4 Path
Itemzflow main app /user/app/ITEM00001/logs/itemzflow_app.log
Dumper /user/app/ITEM00001/logs/if_dumper.log
Itemz Loader /user/app/ITEM00001/logs/loader.log
Itemz Daemon /data/itemzflow_daemon/daemon.log
libfuse /user/app/ITEM00001/logs/libfuse.log

On USB (only on failure or crash)

Service USB Path
Itemzflow main app /mnt/usb<USB_NUMBER>/itemzflow/crash.log
Dumper /mnt/usb<USB_NUMBER>/itemzflow/dumper.log
Itemz Loader /mnt/usb<USB_NUMBER>/itemzflow/loader.log
Itemz Daemon /mnt/usb<USB_NUMBER>/itemzflow/daemon.log

Official Discord server

Invite: https://discord.gg/GvzDdx9GTc

Game Patches

  • Downloads from GoldHEN online database via the app or manual install via zip file
  • Supported formats: json filename must be (TITLE_ID).json, i.e CUSA00547.json
  • json per game filepath: /data/GoldHEN/patches/json/(TITLE_ID).json

Patch Syntax

Syntax:

{ "type": "", "addr": "", "value": "" }

Patch types

type Info Value (example)
byte Hex, 1 byte "0x00"
bytes16 Hex, 2 bytes "0x0000"
bytes32 Hex, 4 bytes "0x00000000"
bytes64 Hex, 8 bytes "0x0000000000000000"
bytes Hex, any size (no spaces) "####"
float32 Float, single "1.0"
float64 Float, double "1.0"
utf8 String, UTF-8* "string"
utf16 String, UTF-16* "string"
  • Note: Strings are automatically null terminated.

Example patch

{
  "patch": [
    {
      "title": "Example Game Title",
      "app_titleid": [
        "EXAMPLE01",
        "EXAMPLE02"
      ],
      "app_ver": "00.34",
      "app_elf": "eboot.bin",
      "patch_ver": "1.0",
      "name": "Example Name",
      "author": "Example Author",
      "note": "Example Note",
      "patch_list": [
        { "comment": "This is a code comment, improves code readability." },
        { "type": "bytes", "addr": "0x00000000", "value": "0102030405060708", "comment": "Code comment at end of line is also supported." },
        { "type": "utf8", "addr": "0x00000000", "value": "Hello World" }
      ]
    }
  ]
}

Donations

We accept the following methods

  • Ko-fi
  • BTC: 3MEuZAaA7gfKxh9ai4UwYgHZr5DVWfR6Lw

if you donate and dont want to the message anymore created this folder after donating ``

Credits