So I’ve been mostly living on Linux lately. It started out as a last-ditch effort to save a failing PC, and turned into a wild distro-hopping adventure with a good side of on-the-fly learning experiences. As far as I’m concerned, as long as I can keep DS running in some form or fashion, I’m happy.

I’ve been primarily using (and greatly appreciating) the dstation-2020 installer script for getting up and running, as you’ve probably noticed if you’ve read my install logs. But I’m especially intrigued by the fact that I seem to be able to run multiple instances of the game at once without issue. If this holds true, I should be able to make a few changes to the Albian Warp Game Modifications to-- instead of linking users over the internet, link worlds running on the same machine. Since the AWGMs already use the exported creatures folder for “warping”, it shouldn’t even be that difficult to do.

But I’m getting ahead of myself. Today I’m actually intrigued by something else-- the fact the dstation-2020 uses a folder for mods that is separate from the rest of the game files. Actually, while that’s true, I’m still getting ahead of myself. Today I’m just trying to get dstation-2020 to dock with C3.

Dstation-2020 (that’s getting to be a lot to type-- can I just call it DS20?) pre-populates the game folder with an empty creatures3 folder that, in theory, you can just copy the contents of a windows c3 install into and be good to go. However, frustratingly, it’s not that simple.

You probably know that filenames are case-sensitive in Linux, but LC2E specifically wants all of your filenames to be in lower case, or else it will claim they don’t exist. Even if they are specified as upper case in the cosfile, the engine will still look for them exclusively in lower case. This means we have quite a bit of renaming to do.

Well, actually, there’s a command for that. It’s find my_root_dir -depth -exec rename 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;

It takes a while to run, but then--

Oh, uh. Well, it turns out that command renames your folder names to lowercase too, and the engine does not like that.

So picky.

Well, after renaming those, we’re in!

But. um. I don’t think this goes here.

It looks like the contents of creatures3/Bootstrap/000 switcher were injected right into the world as if they were intended to be part of the main set of scripts! But it turns out this is my fault again. Once I renamed the folders back to 000 Switcher and 001 World, any new worlds I created looked perfectly fine.

Okay. Now it’s time to get some mods in here.

The mods folder is set up just like a standard game directory. The main bootstrap folders point to their originals, so presumably I have to make my own if I want to include cosfiles. For everything else, I dropped images in the image folder and catalogue files in the catalogue folder, as one does.

And it’s working beautifully!

As expected, though perhaps slightly to my disappointment, when you inject an agent file for the first time, the assets will still unpack into the main DS directories, not into the mods directory. So it’s not quite as neatly compartmentalized as I would like, but functionality like that would require a more complex script. Maybe someday!

Anyway, I’ve achieved what I set out to accomplish, and that feels pretty nice. I guess the next order of business is experimenting with running multiple worlds at the same time and seeing just how much work I’ve cut out for myself here.