What directories does SuperLemmini use? [V0.103a]

Started by Nepster, October 11, 2016, 06:28:46 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Nepster

So here is what happened:
- I downloaded SuperLemmini V0.103a and extracted the zip into the newly created folder "SuperLemmini".
- I started superlemmini.jar and was asked to provide the WinLemm and the target path. WinLemm is located in a separate directory and I chose the as the target path the newly created SuperLemmini folder "SuperLemmini".
- The extraction menu run perfectly fine and I clicked OK there, once it was finished.
- Looking again at the folder "SuperLemmini", I found that it created lots of new subdirectories: gfx//font, gfx//icons, gfx//lemmings, gfx//misc, level//$external, music//special, sound, styles//special were all completely empty! Only the new players subdirectory had a file in it, called default.ini.
- I wondered a bit about this, but tried to play some SuperLemmini level nevertheless. And it worked! All the L1 levels were perfectly playable. :lem-shocked:
- Now I wanted to test this a bit more and created a new directory "SuperLemmini_Test" and extracted the zip into this folder, too.
- And after starting the superlemmini.jar it shocked me by working without the need to extract the WinLemm files again. :lem-mindblown:
- It even knew that I solved "Just Dig" using the SuperLemmini game in the original directory.
- This made me suspicious and I renamed the folder "SuperLemmini" into "OLD_SuperLemmini". And voila, both the superlemmini.jar in the directory "OLD_SuperLemmini" and the one in "SuperLemmini_Test" wanted to extract the WinLemm files again. Both used the (no longer existing) "SuperLemmini" folder I used during the previous extraction as the suggested target location.
- I only did this for the superlemmini.jar in "SuperLemmini_Test". Again it created lots of empty directories, but ran fine.

So here are my three question:
- Why does SuperLemmini create empty folders?
- Where does SuperLemmini store the extracted sprites? I guess it must save them somewhere, but it certainly does not do this in the specified directory.
- Which directory does SuperLemmini use to store the info, where the player files, level files, ... are? If some newly copied superlemmini.jar in a newly created directory knows about a previous installment, this means that SuperLemmini saves some of the info globally in a totally unconnected and mysterious directory.

Some general opinion on this:
1) If SuperLemmini regularly writes into files, that are not located in (a subdirectory of) the directory of superlemmini.jar, then please provide an uninstall option, of which they aren't even aware of. Otherwise users will very likely have orphaned files lying around. Or even better: Never ever write to any file not either in a subdirectory of the superlemmini.jar location or in a directory that the player has explicitely chosen.
2) Let the player select a target location relative to the superlemmini.jar file path. This way one can rename directories without hampering playability of SuperLemmini.
3) Don't use global options that are automatically used for multiple executables. What if I messed things up in my first SuperLemmini directory, but don't want to delete everything be

Finally: What info is stored in the root.lzp file in my SuperLemmini directory and how can I read its content?

namida

QuoteFinally: What info is stored in the root.lzp file in my SuperLemmini directory and how can I read its content?

This file is actually the answer to your questions about where data is stored. It's best thought of as SuperLemmini's equivalent to an NXP, albeit not an exact equivalent.

The format is literally a ZIP file with a different extension.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)