HexLauncher Custom Vita

From GameBrew
HexFlow Custom
Vitahexlaunchercustom2.png
General
AuthorBlackSheepBoy69
TypeTitle Launchers
Version2.3.1
LicenseMixed
Last Updated2024/01/18
Links
Download
Website
Source

HexLauncher Custom, also known as VitaHex Launcher Custom or HexFlow Launcher Unofficial Custom, is a revamp mod for VitaHEX's 3D coverflow style launcher for PS Vita.

VitaHEX's HexFlow Launcher is an application that display and launch your games and homebrews in style. It features a 3D user interface to display your games with their box art and supports many customization options like custom covers, backgrounds, and - in v0.6 and above - one custom category.

When you launch a game/app from HexFlow Launcher, the launcher will close automatically without asking.

User guide

AutoBoot

If you want to auto-launch HexFlow Launcher every time your PS Vita boots up you can use the AutoBoot plugin by Rinnegatamante.

Once it's installed and you restart your Vita, you can edit the file that should be there after restart: ux0:data/AutoBoot/boot.cfg.

Inside, put the text "HXLC00001" without quotes

Download Covers and Backgrounds

In v0.3 and above, covers can be downloaded automatically from the settings menu (Start button).

You can also download covers and backgrounds manually here. Thanks to astuermer for creating the original cover archive used in v0.9.1 and below, and big thanks to jimbob4000 for maintaining the current cover archive.

Custom Covers

Place your custom covers in ux0:/data/HexFlow/COVERS/PSVITA/.

Cover images must be in png format and the file name must match the App ID or the App Name of each app (recommended resolution 256x256px).

Sample vita cover image.

Custom Background

Place your Background.png or Background.jpg image in ux0:/data/HexFlow/ (recomended resolution 1280x720px or less).

Some custom backgrounds are available here. In v0.9 and above, these sample custom backgrounds are included by default.

If RetroFlow is enabled, special backgrounds for RetroFlow entries can be downloaded individually from the Triangle menu and can be found in ux0:/data/RetroFlow/BACKGROUNDS/.

Custom Category

In v0.6 and above, take the applist.dat file in ux0:data/HexFlow/ and rename it to customsort.dat. This will generate a 5th category "Custom" and you can put what games you want or reorder it within VitaShell, or on your PC in a unix-compatible text editor such as gVim Easy.

Windows notepad won't work.

Custom Music

Place your Music.ogg or Music.mp3 file in ux0:data/HexFlow/.

Music will play automaticaly when the "Sounds" option is enabled.

Notes

Subfolders and psp categories plugin are not supported.

Controls

D-Pad/Left Analog or Touchscreen - Navigate your library

R/L - Skip 5 items

Select+R/L - Skip by alphabet

Cross - Select/Launch game/app

Square - Change Category

Triangle - Game Details

Circle - Change View/Cancel

Start - Settings menu

D-Pad Up/Down - Access SwitchView UI menu

In v1.0 and above, D-Pad Up/Down can either be used to access SwitchView UI menu, or to change category if either of these options are enabled in the Settings menu.

Screenshots

vitahexlaunchercustom3.png

vitahexlaunchercustom1.png

vitahexlaunchercustom2.png

Changelog

v2.3.1 2024/01/18

(v2.3.1) Quick overview: RetroFlow (enable in settings), SwitchView/GridView (enable in settings), JIT rolling cache, 8 backgrounds, 10 languages. Relies on Adrenaline Bubble Manager for PSP/PS1 game launching.

NEW:

  • Added theme color 'pink' from YoDwarf's fork, here (link).
  • Language will now autodetect every time the app starts up (but can no longer be manually set) to make sure that the below bugfix worked. May revert in a later version to increase startup speed. If a compatible translation file isn't found, it'll default to English.

BUGFIXES:

  • Fixed (hopefully) a crash related to upgrading from a version below 2.0 (such as v0.5) up to the latest version, which seemed to cause an issue related to language string format: [string"?"]:597: bad argument # 2 to 'format' (number expected, got nil)

index.lua is the source code. View code differences between v2.3.0 and v2.3.1 here (link).

v2.3 2023/11/06

(v2.2) Quick overview: RetroFlow (enable in settings), SwitchView/GridView (enable in settings), JIT rolling cache, 8 backgrounds, 10 languages.

IMPROVEMENTS:

  • Minor code cleanup. May improve startup times when the option "RetroFlow: ON" is enabled.
  • Grid View: Tightened the Y-axis border on categories with 12 or less entries.

BUGFIXES:

  • Fixed where double-replaying a game would buck off the least-recently replayed game from the 'recently played' category.
  • Fixed where "RetroFlow: ON" would make it so the override animations wouldn't play in 'recently played' and 'custom' categories.
  • Grid View: Fixed the very tiny jump that occured when using the touchscreen to go down from the first row.
  • Grid View: Fixed a big jump that occurred when using analog sticks and touchscreen at the same time.
  • Grid View: Fixed where going negative out of bounds in categories with 12 or less entries would move the camera when it shouldn't.

A few improvements and bugfixes (that are now considered stable) imported from the experimental nonpublic version v3.0 which may release very soon with support for Adrenaline Launcher as well as many cool upgrades still in bugtesting. Note: unlike RetroFlow, this app v2.3 is still using Adrenaline Manager for PSP/PS1 for its stability - though this app does support RetroArch for PS1 (if "RetroFlow: ON" is enabled) as well, just like RetroFlow does. All other categories will launch direct with the big advantage that you will never have to refresh cache after the first startup due to rolling cache.

index.lua is the source code. View what has changed in the source code since last version here (link).

v2.2 2023/06/08

(v2.2) Quick overview: RetroFlow (enable in settings), SwitchView/GridView (enable in settings), JIT rolling cache, 8 backgrounds, 10 languages.

NEW:

  • "Utilities" section in the start menu to access Photo Album, Browser, Trophies, etc.
  • Small files (such as retro games from RetroFlow) will now display file sizes in Kilobytes (Kb) if they're too small to be measured in Megabytes (Mb).
  • Swap X/O buttons is now automatic.

BUGFIXES:

  • Fixed crash: "1438: error opening ux0:/app/PCSE00034/sce_sys/param.sfo" when you had a corrupt app installed.
  • Fixed where covers had issues downloading from the start menu.
  • Fixed the 3D model for N64 games being off-center in the triangle menu.
  • Fixed a buggy message when trying to download a snap with Custom Backgrounds: OFF
  • For Adrenaline Manager PSP/PS1 games: 1: No longer displays duplicate scanned ID. 2: Now shows proper game size.

IMPROVEMENTS:

  • Editted the "about"/"more information" section to be more clear about RetroFlow and adding your own custom backgrounds/music.

If you have issues or improvement ideas, please let me know. I'm currently working on to release the final update and it will be a big update. It will be a massive overhaul for the "custom category" which right now you only get 1 and it's not very set up to have RetroFlow games in it right now. Also to fix the minor audio pop, add the option for "Adrenaline Launcher", and possibly to add the option to have the last 6 categories RetroFlow has that this app doesn't (PS Mobile, SCUMMVM, MAME, MAME2003+, FBA, NeoGeo) which would slow loading times a tiny bit. Any other ideas please let me know.

v2.1 2023/05/13

(v2.1) Quick overview: RetroFlow (enable in settings), SwitchView/GridView (enable in settings), JIT rolling cache, 8 backgrounds, 10 languages

  • Added X/O Button swap option for Japanese users, credit to yzzyx-network.
  • Added a pretty basic language auto-detector. If it detects Japanese the first time you boot up HexFlow Custom, it will set "swap X/O" to "ON".
  • Fixed a bug where the app may crash when using Grid View, referencing an unused image.
  • Fixed a bug where it'd lag the first launch after resetting "Recently Played: ON/OFF".
  • Fixed the weird flicker that would occur sometimes when exiting triangle menu.
  • Fixed a glitch in Grid View where if you were in a category with 4+ rows with the camera bottomed out and you were currently situated in the 2nd to last row and pressed right, it would wrongly refocus the camera to the middle.
  • Fixed where in the triangle menu, it would display RetroFlow entries as "homebrew". Also made it so a PS1 Retroarch game will now be labelled respectively.
  • Cleaned up a lot of the the code comments from v2.0.

This was originally going to be a bigger update and take longer (with features such as more languages and implementing "collections" similar to actual RetroFlow), but this update has been hurried because of a really cool pull request from user "yzzyx-network" as well as the kind of important bugfixes for Grid View.

v2.0 2023/05/09

(v2.0) THE BIG RETROFLOW UPDATE!

Quick Overview: RetroFlow (enable in settings), SwitchView/GridView, JIT rolling cache, 8 backgrounds, 10 languages

Finally added setting: RetroFlow ON/OFF!!! Has all the categories of RetroFlow 6.0 except: PSM, ScummVM, MAME/MAME+, NeoGeo, and FBA... However please note it DOES support several "newer" RetroFlow categories: RetroArch PS1, Pico-8, Dreamcast. Supports PS1/PSP without RetroFlow (Adrenaline Manager) but doesn't support PSP Categories Lite (yet).

It will read from the data folders created by RetroFlow, but it won't create or delete any folders or files except during cover downloads. If this is your first time using RetroFlow, it's recommended to install the current latest version of RetroFlow, run it at least once, and follow its installation instructions. This app uses Adrenaline Manager instead of RetroFlow's Adrenaline Launcher because many people have issues with Adrenaline Launcher.

Cache will magically always stay up to date due to JIT Switch Generation ("Rolling Cache") This is probably the main reason to use this app over RetroFlow.

Fixed a major bug from v1.2/v1.2.1 where sometimes if rolling cache activated, it would clear cache instead of updating a line... You will know you had the issue if the "writing to cache" screen showed up every time - it's not supposed to. Hopefully fixed in this version. The "writing to cache screen" should only show up when you install a new app! If you had the bug, startup should now be much faster. It's ~3.9 seconds with 500 games but if you enable RetroFlow, it adds ~2 seconds.

Finally released Grid View, available from the start menu with "Allow View #5/#6", because it has finally been optimized enough that it doesn't cause massive lag.

"Loose match" RetroFlow cover downloads... A lot of people really wanted this because of how strict the RetroFlow naming conventions are. Example: you can download a cover for a game called just "Super Metroid"... it will default to the USA cover.

Upgraded cover downloads by start menu a lot: skips entryes that already have covers. Added a "Screen.waitVblankStart()" so that you can see briefly see what covers are being skipped. Works for all categories now including homebrews that have a vita-style cover (you should override them if so). Made download synchronous instead of asynchronous: Seems much faster. Mass cover downloads for PSP/PS1 will now use the ID scanner, as is done in triangle menu. Fixed where it wouldn't error out for "no wifi".

Bulletproofed cur_quick_dir, a variable used for overrides and everywhere that the code System.doesFileExist(...) used to be (cur_quick_dir is much faster but less stable).

Drastically bulletproofed the function for increasing and decreasing category (ie: for when you press square). It will now properly hide an existing but empty CUSTOM category.

Added a new style for "Category Button: Up/Down"

Fixed N64 spacing in flat view (experimental)... added smoothness to zoomin view and left view. Credit to Axce for the idea but his code was not used. Currently experimenting with the best way to add smoothness to views other than zoomin/left view.

CUSTOM category can be used similar to "collections" in RetroFlow, ex: to hold all your "utility"-type apps. However, it needs upgraded to support RetroFlow entries... the upgrade is currently in bugtesting. When done, you'll be able to add stuff to CUSTOM category via the triangle menu.

Fixed where if it was the first time ever booting up, overrides wouldn't work on the first try.

Also includes the minor bugfix from v1.2.1 where some categories might not show up right first time ever booting up.

Added a new button at the bottom of the start menu "Exit", as a kind of placeholder: it'll be replaced by "Utilities" or "System Apps" when applicable.

The actual RetroFlow app might not register covers downloaded from this app if you have startup scan OFF in actual RetroFlow. Ones downloaded in RetroFlow will always show up here everytime due to rolling cache.

There is a bug relating to RetroFlow and "Return to Last-Played Game"... if you have 2 Retro games with the same filenames in DIFFERENT categories, it may pick the wrong one if the last played category was "All"/"CUSTOM"

If you were using an experimental version, file "ux0/data/HexFlow/debugfile.dat" can be deleted.

Changed app title to "HexFlow Custom". If the old title still remains, it may have registered as a "rename". You can reset it by scrolling to HexFlow Custom... pressing triangle... selecting "rename"... and setting it to blank which will reset the title.

Added more bulletproofing to the code Category_Plus(), Category_Minus(), and categoryButton; where you couldn't change category if you hacked "categoryButton" in config.dat to be an invalid value and where the first time you hit the category button, it wouldn't register if you hacked "showCat" in config.dat to have an invalid value (for forward compatability).

(Hopefully) fixed where a fresh install would lag for the first launch if Recently Played ON.

Minor bulletproofing/improvement: Only app folders with 9 characters imported, removes duplicates or manually backed-up / renamed folders.

Upgraded Italian translations, credit DaRk_ViVi

New bugs:

When you exit the triangle menu, the modbox will slightly glitch out for about 1/60th of a second or less in certain categories. You will easily miss it even if you're looking for it.

If you have 2 RetroFlow entries with the same base file name, then "return to last played", the "recently played" category, and the "custom" category might display the wrong one. For this reason, the "custom" category doesn't easily support RetroFlow entries. It will require a huge overhaul to make it work correctly The "overhaul" also allows this app to use "Collections" - one of the really great new features of actual RetroFlow 6.0... This "overhaul" is already done but is in bugtesting currently.

v1.2.2 2023/04/17

(v1.2.2) Fixed a newly-discovered major bug caused by a minor typo where sometimes if rolling cache activated, it would clear cache instead of updating a line. This version should be pretty rock solid!

v1.2.2 2023/04/03

(v1.2.1) Fixed where if this was your first time installing the app, the PS1/PSP categories may have been hidden; they should show up now (unless they're empty and you go in start menu and put "Hide Empty Categories: ON").

Note: This app uses "Adrenaline Manager" for PS1/PSP because it's a lot more stable than RetroFlow's "Adrenaline Launcher"... all bubbles made in "Adrenaline Manager" will be automatically put into their proper categories - PSP or PS1 - and can download covers regardless of their file names or ID's (like RetroFlow v5.0 and above).

v1.2 2023/04/02

(v1.2) Half a hotfix release, half a proper release; several new features and bugfixes.

  • Boots up in ~3.7 seconds with 500 games after first boot. JIT switch generation ("rolling cache") keeps cache always up-to-date instantly. 10 Languages.
  • Added "Recently Played ON/OFF" setting. TURNING IT OFF WILL CLEAR YOUR RECENTLY PLAYED DATA UNLESS STARTUP CATEGORY "Return to last played game" IS ENABLED. The first time you launch a game with "recently played" enabled, it will lag for a second. Not sure why. Doesn't happen for 2nd+ launches.
  • Simplified the reading/writing cache code, fixed rolling cache error ["String"?"]:1041:Attempt to call global 'FileConcat'(a nile value)"
  • Covers can now be downloaded for PSP games (and PS1 games) regardless of their name or ID!!!
  • Fixed a visual glitch when using "return to last played game" in SwitchView mode.
  • Moved footer bar slightly, to look more like HexFlow Launcher Official. Made start menu slightly more stylish.
  • Commented out ~100 lines of code not necessary anymore due to rolling cache. "Cache has been updated" removed from cover download message.
  • Prioritized CPU buff (faster startup).
  • Medium-sized code cleanup and replaced several System.doesFileExist() with cur_quick_dir[] (faster startup, faster overrides)
  • IF YOU WERE USING AN EXPERIMENTAL VERSION: ux0:data/HexFlow/debugfile.dat is no longer necessary... you can delete it.
  • "applistReadTime" (in start menu>more information) now includes time it took to write to cache (if applicable).
  • Combined "Music ON/OFF" and "Music: Loop ON/OFF" into one setting because it looks better, especially if "shuffle" is added.
  • "Music: Loop ON/OFF" can only be set if music exists.
  • Added credit to fwannmacher in credits (start menu>more information).

v1.1 2023/03/25

(v1.1) Roughly the same startup time as the previous version, but no more refreshing cache, even for hundreds of apps!!!!!

This is an intermediary release. Still working out an annoying GPU crash for the RetroFlow integration and the lag caused by grid view before either of those 2 features get released. It's just that someone requested what's stable to be released.

  • Removed the "Refresh Cache" and any settings related to startup scan.
  • New function switch_generator()... I worked very hard on it and it improves the app a LOT.
    • 1: It reads the ENTIRE app folder almost instantly. This is better than Vita Launcher (which just reads app.db) because this should be able to display anything that couldn't get added to app.db
    • 2: It almost instantly checks for any new covers for every app on startup.
    • 3: Slightly faster overrides and cover downloads.
    • 4: It improves startup time slightly.
    • 5: In the unreleased version, it has been harnessed to instantly load all the RetroFlow ROM's and their overrides/renames/covers.
  • Reformatted the font files (credit RetroFlow) and optimized image metadata to reduce startup times.
  • Cleaned up a the code a little bit. Ex: in cache writer.
  • New Startup Category "Return to Last Played Game/Category" (Credit fwannmacher).
  • You can now tap in SwitchView.
  • You can now also use analog sticks or tapping to access the bottom menu in SwitchView
  • Upgraded the secret select+L/R jump-by-alphabet feature to be more like RetroFlow's (skip numbers, always go to first-of-a-kind).
  • Fixed an extremely rare crash related to select+L
  • Minor bugfix for shadows in SwitchView.
  • Now using Rinnegatamante's app title bugfix. Should fix Invictaz's issue regarding an app with a corrupt apptitle.

Downgrades:

  • Removed the Language 10 - Chinese - temporarily since some letters aren't displaying right. Will have to import the fix from RetroFlow. The translation file is up-to-date though.
  • Removed 3 "less popular" backgrounds - Wood 2, Marble, and Playstation Pattern 2.

v1.0.1-hotfix 2022/09/06

(v1.0.1) Still has all of the features of v1.0.0, ex: SwitchView UI integration, instant overrides, and cy33hc/copyicons integration.

  • Fixed where some overrides wouldn't save to overrides.dat,
  • Fixed where you sometimes have to click "download cover" twice for a PS1 game due to a value not being cleared.
  • Fixed where overriding to PS1 sometimes caused a minor visual bug.
  • New feature and/or bugfix: downloaded single covers now show up ASAP instead of showing blank temporarily.

Release notes.

Credits

Credits (Revamp Mod):

  • Programming - BlackSheepBoy69 and one or more coders who wish to remain anonymous.

Special Thanks:

  • Inspiration + various help from Team RetroFlow.
  • Users who enjoy HexFlow Launcher, HexLauncher Custom, and Retroflow, who submit feature requests to this/those projects (which I do watch), and occasionally code. Thank you.

Credits (General):

  • Programming/UI - Sakis RG.
  • Developed with Lua Player Plus by Rinnegatamante.

Special Thanks:

Translations:

  • French - @chronoss.
  • German - @stuermerandreas.
  • Spanish - @kodyna91.
  • Italian - @TheheroGAC.
  • Russian - @_novff.
  • Swedish - @Spoxnus86.
  • Portuguese - @nighto (Retroflow).
  • Japanese - @iGlitch (Retroflow).
  • Chinese - @acd13141 (Retroflow).
  • Polish - @SK00RUPA (Retroflow).

Google Translate was used for HexFlow Launcher Unofficial Custom translations that weren't found on HexFlow Launcher and Retroflow. Retroflow's oddly formatted translation files have been standardized.

External links

Advertising: