Hit Deity on 28/12/2022 at 23:44
Same exact behaviour, whether I use FMSel or AngelLoader.
Nothing shows in FMSel's misc tab, it's blank.
The only single file I have in my T2FMDML folder is the miss20.mis.dml file for Rowena's Curse.
FenPhoenix on 29/12/2022 at 00:41
Then I don't know. But if disabling T2FMDML fixed it then I guess something in there is causing the problem somehow. I guess you could delete the T2FMDML folder and run T2Fix again to reinstall it.
Hit Deity on 29/12/2022 at 01:42
Reinstalled T2Fix and both are now working as expected with all mods enabled. That was just the strangest thing. Pretty sure I had already tried all those steps, but 5th time's the charm, I guess.
Thanks for the suggestion.
baeuchlein on 29/12/2022 at 02:03
The problem indeed
is the DML fix for "Rowena's Curse".
As far as I know, the newest T2FMDML package is the one delivered with T2Fix v1.27e, which I'm using. But there seems to be no fix for "Rowena's Curse" in there - a search for "owena" only turned up DML's for other FMs by Lady Rowena. However, a DML for "Rowena's Curse"
was published (
https://www.ttlg.com/forums/showthread.php?t=69439&page=28&p=2478640&viewfull=1#post2478640) here, and if I copy the code there into a
miss20.mis.dml file and copy that into the
T2FMDML folder/directory, the game crashes whenever I try to start "Ominous Bequest" ("Gold" version) or "Broken Triad". Without the DML fix in the
T2FMDML folder, both missions/campaigns start normally. (The FM loader in this case is FMSel, by the way, but I think it's irrelevant here.)
The reason for that is that the DML's posted here in the forum threads are usually
without a "fingerprint section". In this case it means that the DML fix for the
miss20.mis file of "Rowena's Curse" is applied to
every miss20.mis file in
any FM out there. And sometimes, it does break those missions, then.
Every DML fix I saw in T2FMDML so far does have a "fingerprint section", exactly because applying a DML to the wrong FM (or even the original missions) must be prevented. This "fingerprint" should only match the one mission the DML was made for. Otherwise, Thief 2 NewDark does not use that DML for the mission for which the "fingerprint" does not match.
I dimly remember having read somewhere on the forums here that one can put DML fixes into that T2FMDML folder, or some similar folder for Thief 1 NewDark. I didn't like that, and this "accident" here is why. Only "fingerprinted" DMLs should appear in these folders. Every other DML should either be copied to the folder of an already installed FM (which usually is something like
{name of Thief 2 folder}\FMs\{name of FM or campaign}), or put into the FM archive before installing and starting a FM with any of the current FM loaders.
I am not sure whether there is some general FAQ or similar section here on the forums, but if any such section that deals with T2FMDML and/or DML fixes exists, an appropriate warning should be posted there - unless someone points out that I'm wrong here.
klatremus on 29/12/2022 at 02:13
This is one of the reasons I don't like the T2FMDML pack. Whenever I start a new mission I just look in the brief summaries list for any .dml and create it manually inside the specific FM's directory. That way I can also check what kind of fixes have been applied. Some of them I don't like. Sure it's an extra step, but I feel I have more control.
baeuchlein on 29/12/2022 at 02:29
Yes, you indeed do have more control. I have partially witnessed some "DML's in the making", and the people making these seem to be rather cautious. There has been only one problem with "fingerprinting" so far, and that one had something to do with a kind of bug in T2 NewDark. Therefore, I do "trust" the DML's put into the T2FMDML package. But I usually don't check what these DML's actually do.
Non-"fingerprinted" DMLs are a completely different case, though. I don't have a problem with putting them into an FM archive myself (and saving it with a different name to mark them as not being original), but usually, I only do this right before playing such a mission myself, so I have a chance to notice it if something goes wrong. And if everything's okay then, I save that FM archive somewhere so I can use that one again should I play the mission another time.
Hit Deity on 29/12/2022 at 04:27
Only thing is, I removed that T2FMDML directory and both missions still crashed every time.
baeuchlein on 29/12/2022 at 06:52
Your last post before this sounded like the missions now worked ("are now both working as expected with all mods enabled"). What does all this mean now?
Hit Deity on 29/12/2022 at 14:44
Quote Posted by baeuchlein
Your last post before this sounded like the missions now worked ("are now both working as expected with all mods enabled"). What does all this mean now?
Nothing, really. It's fixed, and with the info in the post for Disorientation, I'm now pretty sure I'm the one that screwed it up to begin with. It was my own ignorance and not knowing what I was messing with..
I'm 99.9% sure I'm going to find that .dml. file in my main Thief directory the next time I'm home and can check.. I remember putting it there in between using FMSel and eventually getting AngelLoader running.. I had copied it to my main Thief directory trying to get it to work.
If I knew anything about coding (current languages), I'd crack open AngelLoader and put in a check for dummies (myself) who are using un-fingerprinted .dml's, and word it something like, "Hey, dummy, do you know what you're doing? You're using a dml without a fingerprint ID; should you be doing that? Click Yes (and it fixes the problem), or No, and it still fixes the problem {by ignoring it, in both cases}." :-D
I know just enough in most cases to be dangerous!
FenPhoenix on 29/12/2022 at 16:01
I could easily detect un-fingerprinted dmls and inform the user, but some notes:
* According to newdark docs, dml files can be "mission dmls" or "gamesys dmls", and then you can have a miss_all.dml if you want it to apply to all missions... so I suppose I should only consider files named *.mis.dml.
So the logic should be: For all *.mis.dml files that are NOT in an FM folder, check for fingerprint, and if missing, inform the user.
* I can't offer to fix the dml, because the fingerprint is not able to be automatically generated. Someone has to look at the FM in DromEd and make the fingerprint by hand.
* I can't offer to move the dml into the appropriate FM's folder, because:
* The dml might not give any clue to what FM it's for, and if it does, it will just be a comment like "//T2 FM: Rowena's Curse v3 by Lady Rowena / Fixes: miss20.mis.dml" which is a human-readable name and doesn't tell me what folder it should actually go in. Trying to figure it out would involve trying to parse the title out of this comment line, then searching the FMs list for one that "looks enough like" the name from the comment.
* Even if I knew the FM's folder name, that FM might not be installed, so I couldn't move it there anyway.
* There's no clean way to ignore the file (I don't think), because there's no way to tell the game to just ignore a particular dml file (I don't think). You would have to move the file into its own folder that isn't specified as one of the mod folders, or just delete it.
* Scanning all dml files for fingerprints would certainly take some amount of time, and we'd have to do it every time the user goes to play an FM. If there are a lot of them (T2FMDML has 270+ *.mis.dml files), the time taken might end up being noticeable, but I'd have to test and measure to be sure. dml files are small, but opening and closing a lot of them might add up. Overall it seems like a rather heavyweight thing to have to do.
So if I wanted to detect this, the simplest thing I could do would be to just explain the situation to the user and offer suggestions on what they can do (move the file to the right FM folder, or delete it, or whatever). Anything beyond that is highly tentative.
EDIT: I just remembered, thinking of (
https://www.ttlg.com/forums/showthread.php?t=149706&page=23&p=2494521&viewfull=1#post2494521) this, I suppose dml files could in theory be inside zipped archives as well. That's probably an unlikely situation, but I definitely would
not want to go decompressing zip or heaven forbid 7z files before every play just to check if they have dmls. So I would probably just stick to folders for the scan and assume if someone put a dml into a zipped archive, then they're just trolling themselves on purpose at that point :p