public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
From: Holly Bostick <motub@planet.nl>
To: gentoo-user@lists.gentoo.org
Subject: [gentoo-user] [OT, game-related,long] Changing file dates?
Date: Mon, 01 Aug 2005 13:09:41 +0200	[thread overview]
Message-ID: <42EE02F5.9070608@planet.nl> (raw)

Hi, all--

The short version is that I 'need' to do something to 'fix' the
efficiency of installing and running a game (The Elder Scrolls 3:
Morrowind), but I'm not quite sure what or how, so I (unfortunately)
have to explain the problem at some length in the hopes that someone
else will have a better take on it. When (if) you read it, you'll
(hopefully) see why I'm writing here rather than somewhere else (because
I can't figure out to which of the many other involved parties this mail
might be appropriate).

The summary: I'm trying to document how to run Morrowind, using an ATI
card and the fglrx drivers, with user-created add-on modules, under
Linux (for myself, as I love Morrowind, and for a HOW-TO, since I can
*run* it now, but I want to write it down to help others and myself in
the future). However, oddities of Morrowind, Linux, and Windows programs
generally are making this more difficult than it seems to need to be--
one 'oddity' in particular.

The obstacle: Well, there are several, such as Linux's case sensitivity,
and Windows' lack thereof, and the fact that some module makers pack
their archives badly so extraction to the installed game's data folder
can be a nightmare-- but those are relatively easily solved (WinRAR and
Total Commander, respectively, both of which run adequately under Wine).
The immovable object atm seems to be file dates.

You see, Morrowind stores its base graphic data in *.bsa files (bethesda
softworks archives), and its data (scripts and object locations and the
like) in *.esm (elder scrolls master?) files. These files, when
installed by the game, of course have a date (which is first of all
different depending on how you install, but we'll come to that).

The 'problem' is that if one then installs user-created plugins (of
which there are several thousand), Morrowind uses the file date to
determine whether the plugin's files override the original files found
in the *.bsa, and in what order they do so (in the event that Plugin A
changes something that Plugin B also changes, the timestamp also
determines which change the player finally sees when the game actually
starts).

Now this is a "normal" Morrowind problem, insofar as it exists under
Windows as well (getting your plugins to load in the right order is a
horrendous job, which is why there are several tools to help with the
process, but it's still horrifying if you want to run more than...oh,
two or three plugins. And Morrowind players commonly run a hundred or
two hundred, as the game will allow up to 255. Right now I've got 56
listed in my Morrowind.ini, and that's slightly less than half of my
'minimum required to set up this game to my preferences' set, nothing
said about 'quests, tweaks, and fixes that might be nice to have'). But
under Linux, the original install file dates are not the same[1] as they
are under Windows, and this adds a possibly unsurmountable level of
complexity to the issue.

[1] There are two ways to install Morrowind. You can install it under
Wine or Cedega using the regular Setup.exe, or you can install it via a
script found at Loki Installers for Linux Gamers (http://liflg.org ).

If you install with Wine or Cedega, the installed *.bsa and *.esm files
will carry the original file date of 2002 or 2003, which most plugins
will automatically override (because the plugins were naturally created
more recently than the original files).

However, if you install the game and its expansion packs via Wine or
Cedega,  the installation process will take about 15 hours
(approximately 6 for Morrowind, 2.5 for Tribunal, and another 6 for
Bloodmoon). This problem is common to both Wine and Cedega. Obviously no
one is going to do that on a regular basis, or even once, really (even
though I did, in order to document it, and to get the Registry entries
for the program. I don't count, since I'm such an oddball).

The loki installer takes some 15-30 minutes and works perfectly-- except
that the extracted *.bsa and *.esm files seem to get the date you
installed the game ("today"). Which means that-- since the Morrowind.ini
is  usually set to

> ;-1 Use raw data, 0 Use Newer, 1 use Archive Only
> TryArchiveFirst=0

use the 'newer' file when determining what graphic data to use to
display the textures for rocks/trees/buildings/people/clothing/etc, any
dedicated texture replacers (or plugins that want to replace selected
original textures in the course of their operation) are just not going
to work right, because the bsa archive is always going to be 'newer'
(because it has a date of "today", when I installed the game) than the
replacement files --which might have been packed and uploaded
*yesterday*. But since WinRAR and all other native and non-native
archive manangement programs that I've tried are (naturally) going to
extract the plugin files without modifying the date of the archived
files (and don't seem to have an option to change that, because it
doesn't make much sense to want to do that in the first place)... the
extracted archives are almost always going to have an 'earlier' date
than the original game files, and be overridden by the original game
files (which is not the way it's supposed to work).

Now, what's weird is that this *did* work, but (as is traditional for
me), I got a bit too tangled up in plugin conformance testing to know
where the heck I was anymore, so I backed up the install, reinstalled,
and started over, and suddenly my texture replacer isn't replacing
textures anymore. The very idea of trying to debug the differences
between the old install and the new is too horrifying to comtemplate.
Plus, it's not to the point (as of yet, and hopefully it won't ever be).

So what I need is a reasonable way for an 'average user' to fix this. On
my personal system, because I have installed the "15-hour version"
(which dates correctly) as well as the Loki install (which is what I'm
actually playing), I can just copy the original *.bsa and *.esm files
over the Loki-extracted ones (which I just thought of and which seems to
work on paper), but I couldn't advise that to the general public.

Having written all of this out, I can see that this is most properly
fixed by the Loki installer script (which should not change dates when
extracting the game files from the *.cab files, if it is in fact doing
so), and I will post on their forums to request that change (since I
can't get the script or archive or whatever it is open to change
anything myself).

However, since I have no way of knowing whether anyone there will
actually give a hoot, or have time to fix it in a timely manner, what
I'm looking for is a workaround.

"Obviously", I could change the system date (to something like august
1st 2000) prior to installing using the Loki script, then change it
back, but that's just 1) ugly; 2) dangerous. I wouldn't want to suggest
that as a workaround, even if the HOW-TO never went past my own /docs
folder.

What I would like is a way to change the date of specific files to a
specific date (in the past), without "changing" (editing) them, which is
not an option with the original Morrowind files (or, if it is possible,
it's only so with additional external tools and a whole lot of difficulty).

Is this even possible to do? Now that I've said it "out loud", it
doesn't sound like something Linux would want me to do at all, but
perhaps there's some reason that server admins might need to do such a
thing, in which case Linux definitely provides a way to do it.

If it is not possible, or is unreasonably dangerous to explain on a
public forum, can anyone think of an alternative solution, given the
circumstances, until such time as the Loki installer is fixed (if in
fact it needs to be fixed and the issue is not that my system is borked
somehow)?

Or is my system possibly borked somehow and these files are being
incorrectly stamped due to something completely unrelated to the installer?

Anyway, thanks for listening (if you did), and thanks for any ideas.

Holly

P.S. This all sounds very difficult and unpleasant-- and it is-- but,
YES, Morrowind really is worth the trouble if you like RPGs. In this
respect, it resembles The Sims (as a very difficult game to get the
relatively useless base game installed and running at all and then the
mods that make it all worthwhile running on top of it, nothing said
about which expansions work and which dont, although apparently
Superstar will crash the game at startup). It's next on my list of
HOW-TOs, but I will say that The Sims Deluxe does install under Linux
and run under some form of Wine (don't remember which atm, but I'm not
touching my Sims install until I've got Morrowind working to my
specifications). So for those of you who 1) read all this, 2) have ATI
cards, and 3) want to play either of these games-- IT CAN BE DONE.

And I promise to tell you how, if you guys help me over this hump.

H.





-- 
gentoo-user@gentoo.org mailing list



             reply	other threads:[~2005-08-01 11:14 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-01 11:09 Holly Bostick [this message]
2005-08-01 11:41 ` [gentoo-user] Re: [OT, game-related,long] Changing file dates? Moshe Kaminsky
2005-08-01 11:53 ` [gentoo-user] " YoYo Siska
2005-08-01 12:46   ` Holly Bostick
2005-08-02  4:17 ` Iain Buchanan
2005-08-02  9:00   ` Holly Bostick

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42EE02F5.9070608@planet.nl \
    --to=motub@planet.nl \
    --cc=gentoo-user@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox