Stiles
Members-
Posts
26 -
Joined
-
Last visited
Content Type
Profiles
Forums
Articles
Downloads
Gallery
Blogs
Everything posted by Stiles
-
Hey everyone, I've been building a PowerShell tool that automates the tedious parts of running a large TeknoParrot collection -- registering games, copying controls between games, deploying ReShade/dgVoodoo2/crosshairs, GPU and force-feedback fixes, and more. It's heading toward a 1.0 release and I'd really appreciate some extra hands testing it on libraries and setups different from my own before then. Who this is for: anyone with a sizeable TeknoParrot collection (dozens to hundreds of games), especially if you store games as ZIPs on a NAS, use LaunchBox/HyperSpin 2/RetroBat/Batocera as a frontend, or want crosshairs/ReShade/dgVoodoo2 set up across many games at once instead of one by one. What it does: Automatic registration -- scans extracted games, matches them to the correct TeknoParrot profile, and registers them (never overwrites existing registrations) Fuzzy matching for shared-executable platforms (NESiCAxLive and similar) using profile codes and an optional community dat file AutoSync -- extracts game ZIPs from a NAS/local source into a staging folder, skipping anything already extracted Control propagation -- bind one game per control type, the script copies those controls to every other game of that type Crosshair setup (321 included designs, visual preview grid) for lightgun games ReShade and dgVoodoo2 deployment, auto-detected per game GPU compatibility fixes (AMD/NVIDIA/Intel) and force feedback setup (native FFB Blaster + free third-party plugin) Postgres setup (new this version, more below) -- installs and configures the local PostgreSQL database some Incredible Technologies games need Frontend setup -- writes registered games directly into LaunchBox's own library (new this version, more below), exports to HyperSpin 2, and a RetroBat/Batocera naming mode switches extraction to the folder convention those frontends expect BepInEx update checks, game repair, restore-from-backup, and a read-only library health check Preview/dry-run mode -- see exactly what a run would do before anything is written Unattended mode for scheduled/overnight runs New since the last post: another round of bugfix patches (v0.99.9-v0.99.23) found during active beta testing -- two-executable games (Initial D Arcade Stage Zero and similar) now get their companion exe's path backfilled even on an already-registered profile, not just a fresh one; a dat-parser bug that was silently dropping roughly half of all games from its lookup index (493 opened, only 236 indexed in a real collection) is fixed, which turned out to be the real cause behind several "game not recognized" reports; a folder whose only conclusive match came from a different executable in the same folder no longer gets double-listed under "needs manual registration"; and AutoSync/the extraction pickers no longer report a game as missing just because its staging folder was manually renamed to the short name a PATH TOO LONG warning recommended. That last rename case also affected registration itself: a game sharing its executable with several other profiles (e.g. several Raw Thrills titles all using sdaemon.exe) could get reported as needing manual registration if its folder had been renamed to the recommended short name, since the folder-name-vs-profile matching didn't know about that rename either -- now fixed the same way. A tester then caught the rename-folder extraction fix not actually working for real-world ZIP names (it only ever helped a narrow case); the real fix now cross-checks against the game's own registration instead of trying to predict folder names at all, so an already-registered game is never reported as missing again regardless of what its folder is named. There was also a control-propagation regression in this window (v0.99.12) that got caught by a tester and reverted the same day (v0.99.14) -- full story, including why it's intentionally not auto-fixed going forward, is in the changelog and issue #1 on GitHub. New (opt-in) capability: a `canonicalArchetype` setting in overrides.json lets you name the one reference game per control family whose Input API is correct, so every other reference game in that family gets its Input API corrected to match it -- the safe, user-driven version of what the reverted v0.99.12 attempt tried to guess automatically. A code audit also turned up (and fixed in v0.99.19) a latent risk in that same shared-executable matching: two different games that both happen to score close together against one folder name used to be resolved with no real tie-break signal, so the wrong one could silently win; it now backs off to manual review instead whenever two candidates are too close to call. A tester's first real-world run of the canonicalArchetype fix then caught one more gap (fixed in v0.99.20): the correction was landing on disk for the reference game itself, but other games propagating their controls from it later in that same run were still picking up the old, pre-correction value -- it only took effect starting on the next run. Both now use the corrected value within a single run. Full details in the changelog. Previous version: Postgres setup. Several Incredible Technologies games (Golden Tee Live, Power Putt Live, Silver Strike Bowling Live, Target Toss Pro, Orange County Choppers Pinball) need a local PostgreSQL 8.3 database, which used to be a fully manual setup process. The script now detects which of your registered games need it and handles the rest: installs PostgreSQL if it isn't already there (requires running as Administrator, the only feature that does), never reinstalls it or touches an existing database if one's already set up, and either fills in the connection settings (for newer game profiles that use TeknoParrot's own database-creation flow) or creates the database and restores that game's backup itself (for older profiles). It also backs up your Postgres databases before touching anything, restorable from the same menu as the other backups, and the database password is encrypted before being saved. Previous version: direct LaunchBox integration. The script can add your registered games straight into LaunchBox's own library -- no import wizard needed. It checks LaunchBox is closed first, backs up the files it's about to change, and never duplicates a game already there. The first time you use it, you choose how TeknoParrot games should appear: mixed into your existing Arcade platform, a separate "TeknoParrot" platform, a platform with a name you pick, or both Arcade and a dedicated platform at once. Your choice is remembered for next time. If anything looks wrong afterward, there's a one-step restore for the LaunchBox files too, separate from the existing TeknoParrot backup. If you'd rather not let the script touch LaunchBox directly, the old manual-import reference file and wizard instructions are still there as a fallback. Full feature list and setup instructions are in the README included with the download. Specific things I'd love help testing: AutoSync against your own NAS/ZIP library -- especially large libraries (100+ games) and supplementary/secondary source folders Less common platforms: NESiCAxLive fuzzy matching, Konami PC arcade (.dll-based games), Sega Chihiro/cxbxr (.xbe), pcsx2x6/Lindbergh (.elf) RetroBat / Batocera folder-naming mode, if that's your frontend Control propagation across mixed control types (wheel, gun, trackball, twin-stick) -- make sure nothing crosses wires ReShade/dgVoodoo2 deployment on games with OpenParrot or BudgieLoader (these get special-cased destination handling) GPU fix and FFB setup on AMD and Intel GPUs specifically (most of my own testing has been NVIDIA) Preview/dry-run mode -- confirm it matches what actually happens when you apply for real The new direct LaunchBox integration specifically -- try all four platform choices, confirm games actually launch from LaunchBox afterward, and try the restore option to make sure it cleanly undoes things The new Postgres setup specifically, if you own any of the games that need it -- both a from-scratch install and a run against a PostgreSQL install you already had configured (confirm it leaves your existing setup alone) HyperSpin 2 export against an existing frontend library Restore-from-backup, to make sure a bad run is always recoverable Auto-detect of your TeknoParrot and LaunchBox install paths on a fresh machine/profile Before you run it: this is a beta. It backs up your UserProfiles automatically at the start of every run, backs up LaunchBox's files before touching those, and backs up your Postgres databases before touching those too, but please test on one game after each run rather than assuming a full library pass worked. Preview mode (mode 1 or 2 will offer it, or pass -DryRun) lets you see what would happen with zero files written -- great for a first run against a library you haven't tried this on before. How to report bugs or give feedback: Best: open an issue on GitHub -- https://github.com/Jumpstile/teknoparrot-manager/issues -- include your TeknoParrot-Manager.log, what mode you ran, and what you expected vs. what happened Or reply in this thread if you'd rather not use GitHub -- I'll pick it up either way If something writes data wrong or a registration looks broken, the restore option under menu 9 will get you back to a known-good state immediately, for TeknoParrot's own profiles, LaunchBox's library files, or Postgres databases Got ideas for LaunchBox/BigBox-specific additions? Now that it writes directly into LaunchBox rather than just producing a reference file, I'd like to hear what else would help on the frontend side -- BigBox-specific behavior, playlist/theme interactions, or anything about how registered games look or launch in Big Box mode that feels rough. I haven't automated the exit script or startup-screen settings some people configure by hand in LaunchBox's emulator setup, since I don't have a verified script to inject automatically -- if you've got a known-good one you use, I'd be curious to hear about it. I can't promise everything will make it in before 1.0 (feature work is mostly paused while I stabilize for release), but it's exactly the kind of input I want to start collecting now. Download, README, and changelog: https://github.com/Jumpstile/teknoparrot-manager/releases Thanks in advance to anyone willing to kick the tires -- the more setups this gets tested against before 1.0, the better.
-
Happens for me as well...
-
- 133 comments
-
- 1
-
-
Getting similar crashes with that theme as well. Works fine with Default theme.
-
I am still having the same issue when importing TeknoParrot games. Why does LB change what I select and import whatever it wants instead of my selection?
-
Anyone else having issues importing Teknoparrot games?
-
I am having a very similar issue when importing Teknoparrot games. I'm using the .XML files to import them, not the application itself, but the import screen never lists the correct games. Running latest version of LaunchBox.
-
Ahh thanks! I’ll try this. Appreciate the assist.
-
Any ideas on this? Anyone else having a similar issue?
-
Getting this error when importing a full MAME set (.249). This is on version 12.16. Launchbox won't even let me import this set at all. Tried multiple times. Debug logs attached. Debug 2022-10-28 09-07-26 PM.log
-
Yup, having the same issue.
-
Setup Pause Screen Key For Simultaneous Keypresses (UP+DOWN)
Stiles replied to Stiles's topic in Troubleshooting
Any ideas folks? -
A while back I built my arcade cabinet, and due to the fact that I did not have enough inputs on the keyboard encoder that I am using, I designed the pause button with diodes so that it registers an UP and DOWN keypress at the same exact time (see: https://tigerheli.mameworld.info/encoder/pausekey.htm). Is there any way to make Launchbox/Bigbox recognize this input to activate the pause screen?
-
Delete the files in that cache folder and it should be fixed. Just give it a few minutes for everything to repopulate, especially if you have a rather large library.
-
Looks like the issue went away permanently. The clear logos now take seconds to populate after the initial 20 or so immediately display. I've opened Big Box multiple times now to test. Probably some cache corruption that was rectified by removing the old files.
-
They eventually did populate, after I deleted all of the clear logos out of that cache folder. I sent the logs to you anyway, as there is something else going on in them. Let me know what you find. Thanks!
-
I deleted all of the files in that folder and the issue is the same. It populates the first 20 or 21 logos but when I scroll through my list the rest of the logos do not appear.
-
Yes I specifically used the option to fully populate the clear logo cache. Some show up, but others do not.
-
I am having the same issue.
-
Videos in BigBox have no sound with VLC selected in 11.7
Stiles replied to StickySweater's topic in Troubleshooting
Working here as well. Thank you! -
Synology DS1819+ NAS performance with Launchbox / BigBox
Stiles replied to cleverest's topic in Collections and Builds
Interesting, never used BTRFS. Looks really promising. Here's a good article on it: https://www.unixmen.com/review-ext4-vs-btrfs-vs-xfs. -
Synology DS1819+ NAS performance with Launchbox / BigBox
Stiles replied to cleverest's topic in Collections and Builds
Make sure to format your partitions as EXT4, as you'll get much better speed than NTFS or FAT32. Turn off encryption for SMB in the NAS as well. If you do those things you shouldn't have too many issues. -
What I did was get an old arcade cabinet that was no working and gutted it. I got it for free. There are many out there that you can do that with. You'd get a much higher quality cabinet that way as well. I then built a new control panel out of wood and retrofitted it in place of the old control panel. Looks great, especially with custom artwork applied.