Difference between revisions of "HPL2/TDD/Change Custom Story into Full Conversion Mod"
m (Add note about relative paths) |
|||
Line 3: | Line 3: | ||
Since version 1.5 of Amnesia The Dark Descent (release in July 2023), a new field has been added to the custom_story_settings.cfg file. This field allows you to specify a main_init.cfg file, which is the main file that full conversion mods use to launch. This means you can now create full conversion mods from a custom story, and they will still show up in the main game menu. This unlocks all the power of full conversion mods, while maintaining most of the simplicity of a custom story. | Since version 1.5 of Amnesia The Dark Descent (release in July 2023), a new field has been added to the custom_story_settings.cfg file. This field allows you to specify a main_init.cfg file, which is the main file that full conversion mods use to launch. This means you can now create full conversion mods from a custom story, and they will still show up in the main game menu. This unlocks all the power of full conversion mods, while maintaining most of the simplicity of a custom story. | ||
− | + | If you have a custom story that you want to transform into a full conversion mod, start by adding the new field to your custom_story_settings.cfg: | |
− | + | <syntaxhighlight lang="xml"> | |
− | If you have a custom story that you want to transform into a full conversion mod, start by adding the new field to your custom_story_settings.cfg:<syntaxhighlight lang="xml"> | ||
<Main | <Main | ||
Name = "My story" | Name = "My story" | ||
Line 14: | Line 13: | ||
InitCfgFile = "config/main_init.cfg" | InitCfgFile = "config/main_init.cfg" | ||
/> | /> | ||
− | </syntaxhighlight>Specifying this field will disable <code>MapsFolder</code>, <code>StartMap</code> and <code>StartPos</code>, as these fields will instead be read from the main_init.cfg file. It will also disable <code>ExtraLangFilePrefix</code> and <code>DefaultExtraLangFile</code>, as the game will instead use the primary lang files specified in main_init.cfg. | + | </syntaxhighlight> |
− | + | Specifying this field will disable <code>MapsFolder</code>, <code>StartMap</code> and <code>StartPos</code>, as these fields will instead be read from the main_init.cfg file. It will also disable <code>ExtraLangFilePrefix</code> and <code>DefaultExtraLangFile</code>, as the game will instead use the primary lang files specified in main_init.cfg. The description of your custom story will instead be located in said lang file, in the <code>CustomStoryMain</code> category. | |
− | + | From this point on, you can follow tutorials for full conversion mods. Your mod folder will remain <code>custom_stories/<your story></code>. For example, if your story folder is named "Ascent", your main init file should exist at <code>custom_stories/Ascent/config/main_init.cfg</code> (reflecting what you put in the <code>InitCfgFile</code> above). Create the "config" folder and the "main_init.cfg" file. The contents of your main_init.cfg file can start as such (Remember to change the references to "Ascent" to reflect your own mod, such as MainSaveFolder and GameName): | |
− | From this point on, you can follow tutorials for full conversion mods. Your mod folder will remain <code>custom_stories/<your story></code>. For example, if your story folder is named "Ascent", your main init file should exist at <code>custom_stories/Ascent/config/main_init.cfg</code> (reflecting what you put in the <code>InitCfgFile</code> above). Create the "config" folder and the "main_init.cfg" file. The contents of your main_init.cfg file can start as such (Remember to change the references to "Ascent" to reflect your own mod, such as MainSaveFolder and GameName):<syntaxhighlight lang="xml"> | + | <syntaxhighlight lang="xml"> |
<ConfigFiles | <ConfigFiles | ||
Resources = "resources.cfg" | Resources = "resources.cfg" | ||
Line 61: | Line 60: | ||
Pos = "PlayerStartArea_1" | Pos = "PlayerStartArea_1" | ||
/> | /> | ||
− | </syntaxhighlight>Note: Paths specified in this file are relative paths starting from the custom story's main folder, eg: "custom_stories/Ascent". | + | </syntaxhighlight> |
+ | |||
+ | Note: Paths specified in this file are relative paths starting from the custom story's main folder, eg: "custom_stories/Ascent". For example, leaving Resources as "resources.cfg" means it should exist at "custom_stories/Ascent/resources.cfg". If a file is not found here, it will fall back to using the file specified in the base game main_init.cfg. | ||
+ | |||
+ | '''resources.cfg is required for your full conversion to load any files contained in your custom story's folder!''' Simply copying the original resources.cfg and placing it in your custom story's folder is sufficient. Note that unlike the base game, full conversions will not automatically read from the "lang" folder, so you will have to add it to resources.cfg. Your custom story can now override base game assets with its own. | ||
+ | |||
+ | Lang files are a special case: they operate on a per-entry basis, meaning any entries not found in your custom story's lang file will load from the base game's lang file instead. This means you can override any existing lang entry as well as add your own, but you can also use any entry from the base game without needing to add them to yours. |
Revision as of 00:16, 20 January 2025
Since version 1.5 of Amnesia The Dark Descent (release in July 2023), a new field has been added to the custom_story_settings.cfg file. This field allows you to specify a main_init.cfg file, which is the main file that full conversion mods use to launch. This means you can now create full conversion mods from a custom story, and they will still show up in the main game menu. This unlocks all the power of full conversion mods, while maintaining most of the simplicity of a custom story.
If you have a custom story that you want to transform into a full conversion mod, start by adding the new field to your custom_story_settings.cfg:
<Main
Name = "My story"
Author = "Me"
...
InitCfgFile = "config/main_init.cfg"
/>
Specifying this field will disable MapsFolder
, StartMap
and StartPos
, as these fields will instead be read from the main_init.cfg file. It will also disable ExtraLangFilePrefix
and DefaultExtraLangFile
, as the game will instead use the primary lang files specified in main_init.cfg. The description of your custom story will instead be located in said lang file, in the CustomStoryMain
category.
From this point on, you can follow tutorials for full conversion mods. Your mod folder will remain custom_stories/<your story>
. For example, if your story folder is named "Ascent", your main init file should exist at custom_stories/Ascent/config/main_init.cfg
(reflecting what you put in the InitCfgFile
above). Create the "config" folder and the "main_init.cfg" file. The contents of your main_init.cfg file can start as such (Remember to change the references to "Ascent" to reflect your own mod, such as MainSaveFolder and GameName):
<ConfigFiles
Resources = "resources.cfg"
Materials = "materials.cfg"
Game = "config/game.cfg"
Menu = "config/menu.cfg"
PreMenu = "config/pre_menu.cfg"
Demo = "config/demo.cfg"
DefaultMainSettings = "config/default_main_settings.cfg"
DefaultMainSettingsSDL2 = "config/default_main_settings_sdl2.cfg"
DefaultMainSettingsLow = "launcher/default_main_settings_low.cfg"
DefaultMainSettingsMedium = "launcher/default_main_settings_medium.cfg"
DefaultMainSettingsHigh = "launcher/default_main_settings_high.cfg"
DefaultUserSettings = "config/default_user_settings.cfg"
DefaultUserKeys = "config/default_user_keys.cfg"
DefaultUserKeysSDL2 = "config/default_user_keys_sdl2.cfg"
DefaultBaseLanguage = "base_english.lang"
DefaultGameLanguage = "english.lang"
/>
<Directories
MainSaveFolder = "Ascent"
BaseLanguageFolder = "config/"
GameLanguageFolder = "config/lang_main/"
CustomStoryPath = "custom_stories"
/>
<Variables
GameName = "Ascent, an Amnesia mod"
/>
<StartMap
File = "level_01.map"
Folder = "maps/"
Pos = "PlayerStartArea_1"
/>
Note: Paths specified in this file are relative paths starting from the custom story's main folder, eg: "custom_stories/Ascent". For example, leaving Resources as "resources.cfg" means it should exist at "custom_stories/Ascent/resources.cfg". If a file is not found here, it will fall back to using the file specified in the base game main_init.cfg.
resources.cfg is required for your full conversion to load any files contained in your custom story's folder! Simply copying the original resources.cfg and placing it in your custom story's folder is sufficient. Note that unlike the base game, full conversions will not automatically read from the "lang" folder, so you will have to add it to resources.cfg. Your custom story can now override base game assets with its own.
Lang files are a special case: they operate on a per-entry basis, meaning any entries not found in your custom story's lang file will load from the base game's lang file instead. This means you can override any existing lang entry as well as add your own, but you can also use any entry from the base game without needing to add them to yours.