Some things I've noted while trying TapTo out on Batocera and Raspbian.
[x] A new folder in cmd should be created for each platform, starting with a high level folder (ex. "linux") with more specific created if necessary (like "mister"). This way we can have the necessary GUI per platform and service (start/stop) implementation.
[ ] The above binary should also specify the associated platforms module and include interfaces, which will be passed to the daemon process. Then we can remove all references to the mister platform module and mrext throughout.
[ ] Creating a fake keyboard process requires root privs (and I think will only work on linux)
[x] The tracker (game tracking) service is the largest barrier right now, it's very mister specific and references to it are peppered everywhere. It needs to become a more generic per-platform interface.
[ ] The CSV mappings stuff all needs to be moved away into the mister platform since it's deprecated.
[ ] Same with the socket server.
[x] GetActiveCoreName is referenced throughout the reader code. Part of the platform interface should be a generic function to check the "active system".
Once these are addressed, TapTo will run very happily on generic linux with no special folders created. Though of course it won't be able to run any games right now, since that whole game launching system is currently hardcoded to the mrext mister lists and functions, they'll also need to be made more generic.
The build process also needs an overhaul. It's overly complex, it was just something I copied from mrext and chopped down until it worked. I'm open to suggestions for an alternative build system too, I'm not married to mage and I don't think there's much of any benefit to the build script being able to call Go functions. I've used this before and liked it: https://github.com/go-task/task But let me know if there's something better (preferably something simple)
Some things I've noted while trying TapTo out on Batocera and Raspbian.
Once these are addressed, TapTo will run very happily on generic linux with no special folders created. Though of course it won't be able to run any games right now, since that whole game launching system is currently hardcoded to the mrext mister lists and functions, they'll also need to be made more generic.
The build process also needs an overhaul. It's overly complex, it was just something I copied from mrext and chopped down until it worked. I'm open to suggestions for an alternative build system too, I'm not married to mage and I don't think there's much of any benefit to the build script being able to call Go functions. I've used this before and liked it: https://github.com/go-task/task But let me know if there's something better (preferably something simple)