mtolly / onyx

Toolkit for converting and building songs for Rock Band, Guitar Hero, Clone Hero, and other similar rhythm games
159 stars 16 forks source link

Consider adding an option for raw song folder output when building for PS3. #271

Closed DarkRTA closed 1 month ago

DarkRTA commented 3 months ago

There are several cases where building a package is not needed (and outright undesirable), so it would be nice if operations supported creating unpacked song folders instead.

This can save a lot of time as building a pkg file is really slow.

mtolly commented 3 months ago

Figuring this out now. Assuming the common case is installing directly into RPCS3 drive folders, what would be the most useful place in the folder hierarchy to output songs:

  1. User selects folder rpcs3/dev_hdd0/game, output BLUS30463/USRDIR/<pack folder>/...
  2. User selects folder rpcs3/dev_hdd0/game/BLUS30463/USRDIR, output <pack folder>/...

Option 1 has the advantage that it installs to the right game automatically. But option 2 would let you override this if you know what you're doing, also if you're not installing directly into the RPCS3 drive then maybe it's more expected that the new things in the folder you select would just be the pack folders instead of e.g. BLUS30463. Though maybe that's also more prone to name collision.

I guess it could also pick between the two automatically. So if you select a folder named game then do option 1, a folder named USRDIR do option 2, otherwise one of them (not sure which) would be a default. Does that sound reasonable?

Regardless the default location will be settable in Preferences (and maybe default to RPCS3's usual folder per platform) so you'd generally never have to touch it in the dialog.

DarkRTA commented 3 months ago

Option 2 looks less surprising in my opinion. Usually when you select an output folder you are expecting the loose files to end up there rather than deeply nested.

That being said if you want the convenience shortcut anyway, this is what I would personally do.

if folder name is `game` (or some other indication that we are doing a direct install to rpcs3):
   do option 1
else:
   do option 2
mtolly commented 1 month ago

This has been added in version 20240928, to recompile (RB3/RB2/GH3/GHWoR output) and RB Quick Convert. I implemented the idea to autodetect if you are selecting somewhere in the RPCS3 folder chain; I would recommend selecting dev_hdd0 as the output folder. In Preferences you can enter this folder on the PS3 tab so it will be the default for that dialog. Let me know if there are any problems.