Jump to content

The Linux User's Guide to Installing Mods on the Enhanced Editions


Recommended Posts

The three bugs mentioned in this thread. Not that I think they are EE-specific (except the UI one).

I doubt running the windows weidu binary changes anything, it's more likely weidu does runtime checks (too tired to check though).

GemRB doesn't really care about case nor did I understand what you wanted to say.

My pristine bg2ee install is clearly in a case-sensitive place (touch a; touch A # creates two files, not one) and weidu is able to extract files from biffs just fine. But even if drastic measures as mentioned are eventually needed, that doesn't detract from that being terrible. Or that consistent file naming is a good idea.

Link to comment
9 hours ago, lynx said:

weidu is able to extract files from biffs just fine.

With that, do you mean that you have achieved to install mods on a EE game without a case insensitive file system or not? I'm confused. I would be super happy to get rid of it, but I don't know how, and I assume is not possible. And the fact that people in this post are mostly discussing case insensitive file systems seemed to indicate it to me. But I would be very happy to find out that this is not the case (no pun intended).

This is what I get on a pristine EE game when trying to install a simple mod:

08:02 alex@leela ~/local/GOG/2.6/bg1ee/pristine$ weinstall all-the-things-revised/
weidu --log "setup-all-the-things-revised.debug" "all-the-things-revised/setup-all-the-things-revised.tp2"
[weidu] WeiDU version 24900             

ERROR: Unable to find DIALOG.TLK in:    
        ./^dialog/.tlk$
                                                                                                                                                                                                                  
Please run this program in your Infinity Engine game directory.
                                                    
FATAL ERROR: Failure("Unable to find DIALOG.TLK")

After making a en_us to en_US symbolic link (tolower refuses to run on detecting a EE), WeiDU sees the TLK, but then the very first mod component fails to install:

Compiling 1 script ...                                                                                   
ERROR: BIFF [./DATA/DEFAULT.BIF] cannot be loaded: Unix.Unix_error(Unix.ENOENT, "stat", "./data/default.bif")
                                                                                                         
ERROR locating resource for 'get_ids_map'                                                                
Resource [TRIGGER.IDS] not found in KEY file:                                                            
        [./chitin.key]                                                                                   

I get similar errors with other components. If you have a solution where everything works with a "symlink farm" or the like, I might give it a try.

Now, I think at one point, when I had some custom files for my mod, and was upgrading from manually copying them to making it with weidu, I was able to get weidu to run and install that hyper-trivial mod, but then the game would not start. I don't remember why (I think I noticed the chitin.key being altered for some reason). Only with a case insensitive file system, I've been able to make both things work.

I agree with you that it is annoying and risky to ask users to change partition settings or create images for mounting them. Yesterday, I spent a considerable amount of time fixing my system because I enabled the casefold on my ext4 partition (and because lack of space, it is unfortunately the only one, without /home or /boot separated), and the system did not boot. After trial and error and unsuccessful grub reinstalls, I've reached to the conclusion that Grub doesn't recognize the ext4 partition with that setting enabled, unfortunately. And to add insult to the injury, some versions of tune2fs can enable casefold, but not remove it! So I had to borrow a computer to flash a newer USB image with a more recent tune2fs to be able to remove the flag.

For reasons like this, I'm stuck with ciopfs. It's what I have been advicing to use in my guide. I don't like the duplicated files, and the slow FUSE performance, but I don't see any other way. Argent77's comment said so, and no one seemed to argue against.

So TL;DR, I dislike it for a few reasons, but unless someone shows me how to do without the case insensitive solution (wink wink), I'm assuming is necessary.

PS: By the EE bugs I suppose you refer to what is mentioned on kjeron's comment. I don't see how that changes the issue in favor or against one solution, sorry if I missed something.

Link to comment
10 hours ago, lynx said:

GemRB doesn't really care about case nor did I understand what you wanted to say.

Sorry. What I meant was that for people playing the originals on Linux with GemRB, the engine might have enough fixes to not suffer from case sensitivity issues.

My train of thought was:

  1. For the EEs, everything seems to point that you need case insensitive file system, for what I've said in the previous comment.
  2. For the originals, those are Windows only, so you install Windows' WeiDU, so you don't worry about case insensitive issues.
  3. Then you said that it's not a must have, and I thought I forgot about GemRB, and you were criticizing that I forgot it. :)
Link to comment

Thank you for clarifying. Then, what did you mean you said:

Quote

You don't "need the case insensitive directory anyway", but let's not copy the discussion from the other thread.

That's what got me really confused. I thought you reacted because I forgot originals and/or GemRB players.

Link to comment
1 hour ago, suy said:

Yesterday, I spent a considerable amount of time fixing my system because I enabled the casefold on my ext4 partition (and because lack of space, it is unfortunately the only one, without /home or /boot separated), and the system did not boot. After trial and error and unsuccessful grub reinstalls, I've reached to the conclusion that Grub doesn't recognize the ext4 partition with that setting enabled, unfortunately.

It looks like grub does not support the casefold flag on the boot partition (and probably never will considering that it's a rather exotic flag.)

Btw, I have also made an attempt to install mods on an EE game on a case-sensitive partition, but didn't succeed. To even proceed to the mod language selection I had to lowercase any single game language folder names first.

But then I couldn't proceed much further because of mixed case biff files (both file names and chitin.key references). When invoking WeiDU with the "--case-exact" option WeiDU expects all biff files in upper-case. Without that option it expects all biff files in lower-case. In any case, it's just not a feasible for the average player who just wants to install the occasional mod on their Linux version of the game.

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...