oblivioncth / FIL

A completely automated importer of Flashpoint Archive for LaunchBox and other frontends
GNU Affero General Public License v3.0
8 stars 0 forks source link

[Feature] Support for Kahvibreak and InstanceArchive (based off Flashpoint Launcher but modified) #42

Open kaddisemu opened 8 months ago

kaddisemu commented 8 months ago

Kahvibreak is a preservation project for all the J2ME/Mophun/Nokia 3410 games (instead of web games). It uses a modified version of Flashpoint Launcher and is a side project of BlueMaxima. I have tried importing it with FIL into LaunchBox but it does not work. There is also Instance Archive which is also based on the Flashpoint launcher but is for early Game Maker games. FIL does not support this one as well.

I would love it if FIL supported these as I have a pretty huge collection of games and would like to add Java J2ME phone games (adding the standalone KEmulator and FreeJ2ME does not work) as well as early Game Maker games.

Here are the links for these projects: https://bluemaxima.org/kahvibreak/ https://bluemaxima.org/instance_archive/

They aren't as updated as Flashpoint but I would still like to add them to my Launchbox collection.

oblivioncth commented 7 months ago

You're the third person to ask for this within a relatively short timespan XD.

This is something that I am interesting is trying to achieve, but it's not as simple to pull off as it may appear at first just because the other projects are based on Flashpoint's launcher and data layout. I would need to significantly rewrite libfp, as well as make major changes to CLIFp to allow for recognizing and seamlessly handling more than just FP dynamically at runtime (if I'm going to do this for Kahvikbreak, I'm going to consider the other Flashpoint spinoffs as well.

The major question is how much overlap is there actually in their innerworkings? Hopefully there should be a lot as I imagine they all use a database and JSON configuration files in the same way that FP does, but there is a lot of FP behavior that is semi-hard-coded and likely is specific to it. The more instances of exceptions and less following the rule that the other BlueMaxima projects have the more challenging this becomes. This could get especially annoying if the other projects usually do follow the tooling changes of FP, but lag behind release wise so my tools would need to support multiple revisions of the setup simultaneously.

Additionally, as soon as I accomplish this I then gain the maintenance burden of having to make sure any changes I made to any of the 3 involved projects not only don't break functionality with FP, but also with any of the other projects I start supporting. FP's development is already fairly active and consistently requires me to make breaking changes when they push updates so having to deal with that for multiple's of these could be a nightmare.

Of course, FP is orders of magnitude more popular than the other ones so hopefully they're not nearly as annoying to keep up with on their own.

So... this is something I want to look into, starting with downloading the couple other projects (I've never really messed with them) and inspecting them to see how much in common they share with FP at a technical level, but it would take a significant amount of dedicated effort that I can't currently say when I'll have the time for. At the very least this issue is good to have in order to track the request for when I can eventually get around to it.

Assuming I deem it feasible, after reworking the tools to allow for more than just FP support, I'll likely start with adding Kahvikbreak since it seems to be the most popular after FP.

kaddisemu commented 7 months ago

The major question is how much overlap is there actually in their innerworkings?

This is a question you may want to ask Flashpoint and Kahvibreak's developers, They both have individual Discord servers if you want to check them out: Flashpoint: https://discord.gg/qhvAkhWXU5 Kahvibreak: https://discord.gg/8TgbHAG It could help you get a better idea of FP and Kahvibreak's differences

oblivioncth commented 7 months ago

What I more so specifically meant by posing that question was that once I have the time, I'll personally need to root through the files of each Flashpoint-based project to see what the overlap is like while keeping the specific context of my existing implementations in mind in order to fully determine how feasible doing this is in a reasonable amount of time.

While of course I'll reach out to the various project members if I have a specific question, making the overall assessment is something that will largely require direct investigative work from my end.

I've been on the FP discords for a few years at this point and am loosely friendly with the devs XD. Haven't had a chance to stop in the Kahvibreak one though.

Fespinoza831 commented 4 months ago

I too would love to see support for this to be added.