BGEE-SoD Directory Structure
AstroBryGuy
Member Posts: 3,437
@Dee - I was doing some tests of BG1NPC on SoD, and it all seems to work find on the OSX version of SoD downloaded from Beamdog. Everything is integrated into the main game, with a moddable dialog.tlk file in the lang folder. But I'm seeing bug reports on that say installing on an SoD game from Steam does not work. (https://forums.beamdog.com/discussion/comment/730399/#Comment_730399)
Then, I saw this comment from @argent77 (https://forums.beamdog.com/discussion/comment/730863/#Comment_730863)
Then, I saw this comment from @argent77 (https://forums.beamdog.com/discussion/comment/730863/#Comment_730863)
Important information for Steam users:What's going on with the directory structure on SoD on Steam? Is the dialog.tlk file on Steam unmoddable now that it is tucked into a zip file? Is this going to affect GOG and Mac App Store too?
Beamdog decided to offer Steam users the "Siege of Dragonspear" expansion as a DLC in the form of a single zipped file named "dlc/sod-dlc.zip". All SoD-related resources have been included in the zip archive, including an expanded dialog.tlk which is used by the game instead of the one found in "lang/xx_YY". The current Near Infinity development snapshot can not access this content. As a result the game will be detected as plain "Baldur's Gate: Enhanced Edition" with the original resources of the base game. I'm currently working on a solution, but it requires to rework a major portion of NI's code base. I can't estimate when it will be done.
Post edited by AstroBryGuy on
1
Comments
- For any dlc change (I guess) Steam needs to update the whole 2 GB file.
- For any change I do, I need to repack (but with zip level 0). Its clunky.
@CamDawg
Can you guys weight in on this and whether we can expect any help/solution from Beamdog on this? As of right now SoD makes modding night impossible.. which is not a good thing for a game that thrives so much of of its modding community (as you well know).
The IE has always kept its assets in archives known as biffs, e.g. data/ar06xx.bif will contain several files needed for ar0600 such as the tileset, search maps, weds, etc. while data/NPCSOUND.bif contains all of the sound files for dialogue, and so on and so forth. What file lives in which biff is delineated in a master key file, chitin.key. Even if you unpack the SoD zip file, chitin.key doesn't know about the assets in the SoD biff files since it just has regular BGEE assets. The zip file contains its own mod.key with that info.
The rub is that mod.key lists only the SoD assets. So now you have an incomplete key (mod) while the main key (chitin) is no longer authoritative. You'd need to unzip everything, then use mod.key to dump everything out of the SoD biffs into the override. That would allow you to use the original chitin.key with all of the SoD stuff available via the override folder.
And all that still doesn't address dialog.tlk issues.
edit: Ulb posted while I was writing this. Hope it answers where we are right now.
Anyway, if I could tell weidu to leave a "gap" or a number of junk lines in the original dialog.tlk I could at least mod anything that doesn't directly touch SoD assets. (So kits and such theoretically work as long as we use dialog.tlk lines that are not already used in the mod dialog.tlk file, did I get that right?)
In theory, you'd need to do the following:
1. Unzip DLC file
2. Save current dialog.tlk to dialog.tlk.bak
3. Replace dialog.tlk with DLC dialog.tlk
4. unbiff .BIF files to override
5. copy movies, sounds, and music to appropriate folders (and whatever else in the DLC zip)
6. prevent the game from using the DLC zip file after extracting the files from it. So, disable it or move it.
ninja'd by @subtledoctor
I was hoping that maybe just moving the DLC zip somewhere (rename the directory to dlc-bak?) could make the game think the dlc isn't there and just use the resources in data and override. Or there's a flag in the .lua file to de-activate the DLC.
This is a really big deal.
Beamdog just went ahead and completely broke modding for BGEE/SOD without any real need to do so.
Even if a smart person from the community (like @argent77 ) would decide to step up and sacrifice his own time and talent to create a fix for this, handling the Steam/GOG versions would still always mean a lot of extra effort for modders and players alike.
Beamdog claims to respect the modding community that has kept the BG series alive and well for more than the last decade. Yet, you have just made a huge unmistakable statement that says: "WE DO NOT CARE."
Given that there are quite a few modders working for Beamdog and since Beamdog's own version (the one everyone else got to see during the beta) works perfectly fine, I have to assume that somehow this just slipped through under the radar. Maybe there were only a few coders involved on Beamdog's side that weren't really aware of modding? I certainly hope so.
This doesn't just hurt the modding community, this will hurt Beamdog and this will be bad press, so you have to step up and do something about it ASAP.
[spoiler]
- Make a copy of the whole game directory without the "dlc" folder somewhere on your system (let's call it bgee_dir)
- Create a new directory somewhere on your system and unpack "dlc/sod-dlc.zip" into it (let's call it sod_dir)
- Rename mod.key to chitin.key in sod_dir
- Download the latest Near Infinity snapshot and unpack it into sod_dir
- Copy the characters, lang, movies and music folders from sod_dir to bgee_dir and accept to overwrite any existing files
- In sod_dir rename the folders characters -> bak-characters, movies -> bak-movies and music -> bak-music (to avoid exporting files from these folders)
- In sod_dir create a new empty folder "movies" and copy the file "sodcin01.wbm" from bak-movies into it (needed for Near Infinity to detect the correct game)
- Rename the home folder directory "Baldur's Gate - Enhanced Edition" to something else (to avoid exporting any files from there)
- Start Near Infinity in sod_dir
- Choose menu Tools -> Mass Export...
- Select output directory: bgee_dir/override (create the folder if it doesn't exist), untick any options and select all file types
- Press the "Export" button and hope for the best
- If the export process ended successfully you can close Near Infinity
- Go into bgee_dir/override and delete the file "sodcin01.wbm"
- Rename the home folder of the game back to "Baldur's Gate - Enhanced Edition"
And that's it. The game in the new "bgee_dir" directory should be operational. Don't start it via Steam though. I'd imagine that Steam would try to "repair" it and revert everything back into the original state.Optionally, you can try to biff everything. However, WeiDU v239 doesn't recognize the new resource types yet and sets an incorrect type for WBM files.
[/spoiler]
I'm new to the EEs but a BG-vet, and I want to play BG:EE + SoD. I'd like to, as a minimum, use Item Randomiser and and BG1NPC. I assume this whole folder debacle means that I currently can't since I have the Steam version?
Alternately, you can try @argent77's method above to create a BGEE+SoD that is moddable.
What exactly has kept the BG series alive and kicking for the last 18 years?
but atlest [ i hope] bg2 is fine so i can just play sod and go right into bg2 until this is fixed.
edit: anyway has any one reported this issue to beamdog yet? this is something that needs to be fixed asap.
Trying to make the most of this controversy, is it conceivable that this new system could be taken advantage of to make custom mod 'packs'?
For example, if you wrap up a load of mods together, then zip them in a file with their respective dialog.tlk and mod.key, then you have almost every pre-requisite to being able to hot-swap them.
If Beamdog play it right, this could be a new golden age of BG modding!
(but if you are using something like Near Infinity you generally have to scroll down to get to the Steam folder and then you have to scroll down to get to the Steamapps folder).
Beamdog's client/installer by comparison uses a much shorter path that is a lot easier to get to. Its just a time saver.
(That said I'm not the person in charge of these sorts of distribution decisions. So I can't comment on anything about this being DLC)
*edit* To clarify: I don't necessarily disagree about asking GOG/Steam for a refund (I'm only holding off on that for now until we get an official answer from Beamdog) but I disagree about the sentiment that this is all Steam/GOG's fault and Beamdog is not to blame.
there are only two ways to fix this problem.
1. inform beamdog of the situation and wait for a hot fix and or patch that fixess this.
2. wait for someone else to fix it with a mod or the newest version of weidu.