[How to] Install mods on Android
Several months ago, @ScottBrooks, a Beamdog developer provided a method to work around the inability to change the text file(s) of the game for iOS (dialog.tlk/dialogF.tlk). A bit later, @WhiteAgnus reported on the BG1 NPC Project forum that the method was also working on Android. That method, which allowed me to offer a partial French version for BG2EE on Android, also opens the gate to using mods on Android, far beyond the currently limited set of override only mods that were already available (because of the restrictions).
You will need a computer pour install mods. However you don't need to have a computer version of the game installed on the computer.
You need an access to the content of your tablet/phone from your computer. To do that, you may need to install a driver or a software provided by the manufacturer of your Android device. For instance, for Sony, I had to install the Sony PC Companion software, which in turn installed the drivers to access the tablet file system.
Finally, you need to download the centralfix.exe software provided by ScottBrooks for Windows. It is not restricted to Windows though. The author also provided the source code, written in Go (a language created by Google and available here), to allow players running another OS to run the software (I'm afraid I can't give any hint on how to proceed for Linux or Mac OS X though).
This procedure was tested on Windows.
This procedure was tested on the beta version of BGEE for Android available from Beamdog for volunteers who register to their google group. I can't confirm that it also works with version 1.3.2053 (latest official patch).
Building an environment to install mods (BGEE)
WeiDU is not available on Android. Therefore we need to build a game environment on a Windows computer that looks like a typical install of the game on that system. Fortunately it's possible to do that starting from the game files installed on your Android tablet or phone.
Note that you could use Linux of Mac OS X instead. In this case, you will need to ensure that you can run the centralfix software from its sources, as it is mandatory for the last step. I'm afraid I can't give any direction for that.
Starting from now, I'll use tablet as a generic way to refer to your tablet or phone.
- Plug the tablet to your computer though the USB cable. Alternatively use a wireless if you know how to do
- According to your operating system, perform any additional step required to get a new drive appear on the desktop or in the file explorer
- Using your usual file explorer, open the drive that just appeared
- If several drives appeared when you plugged (it may happen as some devices have the memory split into "internal memory" and an emulated SD card, or if your tablet has an additional SD card), use the one referring to "internal memory" (that's a translation of the term used in French, I don't know the term actually used in English)
- Go into folder Android/obb/com.beamdog.baldursgateenhancededition
- There you should find two files with an .obb extension:
- On your computer hard disk, create a new directory named BGEE_Android (or any name you like)
- Linux: according to a discussion on the WeiDU forum, you should use a file system that is not case sensitive when to install the game when you intend to use mods
- Copy the two obb files into that new directory
- On the hard disk, rename the two obb files and replacing the .obb extension with .zip
- Now extract into the current directory (BGEE_Android) the content of the two .zip archives, starting with main.2106.com.beamdog.baldursgateenhancededition.zip - if your unzip tool creates a sub-folder for each, move their content to the BGEE_Android directory
- Once finished you should see the following directory content in the BGEE_Android directory:
- In the BGEE_Android directory, extract the archives of the mods you want to install
- Windows (recommended): make sure the mods you're going to install use the latest version of the WeiDU installer :
- Download the latest of WeiDU available for your operating system on this page
- Extract weidu.exe from the WeiDU archive into the BGEE_Android directory
- In the BGEE_Android directory, copy and paste weidu.exe, in order to get a new file name Copy of weidu.exe (or a similar name in your language)
- Select file setup-MOD_NAME.exe and delete it
- Select file Copy of weidu.exe and rename it as setup-MOD_NAME.exe
- Repeat the last three steps for each mod in order to update their setup-MOD_NAME.exe file
- Install the mods, in the recommended order
- Windows: run the setup-MOD_NAME.exe file of each mod
- Mac OS X: here is detailed guide
- Linux: open a terminal in the BGEE_Android and enter command weinstall MOD_NAME of each mod
Creating the mods archive to transfer to AndroidThe aim is to build a directory structure that includes only the files modified by the mods installation.
- From the BGEE_Android directory, get into sub-directory lang/en_US (or your selected language)
Warning: this must match your game language choice in the previous step!
- Select files dialog.tlk (and dialogF.tlk if your language has one) then copy them into the clipboard
- Create a new temporary directory, for instance Android_Files
- In Android_Files, create a directory structure lang/en_US (or your preferred language), as above
- Paste the dialog.tlk file(s) from the clipboard into that directory
- Copy the override directory from BGEE_Android into Android_Files
- Run your preferred zip tool (7-Zip, WinZip, ...)
- Using drag and drop or another method, add directories lang and override from Android_Files into the archive
- In the zip tool, adjust the archive creation options and make sure you tell it not to apply any compression
For instance, when using 7-Zip (Windows), you should set Archive format to "zip" and Compression level to "Store"
- Create the archive and give it a name such as Mods.zip
- Copy the centralfix.exe file into the same directory as the Mods.zip archive
- Open a command line windows and move to the directory where you created the Mods.zip archive
Nota : using Windows 7 or newer, a short-cut is to use the file explorer, select directory, maintain the Shift key pressed, then click on the right mouse button and select "Open Command Window Here"
- Enter command
It will update the archive so that it is recognized by BGEE/BG2EE (and most likely IWDEE) as additional content for the game.
Nota : the step involving centralfix is described only for Windows as I have has no experience with Go and using Mac OS X or Linux.
Transferring the mods archive to Android
- Copy the Mods.zip archive onto the tablet, into directory Android/data/com.beamdog.baldursgateenhancededition/files
Beware, this is not the same directory as in the beginning.
Notes on content to include in the mods archive
In the procedure above, files dialog.tlk/dialogF.tlk and the override directory are the bare minimum set of files to include into the mods archive. This should cover most cases.
According to what mods are changing in the game, you might have to add other items into the mods archive:
- for mods that build bif files, you'll have to create a directory named data into the Android_Files directory and copy the bif files created by the mods in BGEE_Android/data
- for mods that add music (common for NPC mods), you'll have to create a directory named music in the Android_Files directory and copy the files and directories created by the mods in BGEE_Android/music
- for mods that add new party scripts, such as BPSeries, you'll have to create a directory name scripts in the Android_Files directory and copy the filescreated or changed by the mods in BGEE_Android/scripts
Nota : the list above is not exhaustive.
As a general rule, use the ability to sort files by date in the various game directories in order to spot the files added or changed by the mods and build the same directory/files structure in the Android_Files directory.
Finally you'll have to add all those files when building the Mods.zip archive.
It is not necessary to transfer onto the tablet the mods directories created when you extract their archives, the game doesn't need them. However you'd better keep the BGEE_Android as it is if you want to be able to update, uninstall or add mods into your game. In case you change your mods installation, you will have to repeat the procedure to create the mods archive, centralfix it and transfer it to your tablet.
Note that the game handles the presence of several archives build using this method. I didn't try to identify if the game had any order when loading them. I suggest avoiding conflicts in the archives content if you want to use this capability.
In my test case, the two archives had non conflicting content: a French voice pack for the game (containing lang/fr_FR/data), and the mods archive (containing override and lang/fr_FR/dialog.tlk).
Example with BGEE
Using this method, I was able to install the BG1 NPC Project mod (together with its musics), BG1 UB, Find and Thalantyr Item Upgrade for BGEE. So far I didn't get very far enough in the game to check a lot of things, however I can confirm that the mods content actually appears in the game: I had the early meeting with Finch in Candlekeep with a newly created game.
The obb files are in Android/obb/com.beamdog.baldursgateIIenhancededition and are named (with the beta version):
The mods archive shall be copied into Android/data/com.beamdog.baldursgateIIenhancededition/files
I used this method to build a partial French translation package. This is not strictly a mod but at its core, it's similar as it adds a dialog.tlk file to the game. Although I tested it with the beta version, I had confirmation from another player that the package works with the current non beta version (1.3.2064).
Thanks to @Kamigoroshi, who confirmed that this method worked with Icewind Dale Enhanced Edition, here are some more detailed information. The obb files are named:
It is likely that they are located in Android/obb/com.beamdog.icewinddale, if Beamdog followed the same naming convention as for the data (see below).
The mods archive shall be copied into Android/data/com.beamdog.icewinddale/files