User Tools

Site Tools


hpl2:amnesia:full_conv

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hpl2:amnesia:full_conv [2016/03/23 13:28]
mudbill Updated old info and added notice of modloader.
hpl2:amnesia:full_conv [2016/11/14 11:52] (current)
mudbill Updated some descriptions.
Line 8: Line 8:
 ==== What is a full conversion mod? ==== ==== What is a full conversion mod? ====
  
-A full conversion (often called FC, FCM or IFC) is a method ​of starting ​the game that causes it to launch with custom configurations and parametersThis will allow you to change many aspects of the game through ​the use of config ​filesYou can think of these config files as a heavily extended custom_story_settings.cfg file that control player movement ​and soundshow the sanity system workshow the graphical user interfaces are set up and much more.+A full/​total ​conversion (often called FC, IFC or just a mod) is a complete overhaul ​of how the game is launchedUsing one will allow you to change many aspects of the game by overriding ​the main config ​file used to define the gameA mod will allow you to edit anything that is available in the main game's assets, including all config files and //some// hard-coded resourceshowever you are still restricted to certain things within ​the gamelike the engine itself. Basically, you can edit anything that is already available to you, but it won't add things outside the scope of the configuration provided by Frictional Games.
  
-Mods have many advantages over custom stories, but there'​s one larger drawback; the installation ​is more advanced for the user. Therefore it's suggested that you stick to a custom story unless you need to edit the game's properties for your creation.+In most cases, hard-coded configuration cannot be changed, but some assets can be overridden using files with the same names as the original ones. This is an advanced topic which I won't get into here though. 
 + 
 +Mods have many advantages over custom stories, but there'​s one larger drawback; the installation ​may be more advanced for the average ​user. Therefore it's suggested that you stick to a custom story unless you absolutely ​need to edit the game's properties for your creation.
  
 __This guide will show you how to create a fully Isolated Full Conversion (IFC).__ __This guide will show you how to create a fully Isolated Full Conversion (IFC).__
 ==== Starting off ==== ==== Starting off ====
 +
 +You can download a template at the bottom of this page if you wish, however these instructions assume otherwise.
  
 So you're about to start setting up a FC mod. You should begin by making a folder for it. Place this folder in your Amnesia install directory ("​redist"​ for retail and "​Amnesia The Dark Descent"​ for Steam). For now, let's call it **my_mod**. So you're about to start setting up a FC mod. You should begin by making a folder for it. Place this folder in your Amnesia install directory ("​redist"​ for retail and "​Amnesia The Dark Descent"​ for Steam). For now, let's call it **my_mod**.
  
-Now, depending on how much custom stuff you want in your mod, you need to create a few more folders within your mod folder. The most important folder is the config folder, as it holds all your customized settings. Instead of creating a new folder named config, you can just go back to your Amnesia root folder, **copy the config folder** there, and paste it within your mod. Here's a list of folders you need / might want in your mod:+Now, depending on how much custom stuff you want in your mod, you need to create a few more folders within your mod folder. The most important folder is the **config ​** folder, as it holds all your customized settings. Instead of creating a new folder named config, you can just go back to your Amnesia root folder, **copy the config folder** there, and paste it within your mod. Here's a list of folders you need / might want in your mod:
  
    * config    * config
Line 32: Line 36:
 There are more folders you can create if you wish. These mostly reflect on how the Amnesia root folder looks like. Extra folders include particles, misc, lights, fonts, gui, lang and more. There are more folders you can create if you wish. These mostly reflect on how the Amnesia root folder looks like. Extra folders include particles, misc, lights, fonts, gui, lang and more.
  
-==== Configurating ​the mod ====+==== Configuring ​the mod ====
  
 Now that you have your setup, open the config folder. Because you copied it from Amnesia, it already contains many files you need. There are a few you can dispose of though, so delete them so the folder only contains these files: Now that you have your setup, open the config folder. Because you copied it from Amnesia, it already contains many files you need. There are a few you can dispose of though, so delete them so the folder only contains these files:
Line 41: Line 45:
   * menu.cfg   * menu.cfg
   * pre_menu.cfg   * pre_menu.cfg
-  * lang_main (folder)+  * //lang_main//  ​(folder)
       * english.lang (within the lang_main folder)       * english.lang (within the lang_main folder)
  
-Another two files you can copy over to your config folder is the **resources.cfg** ​ file and **materials.cfg** ​ file. They'​re found lying around in the Amnesia root folder. Originally they'​re supposed to be located at the top of your mod folder, but I've found it to be cleaner to place them in /config. They still seem to function the exact same.+Another two files you can copy over to your config folder is the **resources.cfg** ​ file and (for advanced users) ​**materials.cfg** ​ file. They'​re found lying around in the Amnesia root folder. Originally they'​re supposed to be located at the top of your mod folder, but I've found it to be cleaner to place them in /config. They still seem to function the exact same.
  
 === main_init.cfg === === main_init.cfg ===
Line 67: Line 71:
 === menu.cfg === === menu.cfg ===
  
-In this file, you can specify your own mod's menu. Go down to **BGScene **  and change the path to match your menu map. You might not have your menu level yet, but you'll probably make it eventually. Just make sure to have one before starting your mod. [[https://​wiki.frictionalgames.com/​hpl2/​tutorials/​script/​tutorialsformainmenu|Here'​s a tutorial]] that talks more about this file (PS: Edit your mod's menu.cfg instead of the main game'​s).+In this file, you can specify your own mod's menu. Go down to **BGScene **  and change the path to match your menu map. You might not have your menu level yet, but you'll probably make it eventually. Just make sure to have one before starting your mod. [[https://​wiki.frictionalgames.com/​hpl2/​tutorials/​script/​tutorialsformainmenu|Here'​s a tutorial]] that talks more about the menu.cfg ​file (PS: Edit your mod's menu.cfg instead of the main game'​s).
  
 One more important thing about the menu file is that the default one (which you copied) does not include an entry for a custom logo. You can add it, however, which will allow you to change it. I would say it's a must for a mod to have its own logo, just like it should have its own name. One more important thing about the menu file is that the default one (which you copied) does not include an entry for a custom logo. You can add it, however, which will allow you to change it. I would say it's a must for a mod to have its own logo, just like it should have its own name.
  
-Add this line within the **Main **  ​tag (below Music if you'd like):+Add this line within the **Main **  ​section ​(below Music if you'd like):
  
 <code c++> <code c++>
Line 81: Line 85:
 === resources.cfg === === resources.cfg ===
  
-This file is a little different. Its purpose is to tell the game in which folders and locations it should search for the files it uses. For example if you use custom entities, you'll need to add your entities folder to the resources.cfg file, or else the game can't find them. If two files have the same name, and both locations are within the scope of the resources.cfg file, the game might mix them up and use the wrong one. It searches from top to bottom through the list, so add your own directores ​at the top to make sure the game finds your files first.+This file is a little different. Its purpose is to tell the game in which folders and locations it should search for the files it uses. For example if you use custom entities, you'll need to add your entities folder to the resources.cfg file, or else the game can't find them. If two files have the same name, and both locations are within the scope of the resources.cfg file, the game might mix them up and use the wrong one. It searches from top to bottom through the list, so __add your own mod at the top__  ​to make sure the game finds your files first.
  
-Do not remove what's already there unless you know what you're doing. Instead, copy one line and paste it at the top (after the **Resources **  tag of course), then edit it to match your own path. EG:+Do not remove what's already there unless you know what you're doing. Instead, copy one line and paste it at the top (after the **<****Resources**  tag of course), then edit it to match your own mod. EG:
  
 <code c++> <code c++>
-<​Directory Path="/​my_mod/​config"​ AddSubDirs="​true"​ /> +<​Directory Path="/​my_mod"​ AddSubDirs="​true"​ />
-<​Directory Path="/​my_mod/​main_menu" AddSubDirs="​true"​ />+
 </​code>​ </​code>​
- 
-Do this with all of your folders. 
  
 === game.cfg === === game.cfg ===
Line 109: Line 110:
  
   * A config folder with at least a main_init.cfg file that points to appropriate locations and files.   * A config folder with at least a main_init.cfg file that points to appropriate locations and files.
-  * A main menu map that can display ​as configured in menu.cfg.+  * A main menu map that can be displayed, ​as configured in menu.cfg.
   * A maps folder with at least 1 map to start as you select "Start new game" from the menu.   * A maps folder with at least 1 map to start as you select "Start new game" from the menu.
-  * Any other files you might want/use need to be available within ​your mod's resources.cfg file.+  * Configured ​your mod's resources.cfg file to add itself to the game's scope.
  
 Once you've set this all up, it should be possible to start your mod. But how? Once you've set this all up, it should be possible to start your mod. But how?
Line 123: Line 124:
 <code c++> <code c++>
 cd /d .. cd /d ..
-Amnesia.exe my_mod/​config/​main_init.cfg+Launcher.exe my_mod/​config/​main_init.cfg
 </​code>​ </​code>​
  
Line 133: Line 134:
 #!/bin/bash #!/bin/bash
 cd "​`dirname "​$0"​`"​ cd "​`dirname "​$0"​`"​
-open ../Amnesia.app --args my_mod/​config/​main_init.cfg+open ../Launcher.app --args my_mod/​config/​main_init.cfg
 </​code>​ </​code>​
 +
 +Note: Mac .command files may not run until they are allowed to by the system, by running ''​chmod a+x <path to .command file>'' ​ on a Mac. I recommend including the pre-configured file in the template, rather than creating one on Windows.
  
 === Linux === === Linux ===
Line 147: Line 150:
 # 64-bit operating systems # 64-bit operating systems
 if [ "​$(uname -m)" = "​x86_64"​ ]; then if [ "​$(uname -m)" = "​x86_64"​ ]; then
-  ../Amnesia.bin64 "​$FCNAME/​config/​main_init.cfg"​+  ../Launcher.bin64 "​$FCNAME/​config/​main_init.cfg"​
  
 # 32-bit operating systems # 32-bit operating systems
 else else
-  ../Amnesia.bin "​$FCNAME/​config/​main_init.cfg"​+  ../Launcher.bin "​$FCNAME/​config/​main_init.cfg"​
 fi fi
 </​code>​ </​code>​
  
-I recommend you create ​all 3 of these files. You never know what OS the user is going to be using, so why not be prepared?+I recommend you include ​all 3 of these files. You never know what OS the user is going to be using.
  
-**Note:​**  ​If you use the Steam copy of Amnesia ​(for Mac or Linux)these launchers probably won't work for you. In such a case you can start your mod by doing the following:+=== Steam === 
 + 
 +If you use the Steam copy of Amnesia, you can also start mods via the Steam client ​by doing the following:
  
   * Open Steam, right click Amnesia and select Properties.   * Open Steam, right click Amnesia and select Properties.
Line 169: Line 174:
 </​code>​ </​code>​
  
-Alternatively you can launch mods (on Windows ​only) using the Amnesia Modloader. If you want to use this method, I still recommend making the other launchers available for end users on Mac and Linux, as well as those who do not wish to use this third-party application.+There is a way of doing this from a command line file as well. The process is a bit different though. Here's an example for doing so for Windows (although the command is nearly identical on other systems): 
 + 
 +<​code>​ 
 +start steam://​rungameid/​57300//​my_mod%%2Fconfig%%2Fmain_init.cfg 
 +</​code>​ 
 + 
 +If you save this command as a .bat file on Windows, then run it, it will prompt Steam (if installed) to run Amnesia with the argument "​**my_mod/​config/​main_init.cfg**"​. Notice how the argument itself does not include slashes, but instead the code % 2F which is the URL-way of defining a slash. A Windows .bat functionality requires us to use an extra '​%'​ sign before the first in order to escape it (not required on other systems). 
 + 
 +When running this, Steam will prompt a warning which must be accepted before it will launch the mod. 
 + 
 +=== Launcher application === 
 + 
 +Alternatively ​to the methods above, ​you can launch mods (on Windows ​and Mac) using the Amnesia Modloader. If you want to use this method, I still recommend making the other launchers available for end users on Linux, as well as those who do not wish to use this user-made application.
  
 [[http://​bit.ly/​AmnML|Read more about the Amnesia Modloader here.]] [[http://​bit.ly/​AmnML|Read more about the Amnesia Modloader here.]]
Line 175: Line 192:
 ==== Other notes ==== ==== Other notes ====
  
-Bear in mind that it takes experimenting to understand it all fully. You'll learn from mistakes and improve as you work with it. Once you're ready to publish ​you mod, [[http://​www.moddb.com/​mods|ModDB ]]is a nice place. Also feel free to post it at the [[https://​www.frictionalgames.com/​forum/​forum-36.html|Frictional Games forum]]. The forum is also a nice place to get feedback on your work.+Bear in mind that it takes experimenting to fully understand it all. You'll learn from mistakes and improve as you work with it. Once you're ready to publish ​your mod, [[http://​www.moddb.com/​mods|ModDB ]]is a nice place to do so. Also feel free to post it at the [[https://​www.frictionalgames.com/​forum/​forum-36.html|Frictional Games forum]]. The forum is also a nice place to get feedback on your work.
  
-I've prepared a download you can use to get started with a full conversion if you found this confusing. You may use it as a template for your mod. It's already been prepared, but you must still configure it to match your own creation.+I've prepared a download you can use to get started with a full conversion if you found this confusing. You may use it as a template for your mod. It's already been prepared, but you must still configure it.
  
 [[http://​www.mediafire.com/​download/​u57k2797md1yeiy/​Full_Conversion_Mod.zip|You can download it here.]] [[http://​www.mediafire.com/​download/​u57k2797md1yeiy/​Full_Conversion_Mod.zip|You can download it here.]]
hpl2/amnesia/full_conv.1458739729.txt.gz · Last modified: 2016/03/23 13:28 by mudbill