-
Notifications
You must be signed in to change notification settings - Fork 51
Environment Setup Guide
For any questions join the discord. Make sure to verify and then post in the appropriate contributor channel.
-
Dnspy - This is used to read Bannerlord code. See this setup video for how to setup the bannerlord environment specifically.
-
Visual Studio Community Edition or your preferred editor.
- Github Desktop - Very handy git interface.
- DotPeek - Used to create symbol files for Bannerlord dlls. This is nice to have to view Bannerlord code inside of Visual Studio.
TODO make setup video
We are usually on the latest Bannerlord version for development (As of writing version 1.1.6 is the latest)
- Clone the repository using
https
or usingssh
somewhere on your machine. - Run the
runmefirst.cmd
to dynamically attach your Bannerlord path and resolve references. - If references in projects did not resolved automatically do the following. This can be done in Visual Studio by right-clicking references, going to browse, navigating to your Bannerlord directory through the mb2 shortcut, and selecting all TaleWorld.* .dlls. There are additional .dlls in the Modules folder, being the Native and StoryMode.
- Go to project settings for the Coop project and click debug
- Click start external program and browse to your Bannerlord path. You should select the executable for Bannerlord normally located at
bin\Win64_Shipping_Client\Bannerlord.exe
- For the command line arguments enter this
/singleplayer /server _MODULES_*Native*SandBoxCore*CustomBattle*SandBox*StoryMode*Coop*_MODULES_
- Now we need to enter the working directory. NOTE: This will select a folder, not a file. The folder you need to select for this is
bin\Win64_Shipping_Client
. The same path thatBannerlord.exe
is located. - (Optional) Setup a client instance.
-
To run a client instance open the ClientDebug options. Go to debug and do steps 6-8. The difference here is the command line arguments which should be changed to
/singleplayer /client _MODULES_*Native*SandBoxCore*CustomBattle*SandBox*StoryMode*Coop*_MODULES_
. -
Now open the Solution 'Coop' properties -> Startup Projects. Select multiple projects and make sure Coop and ClientDebug are set to start.
-
- Click debug
- Create a new game and save it as "MP"
- Click on "host game" at the menu and the game will load the "MP" save file on the host. (and client if that is setup)
- If there are any issues contact someone in the discord.
Find something you would like to work on from the issues page. You can also look at the projects page for more organized issues.
All enhancement issues should have its own branch. Create one if one does not already exist.
Create a pull request using your feature branch.
The source branch should be your branch and the target branch should be development.