More actions
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
|title_mode=append | |title_mode=append | ||
|image=vitahexlaunchercustom2.png | |image=vitahexlaunchercustom2.png | ||
|image_alt= | |image_alt=HexFlow Custom | ||
}} | }} | ||
{{Infobox Vita Homebrews | {{Infobox Vita Homebrews | ||
|title= | |title=HexFlow Custom | ||
|image=vitahexlaunchercustom2.png | |image=vitahexlaunchercustom2.png | ||
|description=VitaHex Launcher Custom unofficial version. | |description=VitaHex Launcher Custom unofficial version. | ||
|author=BlackSheepBoy69 | |author=BlackSheepBoy69 | ||
|lastupdated=2023/05/ | |lastupdated=2023/05/13 | ||
|type=Title Launchers | |type=Title Launchers | ||
|version=2. | |version=2.1 | ||
|license=Mixed | |license=Mixed | ||
|download=https://dlhb.gamebrew.org/vitahomebrews/vitahexlaunchercustom.7z | |download=https://dlhb.gamebrew.org/vitahomebrews/vitahexlaunchercustom.7z | ||
Line 105: | Line 105: | ||
==Changelog== | ==Changelog== | ||
'''v2.1.0'''<br> | |||
* 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. | |||
* index.lua is the source code | |||
'''v2.0.0'''<br> | '''v2.0.0'''<br> | ||
THE BIG RETROFLOW UPDATE! | THE BIG RETROFLOW UPDATE! |
Revision as of 02:36, 14 Mayıs 2023
HexFlow Custom | |
---|---|
General | |
Author | BlackSheepBoy69 |
Type | Title Launchers |
Version | 2.1 |
License | Mixed |
Last Updated | 2023/05/13 |
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.
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 (recomended resolution 256x256px).
In v0.9 and above, games in the PS1 category can have cover png's named to match the App ID, or the App Name, or the PSX Serial as found in the triangle menu.
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.
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.
Important notes
For PSP bubbles generated by Adrenaline Bubbles Manager you must set the value of BubbleID to TitleID in the settings menu of ABM tool.
In v0.9 and above, PS1 Bubble ID doesn't matter because it's scanned in binary during the startup.
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
Known issues
It very rarely freezes/crashes every now and then, seems to be an "Out of Memory"-type crash related to the uncompressed audio.
(^All the above bugs are also present in VitaHEX's HexFlow Launcher 0.5.)
Suspending sometimes causes a crash if you're using custom music.
New glitch in v1 and above: hitting "download all PSP covers" doesn't seem to work due to a typo in the code cleanup of v1.0, but all single downloads work fine.
Due to how the coding of the massive performance boost of v1.0.0+ is, some apps sometimes add garbage to the app title. A double scan on non-alphanumeric app titles might be able to fix this, or a better renaming function might work as a hotfix.
Changelog
v2.1.0
- 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.
- index.lua is the source code
v2.0.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.
index.lua is the source code
v1.2.2
- Fixed a 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.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).
- index.lua is the source code
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)
- index.lua is the source code
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
- index.lua is the source code
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.
v1.0
- SwitchView UI v0.1.2 integration + vita cover crop ability.
- Extreme performance boost, the best so far.
- Much better cover downloads, especially PS1.
- App Renaming. Reset via triangle/start menu.
- Better music support. Toggle loop, use .OGG/.MP3.
- cy33hc/copyicons full integration (start menu).
- Massively cleaned up code from v0.9.
- 4 new backgrounds (12 total) or use your own.
- Spin override animation + instant recache.
- 10 languages, easy to edit language files.
- Many new options in settings.
- Secret Feature: select+L/R to jump by alphabet.
- Completed Frameworks for future features:
- grid view support (search l==p in source code).
- Retroflow (done, in bugtesting).
- Individual app overclock profiler (done, in bugtesting).
- Super-fast self-updating cache (done, in bugtesting).
v0.9.1
- Edited some triangle menu messagebox translations to display properly.
- Removed select button debug messagebox that was accidentally left in public release.
- Added oneshot.png and cache_GIF_25x25.gif to data folder so the finished app would be 6.68 instead of 6.66mb.
v0.9
- +2 Languages (Chinese, Polish). 10 total.
- 8 backgrounds, 6 From HEXFlow, 2 from Retroflow.
- Starts up in ~2.9 seconds for 550 games (after the first launch). Refresh cache via the start menu (a later version may have "rolling refresh", so you won't have to).
- Click.wav -> ogg stability bugfix (credit retroflow). It was supposed to help reduce crashing but I'm not sure.
- Minor graphical bugfix (in custom category in v0.8).
- Still using the buffed CPU code at the start from HexLauncher Custom v0.8, (now also in Retroflow v3.5!) for performance boost.
- General PS1 bugfix, proper categorization and you can press triangle to generate a serial for cover download of PS1 games with bad ID's (most of them).
- So much better touch scrolling.
- Cool loading screen for when writing to cache.
- Instant inline recache for single cover download, instant inline recache for "overrides" was removed (well, it's still there but commented out) because some people said it caused a crash... so you'll have to do proper refreshes for that.
- There is an unreleased version with full rolling cache (when you install an app, it's instantly be added to cache on startup), but the code is pretty cringeworthy so it's not released yet.
- “You must close HexLauncher First” bugfix.
- Extreme code cleanup.
- Some progress towards adding Retroflow Rom-launching features, specifically, “xCatLookup” function (only framework).
- Proper footer button spacing (90% credit Retroflow).
- It will generates "applist.dat" on launch or when you hit "Refresh Cache". Either edit it within Vitashell, or upload it to your computer and edit it with gVim. Notepad won't work, it must be a unix-based text editor. Rename it to "customsort.dat" and put it back in "ux0:/data/HexFlow/" to create the custom category.
- I recommend you put Moonlight first, then your system apps like Retroarch and Autoplugin II, then leave the other games in normal alphabetical order. You can put them in any order you want though. For v0.8, you can have duplicates in customsort if you put them. (NOTE: this caused a minor graphical bug for some PSP games and was removed in next version).
- Wanna know how fast your startup was? (it should be ~2900 milliseconds). Go to the start menu > about.
v0.8
- New Portugese and Japanese language options. (8 total).
- Starts up in ~4 seconds after the first launch. Refresh cache via the start menu (a later version may have "rolling refresh", so you won't have to). After overriding a game's category or downloading a cover, you must refresh cache.
- Super performance boost from buffed CPU code at the start.
- It will generates "applist.dat" on launch or when you hit "Refresh Cache". Either edit it within Vitashell, or upload it to your computer and edit it with gVim. Notepad won't work, it must be a unix-based text editor. Rename it to "customsort.dat" and put it back in "ux0:/data/HexFlow/" to create the custom category.
- I recommend you put Moonlight first, then your system apps like Retroarch and Autoplugin II, then leave the other games in normal alphabetical order. You can put them in any order you want though. For v0.8, you can have duplicates in customsort if you put them. (NOTE: this caused a minor graphical bug for some PSP games and was removed in next version).
- Wanna know how fast your startup was? (it should be ~4000 milliseconds). Go to the start menu > about.
v0.7
- The only difference between 0.7 and 0.6 is that this one loads all icons flat and refuses to use covers (this speeds up the app at least 15%). It also has only 2 categories (all and custom).
v0.6
- Mod of VitaHex's HexFlow Launcher 0.5 that lets you custom sort your games in any order you want and put cool cases on them.
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:
- Creckeryop.
- andiweli (HEXFlow Covers database) (v0.9.1 and below).
- jimbob4000 (RetroFlow Covers database) (v1.0 and above).
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
- GitHub - https://github.com/BlackSheepBoy69/HexFlow-Launcher-Unofficial-Custom/
- Reddit - https://www.reddit.com/r/vitahacks/comments/x7ryka/release_hexlauncher_custom_101_minor_bugfix_more/
- Reddit - https://www.reddit.com/r/vitahacks/comments/x4bqve/release_hexlauncher_custom_10_revamp_mod_for/
- Reddit - https://www.reddit.com/r/vitahacks/comments/u61nmt/release_vitahex_launcher_custom_v09_unofficial/
- Reddit - https://www.reddit.com/r/vitahacks/comments/rnu978/release_hexlauncher_custom_08_revamp_mod_for/