An Idiot's guide to modding Baldur's Gate (and other IF Games) on Android Alone.
DraikenWeAre
Member Posts: 171
Hello Everyone.
I’m making this Guide due to the fact, other users such as @2k16daniel here on BeamDog and Agerio on Gibberlings3 have highlighted certain aspects of what is required when it comes to modding games on android without a PC.
@2k16daniel actually tried to make a Guide but I felt it missed so much of the nuances and didnt explain it simply enough that a dummy like me would understand it.
You see I for a while couldn’t mod the Infinity Engine games with a PC , so I tried what they said and it just left me frustrated in a way that I gave up.
Later on though I came back to it all, and figured it out so I want to put put this guide as simply as possible, so if a 10 year old saw it they could also mod the game on their phone, if they wanted.
Now firstly you will need to download Termux
You will need a file explorer app, either Xplore.
but I prefer Material Files
as I feel X-plore is too clustered and I want this guide to be as simple possible.
Lastly Optional but not necessarily need is ZArchiver.
Lastly You will need to use WinRar for extracting and editing OBBs.
You will need a WinRar app but honestly ZArchiver is the best App I think is on the qpp store when it comes to compression formatting and editing.
Next you will need to install some packages into Termux using some Commands.
So first give Termux access to internal storage
Type termux-setup-storage
(Though you can just use the Permissions tab under app settings if you want)
Next install some Packages with commands:
apt-get update
pkg install unzip zip p7zip iconv
pkg install lua53
pkg install ffmpeg
pkg install perl
Note: This last one is very important if you want to install any Ai related mods , took me a very long time to figure this out.
Lastly you need to download installer.sh and weidu+centralfix.zip, which you can get from here:
You will need to add Termux to Material Files
by pressing add storage.
Then copy the weidu+centralfix.zip and installer to home of Termux
Go to termux input chmod +x installer.sh
Then input ./installer.sh
Once finished , input wiedu and this
should show up , so you know that it all has been Installed correctly.
Now you have set up everything , you can now pat yourself on the back as you’ve done the hardest parts , it’s easy from here on.
(Before continuing, you must know that whichever game you want to mod m, you have to have opened it atleast once as if you want to play it normally.
I discovered there’s a bug , that if you dont ever actually open the game , but only open after you install your mods, the games won’t run.)
Moving foward
I’m going to be Installing Wild Mage additions on BG , to show you an example of how you would mod a game from scratch (I would have used BG2 instead but recently installed EET on it and don’t really want to mess with that due to reason which I’ll note later on).
First lets make a new folder on your phone , lets call it BGModding.
And make a File called BG inside BGModding (It’s smart to keep other game files in this BGModding folder incase of futher editing or modding.)
Next Get the OBB files of the IF game you want to Mod and place them in the Folder.
(FYI Baldur's Gate OBB path is : /storage/emulated/0/Android/obb/com.beamdog.baldursgateenhancededition , if it helps)
Then using WinRar , you can extract the contents directly by renaming the file extension from obb to rar, then extract them into the folder.
Basically it’s all the exact same as if you were playing the game on windows but instead its all encoded into the OBB file.
Now download the mod you want to install and copy it the this game folder you created.
Now keep note there are some commands to remember:
ls-a: this lists all files present in the current directory of Termux
Pwd : this lists the current location path of termux
Cd: change directory
You can use material files to check what the name of the files are to easier know where you need to go.
Just know, you will always start from Home in termux
Moving on, as you’ve already noticed in the previous screenshot I typed cd Storage
Next is to type cd shared, this will take me to my main phone directory, and then you can continue on from there.
Now just type weinstall , space and the name of the mod you want to install as such.
Finally the last steps are kinda straight foward.
You will need to enter the lang folder and get the english lang folder (or whatever language you play under)
Put the contents into a zip with no compression and rename the zip to lang-en_US.zip (en_US is the english lang , so whatever country you're using it's language, you put it's acronym)
After go back to Termux and input centralfix space lang-en_US.zip ,as such:
Then Copy the Modded Override and Lang to the Data directory on android, under:
/storage/emulated/0/Android/data/com.beamdog.baldursgateenhancededition
Finally and at the end , use WinRar to change the Dialog.tlk in the Original OBB to Dialog.klt
If all goes well, you should be playing the game you modded with no issue.
Important Note
I did all this on the Samsung galaxy note 9 , depending on the UFS Storage type and processor, certain mods will take a longer time to install than others.
Most mods take a few minutes.
But things like SCS took me 1.5hours , plus its best advised to know what you want to install before hand because anything you decided to uninstall or change installation component later on, can lead to a lot of time consumption.
For reference doing EET took me 2 days , as I installed many , many mods , SCS and some tweak mods.
Prob like 40 + mods in total.
Though I think a more recent Device with UFS 3.0 or 4.0 would fair better since my device uses 2.1 which is really outdated as Note 9 was released in 2018 and I've had the phone since 2020.
Lastly I'd like to really thank @Gusinda, as he's really the person who helped me a lot in understanding how to properly go about modding and is really a patient dude when it comes to letting me know my errors and where I went wrong in modding certain stuff.
(I've edited out the use of Zarchiver in place of Winrar, if you read down, there was an issue with the lang file in spanish , and besides it not being updated, it came to my attention that somthing had changed with the Zarchiver App which contributed to the issue)
I’m making this Guide due to the fact, other users such as @2k16daniel here on BeamDog and Agerio on Gibberlings3 have highlighted certain aspects of what is required when it comes to modding games on android without a PC.
@2k16daniel actually tried to make a Guide but I felt it missed so much of the nuances and didnt explain it simply enough that a dummy like me would understand it.
You see I for a while couldn’t mod the Infinity Engine games with a PC , so I tried what they said and it just left me frustrated in a way that I gave up.
Later on though I came back to it all, and figured it out so I want to put put this guide as simply as possible, so if a 10 year old saw it they could also mod the game on their phone, if they wanted.
Now firstly you will need to download Termux
You will need a file explorer app, either Xplore.
but I prefer Material Files
as I feel X-plore is too clustered and I want this guide to be as simple possible.
https://play.google.com/store/apps/details?id=me.zhanghai.android.files
https://play.google.com/store/apps/details?id=com.lonelycatgames.Xplore
https://play.google.com/store/apps/details?id=com.lonelycatgames.Xplore
Lastly Optional but not necessarily need is ZArchiver.
Lastly You will need to use WinRar for extracting and editing OBBs.
You will need a WinRar app but honestly ZArchiver is the best App I think is on the qpp store when it comes to compression formatting and editing.
Next you will need to install some packages into Termux using some Commands.
So first give Termux access to internal storage
Type termux-setup-storage
(Though you can just use the Permissions tab under app settings if you want)
Next install some Packages with commands:
apt-get update
pkg install unzip zip p7zip iconv
pkg install lua53
pkg install ffmpeg
pkg install perl
Note: This last one is very important if you want to install any Ai related mods , took me a very long time to figure this out.
Lastly you need to download installer.sh and weidu+centralfix.zip, which you can get from here:
You will need to add Termux to Material Files
by pressing add storage.
Then copy the weidu+centralfix.zip and installer to home of Termux
Go to termux input chmod +x installer.sh
Then input ./installer.sh
Once finished , input wiedu and this
should show up , so you know that it all has been Installed correctly.
Now you have set up everything , you can now pat yourself on the back as you’ve done the hardest parts , it’s easy from here on.
(Before continuing, you must know that whichever game you want to mod m, you have to have opened it atleast once as if you want to play it normally.
I discovered there’s a bug , that if you dont ever actually open the game , but only open after you install your mods, the games won’t run.)
Moving foward
I’m going to be Installing Wild Mage additions on BG , to show you an example of how you would mod a game from scratch (I would have used BG2 instead but recently installed EET on it and don’t really want to mess with that due to reason which I’ll note later on).
First lets make a new folder on your phone , lets call it BGModding.
And make a File called BG inside BGModding (It’s smart to keep other game files in this BGModding folder incase of futher editing or modding.)
Next Get the OBB files of the IF game you want to Mod and place them in the Folder.
(FYI Baldur's Gate OBB path is : /storage/emulated/0/Android/obb/com.beamdog.baldursgateenhancededition , if it helps)
Then using WinRar , you can extract the contents directly by renaming the file extension from obb to rar, then extract them into the folder.
Basically it’s all the exact same as if you were playing the game on windows but instead its all encoded into the OBB file.
Now download the mod you want to install and copy it the this game folder you created.
Now keep note there are some commands to remember:
ls-a: this lists all files present in the current directory of Termux
Pwd : this lists the current location path of termux
Cd: change directory
You can use material files to check what the name of the files are to easier know where you need to go.
Just know, you will always start from Home in termux
Moving on, as you’ve already noticed in the previous screenshot I typed cd Storage
Next is to type cd shared, this will take me to my main phone directory, and then you can continue on from there.
Now just type weinstall , space and the name of the mod you want to install as such.
Finally the last steps are kinda straight foward.
You will need to enter the lang folder and get the english lang folder (or whatever language you play under)
Put the contents into a zip with no compression and rename the zip to lang-en_US.zip (en_US is the english lang , so whatever country you're using it's language, you put it's acronym)
After go back to Termux and input centralfix space lang-en_US.zip ,as such:
Then Copy the Modded Override and Lang to the Data directory on android, under:
/storage/emulated/0/Android/data/com.beamdog.baldursgateenhancededition
Finally and at the end , use WinRar to change the Dialog.tlk in the Original OBB to Dialog.klt
If all goes well, you should be playing the game you modded with no issue.
Important Note
I did all this on the Samsung galaxy note 9 , depending on the UFS Storage type and processor, certain mods will take a longer time to install than others.
Most mods take a few minutes.
But things like SCS took me 1.5hours , plus its best advised to know what you want to install before hand because anything you decided to uninstall or change installation component later on, can lead to a lot of time consumption.
For reference doing EET took me 2 days , as I installed many , many mods , SCS and some tweak mods.
Prob like 40 + mods in total.
Though I think a more recent Device with UFS 3.0 or 4.0 would fair better since my device uses 2.1 which is really outdated as Note 9 was released in 2018 and I've had the phone since 2020.
Lastly I'd like to really thank @Gusinda, as he's really the person who helped me a lot in understanding how to properly go about modding and is really a patient dude when it comes to letting me know my errors and where I went wrong in modding certain stuff.
(I've edited out the use of Zarchiver in place of Winrar, if you read down, there was an issue with the lang file in spanish , and besides it not being updated, it came to my attention that somthing had changed with the Zarchiver App which contributed to the issue)
Post edited by DraikenWeAre on
0
Comments
Happy Gaming
Gus
Means a lit coming from you.
I modded various mod, thank you, but how to work. Input centralfix lang-es_ES.zip, nothing happen bg1npc, invalid text ;_;.
Change the dialog.tlk in the Original lang of the OBB to dialog.klt.
Then in lang-es_ES.zip , the zip should not be compressed and should directly lead to the files as such
Then type centralfix lang-es_ES.zip
Edit: the reason you're renaming jt is so the game reads the modded one instead of the original.
If not, it will still read the original.
I have renamed obb files to .klt in baldur gate folder on , but lang-es_ES.zip doesn't work in the folder I put data/baladurgateee, I think the problem is lang-es_ES.zip, it doesn't seem to change something or it doesn't nothing, something must be doing wrong xD.
Be if it didnt, it can't edit the ES Lang file because it was never set to.
I have option choose Spanish languages bg1npc, the problem is centralfix, doesn't work and size it's 3mb, same original Lang.
I'm installed all component and choose language Spanish.
The day I put up this guide, I decided to systemically test out each part as I wrote it, and it worked fine.
But now I wonder if I a have forgotten somthing.
I tried installing the Spanish bg1npc on my phone with centralfix on lang and it doesnt seem to read whats in the data storage, instead once I change the dialog.tlk , it does as if it wants to redownload the whole game and this also seems to affect lang-en_US.zip, which baffles me since I did this just this monday.
I did notice I didn't write down some commands in this post mind you , which I'll update after this comment , but I'm lost at myself , since I've done this countless of times before and I don't know where the issue is coming from.
Check if this works for you.
It's not your fault, there must be some mistake I made or dialog.tlk not reading properly. I have spent a few hours finding out what the problem is because it can also affect other people in the future.
Did you make lang-es_ES.zip in another way or in the same way as in the guide?
EDIT: I will check Ur Lang modded.
The only other ways to edit the lang is either with a PC which I'm not with atm , or installing the whole EET where the whole centralfix thing becomes unnecessary but you end up useing more space.
Thought about posting the guide for that in response but reasoned against it , as that's not what you're looking for.
ironically I changed en_EN dialog.ktl and es_ES dialog.ktl obb and it works but in English xD
In lang es_ES there is another one called dialogF, maybe that should be where the problem occurs and I shouldn't change it to ktl.
What I don't understand is why my lang weighs less than 18mb
I think the Spanish version is outdated, that must cause problems, but I'm not sure because I have an old @gusinda lang modfile that reads me bg1npc in Spanish, I don't have problems with other mods at the moment, but this one is problematic or Maybe I don't have centralfix well installed
Hope that helps
Gus
I have used the files from above but placed them into their folders and reapplied centralfix.
Fingers crossed that is the problem
Gus
Works! At least in English,I will try later check my Lang what is problem.
I have detected the problem, the problem is the translation is outdated in the latest bg1npc version, I have modified several mods and it works correctly, this mod bg1npc works only in English, so the problem "resolved" at least I know what the problem was. I will play game in English xD
Thank you for this and for the help in learning.
I think what said is true , it's just due to the lang not being up to date , so it doesn't work at all no matter what.
@Edwinax 😔 sorry there's no solution though.
Firstly You're gonna need to download DlcMerger
Extract the OBB of SOD as such
And rename the chitin.key to mod.key
Then zip the contents of the Sod File (with no compression) and title the zip sod-dlc.zip.
Then extract BGEE into it's own folder and move the sod-dlc.zip into the folder.
Also put DLCmerger into the same folder, then enter termux and type weinstall DlcMerger.
Press 1 to Merge "Siege of Dragonspere" DLC
Now there are certain Mods which can't be installed once you link BGEESOD to BG2EE with EET , but have to be install before EET (eg. Unfinished Buissness BG1) so check this list for those mods if there's any you wish to install.
So you might want to check this list for them to see if your mod requires that.
https://k4thos.github.io/EET-Compatibility-List/EET-Compatibility-List.html
Then once you're done with that,extract the BG2EE OBB in a folder of it's own and extract the EET Fork into that folder as well.
Then change directory in Termux to the BG2EE folder and type weinstall EET.
It will then ask you for the path of the BGEE file , which you will then input.
Next install Lefruet's UI Mod as this will allow you to swith between Campaigns.
https://github.com/r-e-d/LeUI
Install whatever else Mods you want to Install, then run weinstall EET_end
And you're done installing EET.
Though make to change names of the original BG2EE files to this (Only after having opened the game once normally):
Then just copy the contents of the modded BG2EE as such Into the main OBB folder.
And you should be done.
Note
The pros of Modding like this is that besides the obvious benefits of EET , you don't have to do centralfix for lang and can copy any mod you make on your phone/laptop, directly into the OBB folder.
Interesting... I was using v30 of BG1NPC and had no problems with Spanish. I just downloaded v31 and still have no problems being able to install in Spanish. It is still using the DLAN translation. I am unsure what version is the latest though.
It maybe that the WeiDU.conf is set up for English (ie: opening the file reveals 'lang_dir = en_US'). All you need to do is change the contents of the file to read 'lang_dir = es_ES' (no inverted commas). This lets WeiDU know which language folder to use.
I had a test of Material Files and want to say that I do like it. I have been able to get back into my /Android/Data folder using the app (Samsung Note 10 with Android 12). It is now my new File Manager! Thanks. (Yet to test ZArchive but I notice that you have used strikethough on it in the OP). Was it using a compression on the file and not just as a container?
Nice with the EET procedure. I don't think I will be using it on my device as I don't play big campaigns on it (I save that for my PC), but I have been asked many times and now I have a link to direct other forumites to.
A thought... I have test this using the method that I install modfiles with:
You may not need to containerise or run Centralfix at all. Previously I have created the file structure for the lang files (/lang/en_US) in the games /Files folder, copied the modified dialog.tlk (and dialogF.tlk for LOTE where requried) into that folder and the game played as expected (no INVALIDs). This may also work for your method. I don't actually use it now because it is more convenient for me to use a single file for the modfiles, but that is coming from a PC.
Another thought for your method. I would keep a backup of a clean dialog.tlk (and dialogF.tlk) for a new install of mods. It is easy to uninstall and clear away completely, then copy in clean dialog.tlk before reinstalling (I automate the process using a batch file which I could upload if you want to change and see if it works); not sure what happens with EET though as I have never set it up.
Hope it works
Gus
LOTE - Language Other Than English (for those not aware)
I actually removed tge Zarchiver in the guide because imI realised it was what causing me to have issues with the dialog.
I don't know if it's because rhey updated the app, since it didn't do that before and I could just edit the dialog without even typing rar.
But now It seemed to be doing something I was unaware of even though I said no compression on it , which is weird, I'm still going to check the settings when I have time.
I'll check out what you said of your other methods of doing the language without using centralfix but so far even though I installed NPCproject and got no installation issues on the dialog.
The ingame modded dialog was still english even though I changed the wieduconf to es_ES.
Just FYI, this link is not currently working ("the file you have requested does not exist"). I just obtained them from this post by 2k16daniel instead.
I just wanted to let you know and also provide an alternate source for others who need the files.
Thank you for your effort in organizing all of this. I was in a similar position earlier this year trying to piece all of this information together but gave up on it until coming back to it now to try again. Job well done in having it all organized as you have.