Help Needed In Checking Some Assumptions

Post » Tue May 08, 2012 8:03 pm

I'm working on adding support for Morrowind to the BOSS API's general load order management functions, and to do so I need to check that some assumptions I've made (I don't have Morrowind myself) are correct.

The assumptions are:
  • Morrowind.esm is the game's main master file.

  • Morrowind.exe is the game's executable.

  • Morrowind stores its list of active plugins in a AppData\Local\Morrowind\plugins.txt.

  • Morrowind's install path is recorded in the registry key "HKEY_LOCAL_MACHINE\Software\Bethesda Softworks\Morrowind\Installed Path"

  • Morrowind's Script Extender has the acronym MWSE, and can be detected by looking for MWSE.dll in the Morrowind installation folder.

  • MWSE does not have a plugin system.

  • Morrowind's installation folder has the structure:
    Morrowind
    - Data
    -- Morrowind.esm
    - Morrowind.exe

As far as I know, the assumptions are correct with the exception of the active plugins list - googling has suggested that this is stored in the Morrowind.ini. However, I don't know the format of this list, and whether it lists active plugins only, or all plugins, and if it lists all plugins, how are active plugins marked as such?

I'd be very grateful for any assistance in verifying my assumptions and helping with this Morrowind.ini stuff.
User avatar
mishionary
 
Posts: 3414
Joined: Tue Feb 20, 2007 6:19 am

Post » Tue May 08, 2012 10:48 am

1) Yes.

2) Yes.

3) Active plugins are stored in the Morrowind.ini under the [Game Files] section. Here's a quick example:

[Game Files]
GameFile0=Morrowind.esm
GameFile1=Tribunal.esm
GameFile2=Bloodmoon.esm
GameFile3=moddymod.esp

...and so on. :smile:
As I said before ONLY the active plugins are stored in this list.

4) Yes. Also I don't know how your plans are, but consider adding manual search for the Install Path, since Morrowind with Vista and 7 can screw up something, writing the Install Path key somewhere else (due to the UAC crap).

5) Yes, but also remember that MGE includes MWSE in it. So if an user has MGE also has MWSE installed, but the dll is not there. To check if an user has MGE installed simply look for MGEgui.exe or MGEXEgui.exe inside the Morrowind folder.

6) Correct except for "Data" being "Data Files".

Hope this helps.
User avatar
Adrian Powers
 
Posts: 3368
Joined: Fri Oct 26, 2007 4:44 pm

Post » Tue May 08, 2012 7:55 pm


...

[Game Files]
GameFile0=Morrowind.esm
GameFile1=Tribunal.esm
GameFile2=Bloodmoon.esm
GameFile3=moddymod.esp

...

5) Yes, but also remember that MGE includes MWSE in it. So if an user has MGE also has MWSE installed, but the dll is not there. To check if an user has MGE installed simply look for MGEgui.exe or MGEXEgui.exe inside the Morrowind folder.

...

Does the Game Files list use hex or decimal for the numbering? Ie. is it

GameFile0=Morrowind.esm
GameFile1=Tribunal.esm
GameFile2=Bloodmoon.esm
GameFile3=moddymod.esp
...
GameFile9=moddymod9.esp
GameFileA=moddymod10.esp
GameFileB=moddymod11.esp

or

GameFile0=Morrowind.esm
GameFile1=Tribunal.esm
GameFile2=Bloodmoon.esm
GameFile3=moddymod.esp
...
GameFile9=moddymod9.esp
GameFile10=moddymod10.esp
GameFile11=moddymod11.esp

Also, when MGE is installed and MWSE.dll is not in the Morrowind folder, is there a registry key for its location (the MGE install folder?) I can check?

Thanks for the clarification so far.
User avatar
Everardo Montano
 
Posts: 3373
Joined: Mon Dec 03, 2007 4:23 am

Post » Tue May 08, 2012 2:58 pm

It uses the decimal method.

Hmm, no. I think you misunderstood me.
MGE must be installed (unzipped) in the Morrowind folder to work. MWSE is fully integrated into the MGE-specific dlls, so MWSE.dll no longer exists.
In the end, just check for MGE, and you'll know the user also has MWSE.
User avatar
Irmacuba
 
Posts: 3531
Joined: Sat Mar 31, 2007 2:54 am

Post » Tue May 08, 2012 4:43 pm

It uses the decimal method.

Hmm, no. I think you misunderstood me.
MGE must be installed (unzipped) in the Morrowind folder to work. MWSE is fully integrated into the MGE dll, so MWSE.dll no longer exists.
In the end, just check for MGE, and you'll know the user also has MWSE.
Ah, OK. Is there any way to check the version of MWSE that MGE uses, in that case?

EDIT: For example, are MGE and MWSE releases coordinated so they share the same version number, or is there a MGE DLL with the same version number as MWSE?

Also just remembered another crucial assumption: is load order decided by plugin timestamps, or is it decided by the order in which plugins are listed in Morrowind.ini?
User avatar
Ridhwan Hemsome
 
Posts: 3501
Joined: Sun May 06, 2007 2:13 pm

Post » Tue May 08, 2012 7:39 am

It uses the decimal method.

Hmm, no. I think you misunderstood me.
MGE must be installed (unzipped) in the Morrowind folder to work. MWSE is fully integrated into the MGE dll, so MWSE.dll no longer exists.
In the end, just check for MGE, and you'll know the user also has MWSE.

Hm, my MGE XE has MWSE.dll file, but no MGE.dll (though there is MGEfuncs.dll in mge3 subfolder). I think it may vary between MGE versions (standard vs XE) as MGE 3.8.0b only has d3d9.dll and dinput8.dll
User avatar
Amber Hubbard
 
Posts: 3537
Joined: Tue Dec 05, 2006 6:59 pm

Post » Tue May 08, 2012 6:50 pm

Hm, my MGE XE has MWSE.dll file, but no MGE.dll (though there is MGEfuncs.dll in mge3 subfolder). I think it may vary between MGE versions (standard vs XE) as MGE 3.8.0b only has d3d9.dll and dinput8.dll
Yes, forgot to say that MGE XE still has external MWSE.dll file, the revisions not. With MGE dll I meant d3d8.dll. Edited the post to clarify.

@Ninja:
In any case every MGE version has the lastest MWSE version in it, since the MGE stable (that is very old). So therei isn't a proper need of checking the MWSE version.

EDIT: Load order is decided by timestamps.
User avatar
Jordan Moreno
 
Posts: 3462
Joined: Thu May 10, 2007 4:47 pm

Post » Tue May 08, 2012 3:30 pm

Oh, and what encoding is Morrowind.ini in? I assume it's in Windows-1252 (since that's what plugins.txt, Oblivion.ini and the rest of various gamesas games' files are in)?
User avatar
Sun of Sammy
 
Posts: 3442
Joined: Mon Oct 22, 2007 3:38 pm

Post » Tue May 08, 2012 3:42 am

Oh, and what encoding is Morrowind.ini in? I assume it's in Windows-1252 (since that's what plugins.txt, Oblivion.ini and the rest of various gamesas games' files are in)?
Yep!
User avatar
Beth Belcher
 
Posts: 3393
Joined: Tue Jun 13, 2006 1:39 pm

Post » Tue May 08, 2012 4:16 pm

Edit: Never mind. Shouldn't post before I've had my morning coffee. :blush:
User avatar
Christie Mitchell
 
Posts: 3389
Joined: Mon Nov 27, 2006 10:44 pm

Post » Tue May 08, 2012 3:58 am

Also just remembered another crucial assumption: is load order decided by plugin timestamps, or is it decided by the order in which plugins are listed in Morrowind.ini?

In addition to what Kingpix said about timestamps, I'll also say that the .ini stores them in alphabetical order, with .esm first and .esp later.

Oh, and what encoding is Morrowind.ini in? I assume it's in Windows-1252 (since that's what plugins.txt, Oblivion.ini and the rest of various gamesas games' files are in)?

How can I check that? I imported Morrowind.ini to Firefox, and Windows-1252 messes Polish characters. Windows-1250 displays them properly.
User avatar
glot
 
Posts: 3297
Joined: Mon Jul 17, 2006 1:41 pm

Post » Tue May 08, 2012 6:46 pm

In addition to what Kingpix said about timestamps, I'll also say that the .ini stores them in alphabetical order, with .esm first and .esp later.



How can I check that? I imported Morrowind.ini to Firefox, and Windows-1252 messes Polish characters. Windows-1250 displays them properly.
I use Notepad++ to check file encodings. I would have thought that Windows-1250 would be an unlikely choice of encoding, considering Bethesda's use of 1252 for its later games. There's no real major benefit to be had from switching from 1250 to 1252, so it's unlikely that they changed it (especially since they could have then just gone unicode instead).

Thanks for the help, I've got everything sorted now, I think. :)
User avatar
Jonathan Montero
 
Posts: 3487
Joined: Tue Aug 14, 2007 3:22 am

Post » Tue May 08, 2012 5:41 pm

Cool! ;)
User avatar
sunny lovett
 
Posts: 3388
Joined: Thu Dec 07, 2006 4:59 am

Post » Tue May 08, 2012 10:30 am

MGE and MGE XE use MWSE 0.9.0b I believe. As far as I know, MWSE is no longer being developed, so looking for another version isn't necessary if the user has either MGE or MGE XE.
User avatar
lexy
 
Posts: 3439
Joined: Tue Jul 11, 2006 6:37 pm

Post » Tue May 08, 2012 4:06 am

MGE and MGE XE use MWSE 0.9.0b I believe. As far as I know, MWSE is no longer being developed, so looking for another version isn't necessary if the user has either MGE or MGE XE.
Yeah, this.
User avatar
jessica Villacis
 
Posts: 3385
Joined: Tue Jan 23, 2007 2:03 pm


Return to III - Morrowind