Skip to content

A simple tool for managing UCE libraries and their respective COX files for AtGames Legends devices and CoinopsX

Notifications You must be signed in to change notification settings

Xenrid/saUCEy-Syncs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

saUCEy-Syncs

A simple tool for managing UCE libraries and their respective cox files for AtGames Legends devices and CoinopsX

SaUCEy Syncs is a tool I crated to make it easier to manage UCE libraries of console and computer games for use alongside the main CoinopsX Arcade releases. CoinopsX is a special (unofficial) build of the Coinops frontend made to run on the AtGames Legends family devices, and most specific to the controls on their Legends Ultimate Arcade cabinet. UCE files are a special compressed file format used for packaging ROM files, a RetroArch emulator core, as well some additional graphics and other information.

The tool is an HTA (HTML Application), written in VBScript and, of course, HTML. I don't expect that it works on anything outside of the Windows ecosystem, but within Windows this makes it very portable as no special libraries are required. It's also worth noting that HTA and VBScript are pretty well defunct now, and may not be supported in future versions of Windows. I used them because VBScript code is basically the same as the VBA/VB6 code I use to write macros at work and I know a, barely passable, bit of HTML from scool and some past projects from well over a decade ago. I also used them because they're simple, with no Visual Studio, external tools & libraries, or compilining required. It's just one file, and if you want to know what it's doing viewing the code is as simple as opening it in a text editor. I have also attempted to comment everything well enough to make it clear what is happening even if you don't understand the code. Perhaps the VBScript can be converted to something more universal, like JavaScript one day and the whole application can be made into a PWA, but this is beyond my abilities for now.

The GUI uses a straightforward Source & Destination layout. I highly recommend creating separate UCE file folders for each system (i.e. SNES, C64, etc.) in parallel to your cox folder (same place as the Arcade folder). Set one of these folders as the destination and another folder containing an extracted collection of UCE files (also in proper parallel relation to its extracted cox files folder) as the source. You can obtain some of these CoinopsX UCE collections from Archive.org, but several of them have updated UCE directories within their compressed archives, which fix save and button mapping issues but also lack the associated cox files, so look, read, and be sure you've extracted everything to the proper location. I also recommend maintaining all of your own system UCE folders and their shared cox folder separate from the CoinopsX arcade build, and just copying them on top of the arcade build when you put together your flash drive. This will make it easier to add your own system libraries to new CoinopsX arcade builds when they are released and also allow this tool to run faster because it won't have to parse through all of the arcade cox files in addition to those specific to your own system libraries.

Using the arrow button will transfer selected UCE files as well as their identically named cox file counterparts into the destination folder and its adjacent cox folder, creating new file folders there as needed.

With the desired files in the destination folder, you have several options, including:

-Rename: This will rename the selected destination UCE file and all of its identically named cox files. The CoinopsX All Games list is organized alphabetically, so you can use this function to make sure games from the same franchise, but with disparate names, appear together or in the order you prefer. CoinopsX will only display the logo, and not the name changed here, so you can pretty much name things whatever you want to get the desired effect.

-Delete: This will delete the selected destination UCE file and all of its identically named cox files.

-Playlist: This will create a new playlist based on the destination UCE file list. The tool will prompt you to enter a playlist name, but the default will be the name of the destination UCE folder.

-Pull COX files from source: This function can be used in the event that you have a destination folder of UCE files, but have not copied any/all of the applicable cox files to the cox folder adjacent to your specified destination folder. Select a source folder in parallel to the cox folder where applicable cox files can be found. The tool will parse through the source adjacent cox sub-folders for any files identically named to the UCE files in the destination folder, and if found, it will copy those files into the applicable destination adjacent cox folder, saving you the time and effort of trying to locate and move them individually.

Hopefully all of the other functions are straightforward enough to not require explanation.

Known Issues:

-If you attempt to scroll one of the list boxes while the tool is working it may force close with no error message. I'm not sure what causes this, but I've encountered it a few times so I just leave the window alone while it's doing its thing.

-Sometimes files in the destination list box are not displayed alphabetically even after re-defining the destination folder. This is inconsistent and my best guess is that it has something to do with the file system being used. Since the list box order is used to write playlists it could mean your playlist is also not written alphabetically. The tool can be updated to make sure playlists are created in alphabetical order, but for the time being you my may have to manually reorder your playlist if you encounter this issue.

-Scaling on various form elements is wonky and doesn't make optimal use of window space. I'm no HTML expert, but I attempted to use div instead of nested tables and I couldn't achieve the desired effect, so it's suck with ancient nested tables for the moment. Height also doesn't render properly for elements in the table, but I got it to what I felt was about as good as it could be and left it. I believe the inability to get div working is a limitation of HTA and the height problems are a bug in the way HTA renders tables. Microsoft has pretty muck killed HTA (as well as VBScript) at this point, so if the issue is there it's never getting fixed. The other option is that I'm just inept at this stuff and it's user error... which is also a strong possibility.

About

A simple tool for managing UCE libraries and their respective COX files for AtGames Legends devices and CoinopsX

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages