Frictional Games Forum (read-only)
[WIP] Amnesia Mod Loader - Printable Version

+- Frictional Games Forum (read-only) (https://www.frictionalgames.com/forum)
+-- Forum: Amnesia: The Dark Descent (https://www.frictionalgames.com/forum/forum-6.html)
+--- Forum: Custom Stories, TCs & Mods - Development (https://www.frictionalgames.com/forum/forum-38.html)
+--- Thread: [WIP] Amnesia Mod Loader (/thread-25684.html)

Pages: 1 2 3


Amnesia Mod Loader - Mudbill - 07-13-2014

Yeah, so I'm working on a mod loader app that would work with Amnesia, as discussed in this thread and I figured I could have this little thread open as a WIP thread in the mean time while I develop it.

You can read a bit more about how I've planned it to work in the above linked thread. I will of course create a separate thread explaining everything when it is finished.

Any suggestions of features to add to it would be nice, as well as any other feedback you may have =P

Though, keep in mind that I'm not in any way a professional app writer or anything, so some of the things I'll be doing for this will be a challenge to myself. Hopefully I will actually achieve the goal though.

Oh, and also I've been thinking about letting mods contain extra files to work with this mod loader. If you keep an aml.cfg file in your mod, you can specify settings for it. Here's what I've planned so far for it:

PHP Code:
#AmnesiaModLoader config file setup

IconFile "icon.png"
Author "Mudbill"
Name "Modification"
Description "This mod revolves around stuff happening in the presence of a player." 

By the way, do you think this file should be named aml.cfg or something else? modloader.cfg maybe? amnesia_mod_loader.cfg maybe?

Currently I'm working on the design and components. Here's a somewhat early screenshot of how it may look like:
Spoiler below!
[Image: uZ8PrUI.png]

This time I will be prioritizing platforms a bit more, starting with Windows and creating separate versions for other platforms (Mac and Linux) as I go.

I hope this will turn out good <3
Now, back to Eclipse.


RE: Amnesia Mod Loader - DnALANGE - 07-13-2014

If i see here...
Can you also make a (SUB)-folder for example Full Conversion and Custom Storys?
If you put them all together not sure if it would work and look any good with all redist stuff from FC mods.
Overall I love the idea!
KEep this up man, hopefully it turns out easy and good!


RE: Amnesia Mod Loader - MrBehemoth - 07-13-2014

I think this is a great idea. Good work Mudbill. I'm absolutely going to adopt your specs.

On top of what I mentioned in the other thread, here's another thought: Some mods require the 1.3 beta patch (AMFP assets, rigged Blender meshes), whereas others (The Trapdoor for one) get buggy when the patch is installed.

Here's my suggestion to tackle this: Could the aml.cfg specify which version of ATDD is required? Your launcher could read a compatibility field from the cfg and use it to build a string that is displayed in the description box, for example:
Spoiler below!

[Image: MudbillLoaderSuggestion.jpg]

Then it's up to the user to either update or roll back.

(Hope you don't mind me editing your image.) What do you think?


RE: Amnesia Mod Loader - Daemian - 07-13-2014

Mud, about the extra config file, I know it's better for you, you may prefer one so you can have the data organized exactly the way you want, to have extra info, etc. But if the existance of that file determines whether a mod is functional on the loader or not, then I don't think it's a good idea.
You should gather all the info from the files you have available, like main_init.cfg and custom_story_settings.cfg


RE: Amnesia Mod Loader - Daemian - 07-13-2014

You know, this is the info you get from these files:
custom_story_settings.cfg
Code:
ImgFile = "Monster42.jpg"
Name = "The.Haunted.Swimming.Pool"
Author = "Pikachu"

main_init.cfg
Code:
GameName = "El Fantasma"

From a main_init.cfg you only get the name of the mod, cause they don't have any image like custom stories do, unless the modders start to include them. But it doesn't matter, for IFC/FC we only care for its location, to generate the command string.

By the way, for win users I found a better way to launch Amnesia. Example:
Spoiler below!
Code:
start "" Launcher El Fantasma/Config/main_init.cfg
exit

It opens launcher.exe so players may choose their settings beforehand. And using start "" before calling the executable, opens the launcher without depending on the batch, so it can close itself with exit.

So it would be something like this: start "" $launcher_path $maincfg_path




RE: Amnesia Mod Loader - Mudbill - 07-13-2014

@MrBehemoth
Yeah, that's a nice feature. I can at least add a warning about such a compatibility issue. Perhaps by using a config setting like:
PHP Code:
MinVersion "1.2"
MaxVersion "1.2" 

This would be requiring Justine patch, but not allowing 1.3 Beta. Keeping MaxVersion empty could be to allow any newer versions.

I'm also not sure, even if the mod says it doesn't want to be used with the beta, if I should disallow it to be launched. I think I'll just give a warning. If I am to do anything more, I'll need to be able to detect the version of the game.

@Amn
Oh yeah, the name is already found in main_init.cfg. That would make it unnecessary for me to have to find it in here. I suppose it's better to fetch it from there in case the aml.cfg doesn't exist, so the app will know what to at least name it in the list.

And no, the aml.cfg will not be required for it to work, it will only allow mods to have a custom description/icon/author within the launcher list. Which reminds me that I forgot to actually add its space to the launcher.


PS: The icon file in the list will be a 64x64 sized file. I'm unsure about what sort of formats will work, but I'm guessing most will. Certainly PNG, JPG and GIF.

Update:
Here's a newer look of how it may end up like. I've added some more features and set up some of the logic behind it.
[Image: OvHquvD.png]

I'm just wondering if it's okay for me to use Amnesia's graphics. I could go make something of my own, but I'd like to have it somewhat of the original style. If FG was a triple-A company, I'm certain I wouldn't be allowed, but indies are usually pretty cool. Either way I'd rather be sure before releasing it. Thoughts?


RE: Amnesia Mod Loader - MrBehemoth - 07-15-2014

(07-13-2014, 07:22 PM)Mudbill Wrote: I'm just wondering if it's okay for me to use Amnesia's graphics.

Why don't you just PM Thomas Grip and ask him? I'm sure he'd be interested to know about your project too. Smile


RE: Amnesia Mod Loader - Daemian - 07-15-2014

I don't think they care, you're not making money using their product/image.
But anyways, graphics are secondary, imo, you can always make yours in case they say something.

As for the interface you did, I think it's decent and effective. It has exactly what we need, no more. Kinda what I had in mind. So I guess it's perfect right now. I'd like to test it and tell you my thoughts on it. Let me know.


RE: Amnesia Mod Loader - Mudbill - 07-15-2014

Yeah, I might also need someone on Linux who has Amnesia installed for testing later. I have an Ubuntu VM, but not with the game.

Perhaps I might even need to buy a retail version just to make sure it works with it.

Anyway, it should be able to detect any main_init.cfg files in a specified folder. If you select the Amnesia root folder, it will find them regardless of location in there. Personally I'd prefer a /mods folder but it isn't strictly necessary. I did select my C:\ drive once, and it managed to sniff out 6 mods on it, though it did take like 4 minutes, so I don't recommend it Tongue
Besides, even if it finds mods outside the Amnesia directory, they won't run without the game itself.


RE: Amnesia Mod Loader - Daemian - 07-16-2014

Great. I do have several Amnesia versions where I can test stuff. With patch, no patch, clean one, full of mods, tests, etc.
Skype me plz: AmnLemoore

As for the game dir, paths and stuff I'd recommend this method:

The app should work directly from the game's dir. (Just like the Amnesia tools)
So you can tell players to just drop the app in their game dir. That's all. No matter what OS or version they have. It works from there. They can even have several Amnesia folders with their own app in it.
Like this:
  • D:/AmnesiaClean/
    D:/AmnesiaPatched/
    E:/AmnesiaJustine/
    F:/MyStuff/Cake/AmnesiaGame/

And each of those have a working version of your app.
The copy of the app on different folders should load a different list of mods cause it's running from a different place.
It just needs to load stuff from /custom_stories (or /mods) using relative path.

So, I can have for example:
A copy of the app at D:/Games/Amnesia/ModLoader.exe
To load my list of mods from D:/Games/Amnesia/Custom_Stories/
So when I run the ModLoader in that path I get only the mods I store there cause it's loading from the relative path ./Custom_Stories.

The only problem I see on this it's for retail users, they have their files in /redist (If I'm not mistaken)
but they already know by now where the files go.

A pro about this could be that ModLoader doesn't need to go around your disk looking for mods, it just have one dir. Maybe you could save the list so it loads faster. And a refresh/reload button.

What you think?