Skip to content

[HOW TO] Install mods on iOS devices (NO Jailbreak)

2456716

Comments

  • argent77argent77 Member Posts: 3,494
    edited November 2017

    argent77 said:

    Just a note, .bif files and their content has to be indexed by the chitin.key, or it won't be detected by the game.

    Oh. Interesting. So I need to also get a modified version of chitin.key over to the iPad...? I wonder if that's possible. Obvious answer would be "zip the file and call it 'chitin.bg2data.'" But who knows if that would work.
    It's probably easier to extract content of all mod-added biffs into the override folder and transfer only the zipped override folder. (Unless you can manage to import DLC archives to the iPad. In that case you don't have to worry about biffs, override or dialog.tlk at all.)
  • The user and all related content has been deleted.
  • argent77argent77 Member Posts: 3,494

    argent77 said:

    It's probably easier to extract content of all mod-added biffs into the override folder and transfer only the zipped override folder. (Unless you can manage to import DLC archives to the iPad. In that case you don't have to worry about biffs, override or dialog.tlk at all.)

    I wish. That would be SO much more sensible. We all wish, in all likelihood. Except Beamdog, I guess :confounded:

    How would one go about extracting a mod's biffed resources to /override?
    Probably no easy way. You would have to parse the chitin.key manually and extract all files referenced by the relevant .bif files via COPY_EXISTING (and hope they don't contain files >16 MB or WeiDU will fail).
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    edited November 2017

    Fun fact: highlighting 13,000+ files in a folder and telling my computer "create a .zip archive from this" makes my computer not like me. :tongue:

    (EDIT - my computer seems to be completely unwilling to zip 13,000 files together. At least, after leaving the task running for 25 minutes. Need to set it up and let it run for an hour or two.)

    I had the same problem with 3309 files (Rogue Rebalancing + SCS). I managed to bypass this issue by uploading the override folder to Dropbox; only at this point I could zip the files contained in it....

    Alternatively, you can install & import one mod at a time ( or a small group of mods at a time....)
    Post edited by _Luke_ on
  • argent77argent77 Member Posts: 3,494
    @subtledoctor You can use this WeiDU code to extract all EET-related biffs into the override folder:
    [spoiler]BEGIN ~Extract EET BIFFs into override folder~ OUTER_TEXT_SPRINT regBiff ~\(.+/\)?EET.+~ // resource type -> extension OUTER_TEXT_SPRINT EVAL ~types_1~ ~BMP~ OUTER_TEXT_SPRINT EVAL ~types_2~ ~MVE~ OUTER_TEXT_SPRINT EVAL ~types_4~ ~WAV~ OUTER_TEXT_SPRINT EVAL ~types_5~ ~WFX~ OUTER_TEXT_SPRINT EVAL ~types_6~ ~PLT~ OUTER_TEXT_SPRINT EVAL ~types_1000~ ~BAM~ OUTER_TEXT_SPRINT EVAL ~types_1001~ ~WED~ OUTER_TEXT_SPRINT EVAL ~types_1002~ ~CHU~ OUTER_TEXT_SPRINT EVAL ~types_1003~ ~TIS~ OUTER_TEXT_SPRINT EVAL ~types_1004~ ~MOS~ OUTER_TEXT_SPRINT EVAL ~types_1005~ ~ITM~ OUTER_TEXT_SPRINT EVAL ~types_1006~ ~SPL~ OUTER_TEXT_SPRINT EVAL ~types_1007~ ~BCS~ OUTER_TEXT_SPRINT EVAL ~types_1008~ ~IDS~ OUTER_TEXT_SPRINT EVAL ~types_1009~ ~CRE~ OUTER_TEXT_SPRINT EVAL ~types_1010~ ~ARE~ OUTER_TEXT_SPRINT EVAL ~types_1011~ ~DLG~ OUTER_TEXT_SPRINT EVAL ~types_1012~ ~2DA~ OUTER_TEXT_SPRINT EVAL ~types_1013~ ~GAM~ OUTER_TEXT_SPRINT EVAL ~types_1014~ ~STO~ OUTER_TEXT_SPRINT EVAL ~types_1015~ ~WMP~ OUTER_TEXT_SPRINT EVAL ~types_1016~ ~EFF~ OUTER_TEXT_SPRINT EVAL ~types_1017~ ~BS~ OUTER_TEXT_SPRINT EVAL ~types_1018~ ~CHR~ OUTER_TEXT_SPRINT EVAL ~types_1019~ ~VVC~ OUTER_TEXT_SPRINT EVAL ~types_1020~ ~VEF~ OUTER_TEXT_SPRINT EVAL ~types_1021~ ~PRO~ OUTER_TEXT_SPRINT EVAL ~types_1022~ ~BIO~ OUTER_TEXT_SPRINT EVAL ~types_1023~ ~WBM~ OUTER_TEXT_SPRINT EVAL ~types_1024~ ~FNT~ OUTER_TEXT_SPRINT EVAL ~types_1026~ ~GUI~ OUTER_TEXT_SPRINT EVAL ~types_1027~ ~SQL~ OUTER_TEXT_SPRINT EVAL ~types_1028~ ~PVRZ~ OUTER_TEXT_SPRINT EVAL ~types_1029~ ~GLSL~ OUTER_TEXT_SPRINT EVAL ~types_1030~ ~TOT~ OUTER_TEXT_SPRINT EVAL ~types_1031~ ~TOH~ OUTER_TEXT_SPRINT EVAL ~types_1032~ ~MENU~ OUTER_TEXT_SPRINT EVAL ~types_1033~ ~LUA~ OUTER_TEXT_SPRINT EVAL ~types_1034~ ~TTF~ OUTER_TEXT_SPRINT EVAL ~types_1035~ ~PNG~ OUTER_TEXT_SPRINT EVAL ~types_2050~ ~INI~ COPY ~chitin.key~ ~chitin.key~ READ_LONG 0x08 numBiffs READ_LONG 0x0c numResref READ_LONG 0x10 ofsBiffs READ_LONG 0x14 ofsResref // create list of biffs SET biffs = 0 FOR (idx = 0; idx < numBiffs; ++idx) BEGIN SET ofs = ofsBiffs + (idx * 12) READ_LONG (ofs + 4) ofsName READ_SHORT (ofs + 8) lenName READ_ASCII ofsName name (lenName) NULL TO_UPPER ~name~ TEXT_SPRINT EVAL ~biffs_%idx%~ ~%name%~ SET biffs += 1 END // extract files from matching biffs FOR (idx = 0; idx < numResref; ++idx) BEGIN SET ofs = ofsResref + (idx * 14) READ_ASCII ofs resref (8) NULL READ_SHORT (ofs + 8) type READ_LONG (ofs + 10) locator SET biffIndex = (locator >> 20) & 0xfff PATCH_IF (VARIABLE_IS_SET EVAL ~biffs_%biffIndex%~) BEGIN TEXT_SPRINT biff EVAL ~%biffs_%biffIndex%%~ PATCH_IF (~%biff%~ STRING_MATCHES_REGEXP ~%regBiff%~ = 0) BEGIN PATCH_IF (VARIABLE_IS_SET EVAL ~types_%type%~) BEGIN TEXT_SPRINT type EVAL ~%types_%type%%~ PATCH_IF (NOT FILE_EXISTS ~override/%resref%.%type%~) BEGIN INNER_ACTION BEGIN COPY_EXISTING ~%resref%.%type%~ ~override~ END END END ELSE BEGIN PATCH_WARN ~Unknown resource type: %type%~ END END END ELSE BEGIN PATCH_WARN ~BIFF at index %biffIndex% does not exist~ END END BUT_ONLY [/spoiler]
    (Be careful though. It'll extract over 30,000 files into the override folder.)
  • The user and all related content has been deleted.
  • [Deleted User][Deleted User] Posts: 0
    edited November 2017
    The user and all related content has been deleted.
    Post edited by [Deleted User] on
  • The user and all related content has been deleted.
  • bob_vengbob_veng Member Posts: 2,308

    Fun fact: highlighting 13,000+ files in a folder and telling my computer "create a .zip archive from this" makes my computer not like me. :tongue:

    try total commander trolololo
  • The user and all related content has been deleted.
  • [Deleted User][Deleted User] Posts: 0
    edited November 2017
    The user and all related content has been deleted.
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535

    Really? Do you have any experience with this mod? When I used this with IWDEE 1.4, trying any of the new soundsets crashed the app.

    Yes, I have. As I said, I managed to install several custom sound sets (Daelan, Tomi, Sharwyn, Linu) by following the standard procedure (see the OP) plus an additional step, i.e.: for each custom sound set, locate the sounds folder (it contains the .wav files), zip it (no compression), rename it to sounds.bg1/bg2/iwddata and finally import it to your iOS device -> now you can enjoy custom sound sets with subtitles.
    Game tested: BG2:EE, dunno about IWD:EE....
  • The user and all related content has been deleted.
  • [Deleted User][Deleted User] Posts: 0
    edited February 2018
    The user and all related content has been deleted.
    Post edited by [Deleted User] on
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535

    That's weird, because when I look in the app's .ipa file, there is no "sounds" folder at the main-level game directory. Rather, it is at "/lang/en_US/sounds" ... so importing a "/sounds" folder as .bg1data shouldn't work!

    I seriously just don't understand this stuff.

    I was speaking of the sounds folder contained in the mod folder. For example, download "Tomi soundset" and unpack the archive. Then navigate to:

    Tomi -> SND -> Tomi -> sounds


    Now: zip it (sounds.zip), rename it to sounds.bg1/bg2/iwddata and import it to your iOS device.
  • The user and all related content has been deleted.
  • The user and all related content has been deleted.
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    edited November 2017

    Yeah but my point is, I thought a zipped folder called "x.bg1data" is imported as a folder called x located in the main game folder. So "sounds.bg1data" would be u zipped as a folder called "sounds." And as far as I understand, such a folder shouldn't have any effect on the game.

    Yes, I guess you're right. Anyway, sounds.bg2data seems to work......

    ~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6032 // Smarter Mages -> Mages never cast short-duration spells instantly at start of combat

    What?! I thought you were a veteran.... I mean, Tranzig is too easy in this way :)
  • The user and all related content has been deleted.
  • ArnebArneb Member Posts: 14
    First, thanks for this thread! Having access to mods on iOS is the best thing I could have wished for (ok, maybe after the release of SoD).
    I'm pretty confident I successfully installed Bg1NPC Project+extra music and BG1UB (I need a bit more testing, but it seems fine). These were the mods I wanted more badly, at least for Bg1, so I decided to try a lightly modded game to see if it worked.
    Anyway, I was wondering what is the procedure if I decided to install more mods: should I first delete BG from the device? Or it would be enough to mod from scratch the .ipa I have on pc and re-send mod.bg1override and lang.bg1data to open with Bg1 on iOS?
  • JuliusBorisovJuliusBorisov Member, Administrator, Moderator, Developer Posts: 22,758

    There could also be an issue with the DLCs... @JuliusBorisov any word on whether the iOS DLCs like Neera act like SoD on Steam/GOG desktop installs of BGEE? If they introduce internal DLC packages with their own .tlk files, then adding mods on top of that would require a modmerge-like treatment, which is likely impossible.

    Ok, I've asked the developers and got a reply.

    No, mobile version doesn't use multiple .tlk files, so mod-merge isn't required.
  • The user and all related content has been deleted.
  • Sneeky17Sneeky17 Member Posts: 9
    I've finally managed to install SCS to the iPad version of BG2:EE after downloading the .ipa file to my Mac.

    Can anyone share the expected behavior when mod1.bg2override and lang.bg2data are opened with BG2:EE on the iPad? On one attempt, the screen just went black and I had to quit the app. On another attempt the screen went black, and eventually recovered. Is there any way to tell whether the files were successfully consumed?

    Also, is there any way to tell if the mod actually installed? Right now I am playing up to the Ogre Mage spawn in the very beginning of Irenicus's Dungeon to see if he casts any spells like Mirror Image or Horror that would indicate the mage AI was in place. So far, no dice, and it takes awhile to get there on each attempt.

    If anyone can provide any direction it would be greatly appreciated!
  • PibaroPibaro Member, Translator (NDA) Posts: 2,989
    Right after the ogre mage you usually find goblins.
    If you find duergar SCS installed correctly
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    Sneeky17 said:

    On another attempt the screen went black, and eventually recovered.

    Depending on the size of your override folder, the game may take longer than anticipated expected to start. So, as you said, the screen remains black and eventually recovers. For example, my override contains 9009 files -> the game took 10-12 seconds to start
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535

    Update: zipping the whole override folder and renaming it to "override.bg1data" seems to work.


    I confirm it works. OP updated!

    Unfortunately, external keyboards are not (yet) supported -> You know, there is this mod (courtesy of @argent77 ) that may allow us to use the Debug Console......
  • Sneeky17Sneeky17 Member Posts: 9
    edited December 2017
    I got it working!

    A few final questions... do you load the stratagems.bg2override file first, quit the app, then load the lang.bg2data file? Do you have to do this every time you start the app or only the first time?

    I have spent 10-12 hours stumbling my way through all the steps until I finally got it working. If there is any interest, I could make a YouTube video tutorial showing all the steps.

    Thanks Luke93 for your help!
  • [Deleted User][Deleted User] Posts: 0
    edited December 2017
    The user and all related content has been deleted.
  • PibaroPibaro Member, Translator (NDA) Posts: 2,989
    I know it’s off topic but I’m stuck in durlag’s tower in my scs ipad run.
    I can’t get to the chess room even if I killed all the elemental enemies in the four rooms.
    It happens every time, in every playthriugh and everytime I install SCS1.
    I know how to byoass this, I just need to export the game, import it to my pc, and killing the fire elemental enemy, then killing everyone in the chess room, exporting the game and reimporting in my ipad, but it’s frustrating!!
    I Wonder if anyone else has this problem too.
  • _Luke__Luke_ Member, Mobile Tester Posts: 1,535
    @subtledoctor Alternatively, you can import the /lang folder immediately after importing the /override folder (or the other way round), i.e.: import the/override folder, wait until the game is responsive to your taps, return to the home screen, import the /lang folder and wait until the game is responsive to your taps. At this point remove the game from memory.
Sign In or Register to comment.