Help:Tools/BCML: Difference between revisions

From ZeldaMods (Breath of the Wild)
Jump to navigation Jump to search
mNo edit summary
(added a "known issue" with cemu 2.1 AppData stuff)
 
(15 intermediate revisions by 3 users not shown)
Line 7: Line 7:
}}
}}


BCML ('''B'''reath of the Wild '''C'''ross-platform '''M'''od '''L'''oader) is a mod installer and merging tool for BotW mods. It can be used to install and uninstall mods by priority and merge conflicts in the [[ResourceSizeTable.product.rsizetable|RSTB]], [[SARC]] (pack) files, or [[Message_archives|game texts]].
BCML ('''B'''reath of the Wild '''C'''ross-platform '''M'''od '''L'''oader) is the mod manager for BotW. It is used to install and uninstall mods, and solves many mod conflicts.


==Setup==
==Setup==
-BCML requires Python [[https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe 3.8.10]] or [<nowiki/>[[3.7.9https://www.python.org/ftp/python/3.7.9/python-3.7.9-amd64.exe|3.7.9]]], and the [[https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads#section-2 x64 Visual C++ redistributable]]. When you open the Python installer, there will be a checkbox that says <code>Add Python to PATH</code>. You MUST check this box, or else BCML can't be installed. From here, continue as normal, and install the x64 Visual C++ redistributable.
BCML requires Python [https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe 3.8.10] or [https://www.python.org/ftp/python/3.7.9/python-3.7.9-amd64.exe 3.7.9], and the [https://aka.ms/vs/17/release/vc_redist.x64.exe x64 Visual C++ redistributable]. When you open the Python installer, there will be a checkbox that says <code>Add Python to PATH</code>. You MUST check this box, or else BCML can't be installed. From here, continue as normal, and install the x64 Visual C++ redistributable.


-Open a command prompt anywhere (if you don't know how, just type <code>cmd</code> into Windows Search). Run <code>pip install bcml</code> (in normal cmd, NOT the python console). You should see a bunch of progress bars, and then a success message.
Open a command prompt anywhere (if you don't know how, just type <code>cmd</code> into Windows Search).  
 
Most people will want to use BCML version 3.10.4 in order to support more mods. BCML version 3.10.5 and up removed support for older BCML V2 mods in order to allow newer python versions.
 
To install BCML 3.10.4 open a cmd prompt and run <code>pip install bcml==3.10.4</code> (to install latest bcml type <code>pip install bcml</code>)
 
You should see a bunch of progress bars, and then a success message.
 
To run BCML all you need to do is type <code>bcml</code> into a cmd prompt.
 
If you would like to have a shortcut made, BCML has that option on the settings page.
 
===Linux Extra Setup===
BCML only has partial support for Linux, so some extra steps are needed to make it work for Linux. (This includes Steam Deck)
 
First, check the BCML setting to use without a Cemu installation, even if you are using it with Cemu. If Cemu is installed on a different drive than BCML is (e.g. flash drive) then also check the setting to disable links for the master mod.
 
Second, set the merged export directory to the path that Cemu will read the BCML graphic pack from. Depending on your distro and the app binary you use, this can be different places, so you may need to find the location, yourself. Two examples would be <code>~/.config/cemu/BreathOfTheWild_BCML</code> or <code>~/.local/share/cemu/BreathOfTheWild_BCML</code>. (Note that ~ is Linux shorthand for <code>/home/<username></code> for all non-root accounts)
* Do NOT set the merged export directory to the base graphic pack folder! E.g. <code>~/.config/cemu</code>. Do NOT. If you do, BCML will delete things it shouldn't whenever you install or uninstall a mod.
 
Last, install your first mod with BCML. Once it is installed, go to the merged export directory in your file viewer and add a file called <code>rules.txt</code> based on the format described on [[Help:Using_mods#Installing_mods_with_the_graphic_pack_menu|this page]].


==Usage==
==Usage==
[[File:BCML-3.png|thumb|right|BCML 3.4.9's UI]]
[[File:BCML-3.png|thumb|right|BCML 3.4.9's UI]]
-Next, we'll create a shortcut for BCML. Search Python in Windows search, then right click and hit <code>Open file location</code> on <code>IDLE (Python 3.8 64-bit)</code>. Right click the shortcut it opens to, and click <code>Open file location</code> again. This should bring you to <code>pythonw.exe</code>. Right click the exe and hit <code>Create Shortcut</code>. Right click the shortcut you created, hit <code>Properties</code>, then add <code> -m bcml</code> to the end of the text in the first box. Rename the shortcut to <code>BCML</code>, then drag it onto the taskbar to pin it. Now, you can use this shortcut to launch BCML.
*'''+''' (in the bottom right): Installs a mod. Note that BCML supports mods in ZIP, RAR, 7z, or BNP formats. It also supports loose file format, in which case you select the <code>rules.txt</code> or <code>info.json</code> to install.
 
*'''Hamburger button (bottom left)''': Show sort handles in the mod list, to drag and drop, which changes mod load order. Changes the load priority of a mod and then adjusts any RSTB, pack, or text merges as needed.
For more information about the UI, consult the in-app BCML help. A basic overview:
*'''Circular Arrow (bottom left)''': Remakes all merged mod files. Use this as a first option when you run into mod conflicts.
 
*'''+''' (in the bottom right): Installs a mod. Note that BCML only supports graphic pack mods in ZIP, RAR, or 7z format, or BNP ('''B'''CML '''N'''ano '''P'''atch) format files.
*'''Hamburger button''' (bottom left): Show sort handles, to drag and drop, which changes mod load order. Changes the load priority of a mod and then adjusts any RSTB, pack, or text merges as needed.
*'''Circular Arrow''' (bottom left): Remakes all merged mod files. Use this as a first option when you run into mod conflicts.
*'''Export''': Exports all installed mods as a single mod. The exported zip file will be in a graphics pack format, or Atmosphere format (if in Switch mode)
*'''Export''': Exports all installed mods as a single mod. The exported zip file will be in a graphics pack format, or Atmosphere format (if in Switch mode)
*'''Explore''': Opens the folder where the selected mod is installed.
*'''Explore''': Opens the folder where the selected mod is installed.
*'''Hamburger button (top right)''': Dropdown menu that includes the BCML in-app help. Refer to this menu, first, if you have any issues.
If the in-app help does not solve your issue, try consulting the [https://github.com/NiceneNerd/BCML/wiki/Troubleshooting BCML troubleshooting] page. It's a bit out of date, but it has some useful information.


==Known Issues==
==Known Issues==


*Certain game files are too complex for the basic merging logic, and custom logic will have to be written for them. Almost all mods made as of Oct 17, 2020 are currently supported, but future mods may not be.
*Certain game files are too complex for the basic merging logic, and custom logic will have to be written for them. Almost all mods made as of Oct 17, 2020 are currently supported, but future mods may not be.
*Cemu 2.1+ isn't supported since Cemu moved most of it data to AppData rather than next of the exe, you can [https://wiki.cemu.info/wiki/Release_1.26.2f use Cemu 1.26.2f], follow [https://discord.com/channels/316759222207643649/606813647674540032/1278361320160235581 this workaround] or simply [https://nicenenerd.github.io/UKMM use UKMM].
==Merge All the Mods: Getting Started with BCML 3 Instructional Video==
[https://www.youtube.com/watch?v=8gKRifYyA68 Merge All the Mods: Getting Started with BCML 3 Instructional Video on YouTube]

Latest revision as of 20:52, 18 October 2024

BCML
Author(s) Nicene Nerd
Source code https://github.com/NiceneNerd/BCML
License GLPv3+
Written in Python
Platform support Cross-platform

BCML (Breath of the Wild Cross-platform Mod Loader) is the mod manager for BotW. It is used to install and uninstall mods, and solves many mod conflicts.

Setup

BCML requires Python 3.8.10 or 3.7.9, and the x64 Visual C++ redistributable. When you open the Python installer, there will be a checkbox that says Add Python to PATH. You MUST check this box, or else BCML can't be installed. From here, continue as normal, and install the x64 Visual C++ redistributable.

Open a command prompt anywhere (if you don't know how, just type cmd into Windows Search).

Most people will want to use BCML version 3.10.4 in order to support more mods. BCML version 3.10.5 and up removed support for older BCML V2 mods in order to allow newer python versions.

To install BCML 3.10.4 open a cmd prompt and run pip install bcml==3.10.4 (to install latest bcml type pip install bcml)

You should see a bunch of progress bars, and then a success message.

To run BCML all you need to do is type bcml into a cmd prompt.

If you would like to have a shortcut made, BCML has that option on the settings page.

Linux Extra Setup

BCML only has partial support for Linux, so some extra steps are needed to make it work for Linux. (This includes Steam Deck)

First, check the BCML setting to use without a Cemu installation, even if you are using it with Cemu. If Cemu is installed on a different drive than BCML is (e.g. flash drive) then also check the setting to disable links for the master mod.

Second, set the merged export directory to the path that Cemu will read the BCML graphic pack from. Depending on your distro and the app binary you use, this can be different places, so you may need to find the location, yourself. Two examples would be ~/.config/cemu/BreathOfTheWild_BCML or ~/.local/share/cemu/BreathOfTheWild_BCML. (Note that ~ is Linux shorthand for /home/<username> for all non-root accounts)

  • Do NOT set the merged export directory to the base graphic pack folder! E.g. ~/.config/cemu. Do NOT. If you do, BCML will delete things it shouldn't whenever you install or uninstall a mod.

Last, install your first mod with BCML. Once it is installed, go to the merged export directory in your file viewer and add a file called rules.txt based on the format described on this page.

Usage

BCML 3.4.9's UI
  • + (in the bottom right): Installs a mod. Note that BCML supports mods in ZIP, RAR, 7z, or BNP formats. It also supports loose file format, in which case you select the rules.txt or info.json to install.
  • Hamburger button (bottom left): Show sort handles in the mod list, to drag and drop, which changes mod load order. Changes the load priority of a mod and then adjusts any RSTB, pack, or text merges as needed.
  • Circular Arrow (bottom left): Remakes all merged mod files. Use this as a first option when you run into mod conflicts.
  • Export: Exports all installed mods as a single mod. The exported zip file will be in a graphics pack format, or Atmosphere format (if in Switch mode)
  • Explore: Opens the folder where the selected mod is installed.
  • Hamburger button (top right): Dropdown menu that includes the BCML in-app help. Refer to this menu, first, if you have any issues.

If the in-app help does not solve your issue, try consulting the BCML troubleshooting page. It's a bit out of date, but it has some useful information.

Known Issues

  • Certain game files are too complex for the basic merging logic, and custom logic will have to be written for them. Almost all mods made as of Oct 17, 2020 are currently supported, but future mods may not be.
  • Cemu 2.1+ isn't supported since Cemu moved most of it data to AppData rather than next of the exe, you can use Cemu 1.26.2f, follow this workaround or simply use UKMM.

Merge All the Mods: Getting Started with BCML 3 Instructional Video

Merge All the Mods: Getting Started with BCML 3 Instructional Video on YouTube