thezerothcat / LaMulanaRandomizer

Randomizer for La-Mulana Remake
https://github.com/thezerothcat/LaMulanaRandomizer/wiki
BSD 2-Clause "Simplified" License
51 stars 17 forks source link

[Feature Request] Improve the seed import/export system #129

Open Nat-the-Chicken opened 1 year ago

Nat-the-Chicken commented 1 year ago

The way the randomizer currently works, trying to reinstate pre-generated seed layouts or send them to others is quite confusing, and the wiki doesn't seem to have anything on it. (This is particularly relevant to me because I play on settings with rather long generation times, so pre-generation is a valuable tool.) I managed to figure out how it works, but I definitely think it could be functionally improved, so here are some suggestions:

  1. Make an export popup which allows the selection of a seed folder not currently in effect. All it needs to do is verify that the necessary files are present in the folder and zip it up.
  2. Name exported zips after the seed number instead of the settings string, if possible. I'm not sure if the randomizer can tell which seed number is currently in effect, but it doesn't make sense to have zips generated from different seeds on the same settings end up with the same name. Also, if you still have the seed folder in your randomizer directory, re-importing the zip should write over some of the existing files with identical files rather than create a confusing differently-named folder with the same files.
  3. Automatically make a zip during generation. This is easy, and it would actually solve some of the other issues I addressed here by precluding the need for an export function entirely (although it could still be left in just in case the current seed folder was deleted by accident). You could even rename it to [seed number].lmr.imp or something, and then make it extra clear that this is the file type that should be imported.
  4. Add the option to generate a seed (or more than one seed) without automatically applying the changes to the game once it's finished. At the moment I'm scared to open the game while waiting for generation to finish because I don't know what will happen if the game files are modified while in use. If applying the seed later is an intuitive process, this part could be as well.

At the very least, there should be better documentation on how the system currently works. I'd be happy to help with this at some point, or even adding these features to the code myself, if I can.

Nat-the-Chicken commented 1 year ago

Testing it now, I can't replicate the txt issue I was having. Zip files containing txts (or any arbitrary files other than the necessary ones) are imported correctly. I'm not sure what was causing one or more of my testing zips to throw errors when I was originally trying to figure this out, but it must not have been the txt files. I edited the issue to remove that part.

Also, seems like the "generate a seed without applying it" actually has support in the code already. All I had to do was add a new button to perform the "generate" action and it works like a charm. I'm looking into how to implement the other things soon.