Difference between revisions of "Version Control"
m
no edit summary
imported>HaploTR |
imported>Qazaaq m |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[ | What is Version Control? | ||
<BR> | |||
The [[Version Control]] system allows multiple developers to work simultaneously on a single [[Data File]]. | |||
During production of [[Fallout 4]], the team at Bethesda used ''version control'' as a way to manage multiple artists, producers, designers, and programmers all working together on the same content. | |||
The [[Creation Kit]] ''version control'' system is also capable of providing intergrations with conventional source control managers such as [[Perforce]] or [[Git]]. | |||
The primary way the [[Creation Kit]] provides ''version control'' is by merging the contents of multiple child plugins into a single master plugin. | |||
Using the ''version control'' system is essential to working on team projects. | |||
This document will cover mod collaboration with multiple contributors. | |||
This document will '''not''' cover how to use external revision control software such as [[Perforce]], or [[Git]]. | |||
This document assumes basic usage knowledge of the Creation Kit. | |||
= Setup = | |||
To begin, configure the [[Creation Kit]] to enable version control. | |||
This will involve creating directories, network sharing folders, editing [[Initialization File]]s, and creating a master [[Data File]]. | |||
=== Understanding Data Files === | |||
The .esp files are "Bethesda Plugin Data Files" | |||
== Understanding | |||
.esp files are "Bethesda Plugin Data Files" | |||
* This is the standard file type created by the Creation Kit, to save your mod | * This is the standard file type created by the Creation Kit, to save your mod | ||
* It contains all of the asset reference data used in your mod | * It contains all of the asset reference data used in your mod | ||
<br /> | <br /> | ||
.esm files are "Bethesda Master Data Files" | The .esm files are "Bethesda Master Data Files" | ||
* This is the file type you'll see used by DLC | * This is the file type you'll see used by DLC | ||
* It contains the same information used by .esp files, but it can have references merged into it | * It contains the same information used by .esp files, but it can have references merged into it | ||
<br /> | <br /> | ||
In the context of using version control in the Fallout 4 Creation Kit: | In the context of using version control in the Fallout 4 Creation Kit: | ||
Line 71: | Line 32: | ||
* It will become .esm the first time you do a merge to prepare it for multi-contributor collaboration | * It will become .esm the first time you do a merge to prepare it for multi-contributor collaboration | ||
=== Create Directories === | |||
Navigate to the Fallout 4 installation directory and create the following new folders. | |||
* <code>...\steamapps\common\Fallout 4\Merging\Data</code> | |||
* <code>...\steamapps\common\Fallout 4\Merging\VersionBackup</code> | |||
* <code>...\steamapps\common\Fallout 4\Data\CheckInBackup</code> | |||
=== Enable Windows Sharing === | |||
Enable ''Windows File Sharing'' on the following two folders. | |||
* <code>...\steamapps\common\Fallout 4\Merging</code> | |||
* <code>...\steamapps\common\Fallout 4\Data\CheckInBackup</code> | |||
Configure sharing for <code>CheckInBackup</code>, and then repeat these steps for the <code>Merging</code> folder. | |||
There is no need to share any of the <code>Merging</code> sub-folders. | |||
* Right click on the '''CheckInBackup''' folder and select '''Properties'''. | |||
* Select the '''Sharing''' tab -> click '''Advanced Sharing...'''. | |||
* Click '''Share this folder''', and then '''OK'''. | |||
* Back on the ''Properties'' windows, click the '''Share...''' button. | |||
*: [[File:SharePropertiesTab.png]] | |||
* You won't actually be sharing your computer with anyone else, so you don't have to add any additional users - just click '''Share''' -> '''Done'''. | |||
* Make note of the '''Network Path''' displayed, you'll need this for the next step. | |||
=== Enable Version Control === | |||
{{Enable Version Control}} | |||
== First merge and creation of your .esm file == | == First merge and creation of your .esm file == | ||
< | Regardless of the content, once the mod has been saved as an <code>*.esp</code>, you must perform a first merge to create your initial <code>*.esm</code> file. | ||
< | * Navigate to your <code>...\Steam\steamapps\Common\Fallout 4\Data</code> directory. | ||
* Navigate to your | * Copy "Fallout4.esm" to <code>...\Steam\steamapps\Common\Fallout 4\Merging\Data</code>. | ||
* Copy "Fallout4.esm" to | ** If you don't copy this file, the merge process will error out. | ||
** If you don't copy this file, the merge process will error out | * Next, open your <code>*.esp</code> as the ''Active File'' | ||
* Next, open your .esp as the Active File | * After the file has finished loading in the Creation Kit, click "File" -> "Data...", or the open folder icon. | ||
* After the file has finished loading in the Creation Kit, click "File" -> "Data..." | |||
* Select "Fallout4.esm" in the list, and click "Details..." | * Select "Fallout4.esm" in the list, and click "Details..." | ||
*: [[File:versioncontrol_data_Details.png]] | *: [[File:versioncontrol_data_Details.png]] | ||
* When asked "Do you want to use an empty list to save memory?", click | * When asked "Do you want to use an empty list to save memory?", click '''Yes'''. | ||
* You'll now be shown a new popup titled | * You'll now be shown a new popup titled '''File Details''', but it will have no contents. | ||
** On your keyboard, press Shift | ** On your keyboard, press {{key press|Shift|Ctrl|B}}. | ||
* You'll be asked if you want to update the Bit Array Files, and warned it can take several minutes. Of course, click | * You'll be asked if you want to update the '''Bit Array Files''', and warned it can take several minutes. Of course, click '''Yes'''. | ||
*: [[File:versioncontrol_update_bit_array_file.png]] | *: [[File:versioncontrol_update_bit_array_file.png]] | ||
* When it's finished, you'll see "Updating bit arrays...Done" in the bottom status bar of the main window | * When it's finished, you'll see "Updating bit arrays...Done" in the bottom status bar of the main window. | ||
*: [[File:versioncontrol_update_bit_array_done.png]] | *: [[File:versioncontrol_update_bit_array_done.png]] | ||
<br/> | <br/> | ||
Now you're ready to create your .esm file! | Now you're ready to create your .esm file! | ||
* Ensure the .esp mod file has been opened as the Active File | * Ensure the <code>.esp</code> mod file has been opened as the ''Active File''. This should have been done earlier, but do it again if you restarted the [[Creation Kit]]. | ||
* You'll notice that you have a new | * You'll notice that you have a new ''Version Control'' [[File:Version Control Icon.png]] icon on the [[Editor_Interface#Toolbar|Editor Toolbar]]. '''Click it'''. | ||
*: [[File:versioncontrol_button.png]] | *: [[File:versioncontrol_button.png]] | ||
* For this tutorial, I created "MyMod.esp", and I duplicated the "aaaMarkers" Cell from the base game Fallout4.esm | * For this tutorial, I created "MyMod.esp", and I duplicated the "aaaMarkers" Cell from the base game Fallout4.esm | ||
Line 208: | Line 193: | ||
<br/> | <br/> | ||
<br/> | <br/> | ||
== Notes == | |||
* Information contained herein was taken from the Skyrim page, and amended after testing in the Fallout 4 [[Creation Kit]]. | |||
== See Also == | |||
* [[Creation Kit]] | |||
* [[Data Window]] | |||
* [[Version Control Window]] | |||
* [[Data File]] | |||
* [[CreationKit.ini]] | |||
* [[CreationKitPrefs.ini]] | |||
== Links == | |||
* [https://www.creationkit.com/index.php?title=Version_control Skyrim - Version Control] | |||
* [http://geck.bethsoft.com/index.php?title=Version_Control Fallout 3 & New Vegas - Version Control] | |||
* [https://cs.elderscrolls.com/index.php?title=Version_Control Elder Scrolls III & IV - Version Control] | |||
* [https://support.microsoft.com/en-us/help/4092694 File sharing over a network in Windows 10 at Microsft.com]. | |||
* [https://www.perforce.com/ Perforce - Source Control Manager] | |||
* [https://git-scm.com/ Git - Source Control Manager] | |||
* [http://wiki.tesnexus.com/index.php/Version_control_primer Elder Scrolls IV - Version Control Primer at NexusMods.com] | |||
* [https://www.youtube.com/watch?v=6eInvAyMXoI Wheeze's Creation Kit Tutorials - Skyrim Version Control] | |||
[[Category:Editor Reference]] | |||
[[Category:Tutorials]] |