Frictional Games Forum (read-only)

Full Version: How to create a fully isolated full conversion
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7
Warning: This tutorial assumes you have the Justine patch installed for your Amnesia installation. Also, i'll only help others solve issues caused by this process only for the things i provided (exact) directions for. Note, also, this article should be considered a work-in-progress and may be updated if any issues arise.

Note: Although i provide this tutorial, i do not intend it to imply that everyone should consider making a full conversion simply because they can and have the resources. Changing entities and objects is not a proper justification for choosing to go with a full conversion. Proper justification would be for the sake of changing game mechanics, like night vision, sanity drain, oil drain, etc.

Due to the fact that a lot of full conversion mods out there have a complicated installation, making it difficult to keep your Amnesia installation clean, i have decided to teach people how to create a fully isolated full conversion mod where the user would only need to delete one folder to completely uninstall the full conversion mod. I find complicated installations for full conversions unacceptable for community-based full conversions, and wouldn't you prefer to have a fully isolated full conversion too?



First steps

Create a folder called test_mod under the redist folder (for retail edition) or the amnesia the dark descent folder (for Steam edition). This folder will contain everything our full conversion mod needs.

Inside the test_mod folder, create the following folders:
  • config
  • config/lang
  • entities
  • graphics
  • maps
  • main_menu
  • static_objects
  • textures



Configuration

Go into the config folder of Amnesia and copy over the following files to test_mod/config:
  • default_main_settings.cfg
  • game.cfg (use ptest_game.cfg for female voice)
  • ptest_main_init.cfg
  • ptest_menu.cfg
  • base_english.lang

Under test_mod/config, rename the files so that they don't have the prefix "ptest_". Under test_mod/config/lang create the file english.lang or simply copy the one located at config/lang_ptest.

Be sure to also copy the resources.cfg file into the test_mod folder.

test_mod/config/main_init.cfg

Open the test_mod/config/main_init.cfg file for editing. Every attribute shown in there must remain there, or else the game may crash for failing to parse the configuration. All attributes should have a value, or else the game may crash.

Make sure that the values for the following attributes have a prefix of "test_mod/":

ConfigFiles:
  • Resources
  • Game
  • Menu
  • DefaultMainSettings
Directories:
  • BaseLanguageFolder
  • GameLanguageFolder
StartMap:
  • Folder

Make sure none of the attributes have "ptest_" or "_ptest" in their values. Be sure to also modify Variables::GameName, Directories::MainSaveFolder, StartMap::File and StartMap:Tongueos to match your story.

test_mod/config/menu.cfg

Make sure Main::BGScene has a value like "test_mod/main_menu/menu_bg.map". Make sure Main::MenuLogo points to something like "test_mod/graphics/menu_logo.png". Change the values if you choose to change the file names. The rest i'll leave up to you to modify (if you're courageous enough Tongue).

test_mod/config/default_main_settings.cfg

Add ShowPreMenu="false" to the Main element. Change FullScreen to "false", LimitFPS to "false" and VSync to "true".

test_mod/resources.cfg

Prefix the /main_menu, /commentary, /maps and /flashbacks directories with "/test_mod".

Make sure to add the following directories to the list:
  • /test_mod/entities
  • /test_mod/static_objects
  • /test_mod/music
  • /test_mod/sounds
  • /test_mod/graphics
  • /test_mod/textures
  • /test_mod/gui

For any new directories just add them to the list as you go. Don't worry if the directories listed do not exist, as you can create them later.



Maps

test_mod/main_menu/menu_bg.map

This is the map used for the main menu (as you could guess). For the camera, just make sure to have a PlayerStart area with the name "CameraPos". The direction of the camera is towards the -Z of the local coordinates of the area (i.e. the small arrows of the area).

StartMap::File and StartMap::Folder

Obviously, the starting map when the player starts a new game. It should be obvious how to set this up for those who are used to creating custom stories.



System-dependent scripts

Batch file (Windows)

test_mod.bat (can be named differently, but must end with .bat). Needs to be placed in your full conversion's folder.
Code:
cd /d ..
Amnesia.exe test_mod/config/main_init.cfg


Bash file (Linux)

test_mod.sh (can be named differently; doesn't need to end with .sh). Needs to be placed in your full conversion's folder.
Code:
#!/bin/bash

FCNAME="test_mod"

# 64-bit operating systems
if [ "$(uname -m)" = "x86_64" ]; then
    ../Amnesia.bin64 "$FCNAME/config/main_init.cfg"

# 32-bit operating systems
else
    ../Amnesia.bin "$FCNAME/config/main_init.cfg"
fi


AppleScript (Mac OS)

test_mod.scpt (can be named differently but should end with .scpt). Could probably be placed anywhere; however, i have no idea (i don't own a Mac).
Code:
do shell script "open /Applications/Amnesia.app --args test_mod/config/main_init.cfg"



Other things

Everything else i'm going to leave up to you.

Note: If you don't have Steam or a redist folder, simply assume the directory where all the important files and folders of Amnesia are located in.

[attach]3008[/attach]
For those that own a Mac and the game for the Mac OS and have it installed, could you test this out with the AppleScript code provided?

Nevermind, it seems to work.
Ok I did every single thing correctly in the tutorial that you presented. I started up the batch file and everything seemed to go ok. I got the launch window with no errors. When I start the game though, it gives me "Something went wrong!!! error"

This happens when I launch the custom story game it self.

Also the Exception Reason is this

"Amnesia.exe caused an EXCEPTION_ACCESS_VIOLATION in module
Amnesia.exe at 0023:005A3D12

Help please!
I would make my mod fully isolatedBig Grin
Great tutorialSmile

I'm reading this with my mobilephone while workingBig Grin
(fixing toyota's exhaust system) ... 1 hour down, 7 to goBig Grin
it won't let me save the main_init.cfg file when I edit it, just tells me that I have it open in another program, which I don't... :/
I cannot make the folder: config/lang. It says that I am not allowed to put special characters in the name.

EDIT: Or am I stupid and config/lang means put lang inside of config? Yep, probably.
StartMap::File and StartMap::Folder

Obviously, the starting map when the player starts a new game. It should be obvious how to set this up for those who are used to creating custom stories.


what you mean with that ??????

Hi Your Computer,

I would like to change EtD from FCM to an IFC as your guide says. However, I have already started working on the mod. Do you think that can be done easily in some way? At first I though I could open every map with the LevelEditor, select every object etc... and point to the new location. But then I thought that maybe that could be done by changing the map configuration files(open with a text editor, find and replace). What do you think I should do?
(06-04-2012, 08:23 PM)plutomaniac Wrote: [ -> ]Hi Your Computer,

I would like to change EtD from FCM to an IFC as your guide says. However, I have already started working on the mod. Do you think that can be done easily in some way? At first I though I could open every map with the LevelEditor, select every object etc... and point to the new location. But then I thought that maybe that could be done by changing the map configuration files. What do you think I should do?
I changed Killings in Alstadt from a FCM to a IFC and it worked great Smile I must say it was a bit tricky but I got it working flawlessly in the end Smile
Pages: 1 2 3 4 5 6 7