1. Getting started - robot9706/FSSE GitHub Wiki
Modding FalloutShelter using FSLoader is done in C#. The game will be modified to use the FSLoader which will handle different hooks to different methods in the game allowing multiple mods to be used at the same time.
- An installation of FalloutShelter (Steam or Beth.NET)
- Visual Studio (2015 Community)
- C# programming skills
In this step the original "Assembly-CSharp.dll" is modified, it is basically prepared for modding. All private classes, methods and fields are set to public so modders can access everything they might need.
- Download the FSLoader toolset using this link and follow the setup guide in the Readme.txt.
- Open FSModTool and select the "Prepare DLL" tab (Note: If you have FSSE for Windows on your computer you can place the mod tool in the same directory and the mod tool will be able to use the FSSE config to find the installations of the game).
- Browse the "Assembly-CSharp.dll" from the "FalloutShelter_Data\Managed" folder.
- Create a folder where you will be able to keep files releated to FalloutShelter modding.
- Browse the output path.
- Press the "Patch" button (Note: This will take some time, but it only needs to be done once per FalloutShelter version).
This project will hold your mod code and will be loaded by the FSLoader.
- Create a new "Class library" project in Visual Stduio using .NET 3.5.
- Create a "DLLs" folder in the project and copy the "mscorlib.dll" from the Fallout Shelter "Managed" folder to your new folder.
- Unload the project (Right click) then edit the project (Right click again).
- Add the following code into the "PropertyGroup" which has a "ProjectGuid" in it:
<NoStdLib>True</NoStdLib>
Modified PropertyGroup example:
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>...</RootNamespace>
<AssemblyName>...</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
<NoStdLib>True</NoStdLib>
<TargetFrameworkProfile />
</PropertyGroup>
- Then add the following lines to include the new "mscorlib.dll":
<ItemGroup>
<Reference Include="mscorlib">
<HintPath>DLLs\mscorlib.dll</HintPath>
</Reference>
</ItemGroup>
- Reload the project (Right click).
- Add the "FSLoader.dll" and the patched "Assembly-CSharp.dll" to the references, also remove the unnecessary ones (like "Microsoft.CSharp", "System.Data" etc.)
Next step: Creating a simple mod
Useful links |
---|
FSModTool guide |
FSLoader API |
Mod pack source code |