[RELz] mlox, a tool for anolyzing and sorting your load orde

Post » Sat May 28, 2011 4:41 pm

New Release of the rule-base: mlox-data_2009-04-20.7z
Available here: http://code.google.com/p/mlox/downloads/list

In this new release, a bunch of stuff from Dragon32, including lots of new rules for Balmora Expansion, so if you run BE, you might want to check that out.
Also, new conflicts for Children of the Night/Abigail's Petshop (reported by Snargelfargen) and Tamriel Rebuilt Map 1/Surefoot Enterprises, found by Chaos 303030.
And a few more.

One issue that Snargelfargen brought up touched on the bug in TESTOOL that causes it to sometimes set NPC's health to zero in "Merged Objects.esp". I believe this is not related to any specific mod, some people encounter the bug, many do not. Not sure if I should put a warning on "Merged Objects.esp", but I'll take suggestions.
User avatar
le GraiN
 
Posts: 3436
Joined: Thu Mar 22, 2007 6:48 pm

Post » Sat May 28, 2011 3:52 pm


One issue that Snargelfargen brought up touched on the bug in TESTOOL that causes it to sometimes set NPC's health to zero in "Merged Objects.esp". I believe this is not related to any specific mod, some people encounter the bug, many do not. Not sure if I should put a warning on "Merged Objects.esp", but I'll take suggestions.
Might be worth a [Note] rule... Thing is is the fixing of it. This is what I do (ish):

(1) Load Merged Objects in TES:CS
(2) File > Export Data > NPCs > New NPCs
(3) save as "NPCs.csv"
(4) Open with Open Office's Calc
(5) Sort on column E (health) then on B (name) and identify those with 0 health who should have health (i.e. no "Dead Adventurer"s)
(6) In TES:CS, check "Auto Calculate Stats", should sort most out. Seem to remember some issues where an NPC's class was defined in their parent plugin (e.g. fisherman) not sure what I did then...

Anyway, the mlox rule could become a bit huge. Perhaps some text on your website (UESP wiki?) and a link in the mlox rule as is done for the GMST warnings?

Best bet would be for someone to re-write TESTool's functionality :ninja:
User avatar
James Hate
 
Posts: 3531
Joined: Sun Jun 24, 2007 5:55 am

Post » Sat May 28, 2011 8:29 pm

... Seem to remember some issues where an NPC's class was defined in their parent plugin (e.g. fisherman) not sure what I did then...
And Genetics and Silt Strider operators, though not a TESTool problem in that case I believe.

Best bet would be for someone to re-write TESTool's functionality :ninja:
Seems to me that all we need is the Merge Objects function? The rest is well done elsewhere or better not done at all.
User avatar
Richard Dixon
 
Posts: 3461
Joined: Thu Jun 07, 2007 1:29 pm

Post » Sat May 28, 2011 2:40 pm

(1) Load Merged Objects in TES:CS
(2) File > Export Data > NPCs > New NPCs
(3) save as "NPCs.csv"
(4) Open with Open Office's Calc
(5) Sort on column E (health) then on B (name) and identify those with 0 health who should have health (i.e. no "Dead Adventurer"s)


If you want to try tes3cmd, 1 thru 5 could be replaced with:

tes3cmd dump -l -t npc_ -m "health: 0" "Merged Objects.esp"

If you leave out the "-l" it will show the entire record, if you want to just check that it's working as you expect. The "-m" parameter for matching can be tweaked too.

I've been dawdling on getting around to a merged objects tool. I need to just decide on which language to use and start doing something.
User avatar
Rachael Williams
 
Posts: 3373
Joined: Tue Aug 01, 2006 6:43 pm

Post » Sun May 29, 2011 1:09 am

If you want to try tes3cmd, 1 thru 5 could be replaced with:

tes3cmd dump -l -t npc_ -m "health: 0" "Merged Objects.esp"

If you leave out the "-l" it will show the entire record, if you want to just check that it's working as you expect. The "-m" parameter for matching can be tweaked too.

I've been dawdling on getting around to a merged objects tool. I need to just decide on which language to use and start doing something.
I really must get round to installing some kind of Perl and trying out tes3cmd...

I think that TESTool's cleaning function (with Restricted options set) is still worthwhile:

* Remove any default GMST records (including "evil" 72 entries).
* Remove any records that are identical to the records found in the morrowind.esm, tribunal.esm or bloodmoon.esm. There only two exceptions to this:
o For INFO records NNAM/PNAM fields are ignored during comparison (unless restricted dialog cleaning has been enabled)
o LTEX records (land textures) are not removed.
* Remove any object references inside CELL records that are identical to the references in the default ESM files.
* Remove AMBI(ambient light) and WGHT(water level) fields from the CELL records that are identical to the references in the default ESM files.
* Remove empty CELL records that do not have any related LAND/PGRD records. If restricted cell cleaning is enabled, then only STANDARD empty cells will be removed.
* Remove any DIAL (dialog) records that do not have associated INFO records, unless it is a journal dialog (type 4).
* Remove any duplicate objects (two objects with same ID) if requested by users. Re-saving plugin in the TES Construction Set will also eliminate duplicate objects.
* During save plugin will be automatically upgraded to the file format version 1.3

There are some things that it misses like http://wrye.ufrealms.net/GMST%20Vaccine.html and http://planetelderscrolls.gamespy.com/View.php?id=6446&view=Mods.Detail.
User avatar
Lisha Boo
 
Posts: 3378
Joined: Fri Aug 18, 2006 2:56 pm

Post » Sat May 28, 2011 12:44 pm

i find the testool invaluable in cleaning mods, it does a great job as long as you review the log afterwards. i've even cleaned the 'don't clean' mods to good effect, most of the don't clean mods were overly cautious.
User avatar
KIng James
 
Posts: 3499
Joined: Wed Sep 26, 2007 2:54 pm

Post » Sat May 28, 2011 11:43 pm

i find the testool invaluable in cleaning mods, it does a great job as long as you review the log afterwards. i've even cleaned the 'don't clean' mods to good effect, most of the don't clean mods were overly cautious.
Agree completely, I added something to the TESTool wiki page's discussion about that some time ago. Whilst I haven't updated the actual page please add your thoughts to the discussion there and (when I get round to it) we'll hopefully have a more useful resource.
User avatar
Casey
 
Posts: 3376
Joined: Mon Nov 12, 2007 8:38 am

Post » Sat May 28, 2011 3:52 pm

Just a thought for a possible new feature:
When one saves a mod using TESAME it automatically prefixes "Clean" to its name (I've even seen some "Clean Clean Modname.esp"). Yacoby's Reorder Mods can (IIRC) automatically remove the "Clean" prefix. So, it's possible there may be mods in someone's load list that aren't recognised by mlox as they have the Clean prefix (added by the user) or don't (removed by a user of Reorder Mods).

Could mlox use "Clean" (case sensitive and at the start of a mod name string) in a special way so it reviews mods against the rules with both the prefix added and (if present) without it?

This could be rather a headache to code and may well add an excessive performance hit. Still, just an idea...

Oh, one other thing: could one of the TXT files be updated to say that rules in "mlox_user.txt" override those in "mlox_base.txt"? I had a look and couldn't see it mentioned anywhere, I had to test it out myself. Hopefully I am right and that's the order :unsure:

Still working on adding new rules.
User avatar
Tyrel
 
Posts: 3304
Joined: Tue Oct 30, 2007 4:52 am

Post » Sat May 28, 2011 2:58 pm

Just a thought for a possible new feature:
When one saves a mod using TESAME it automatically prefixes "Clean" to its name (I've even seen some "Clean Clean Modname.esp"). Yacoby's Reorder Mods can (IIRC) automatically remove the "Clean" prefix. So, it's possible there may be mods in someone's load list that aren't recognised by mlox as they have the Clean prefix (added by the user) or don't (removed by a user of Reorder Mods).

Could mlox use "Clean" (case sensitive and at the start of a mod name string) in a special way so it reviews mods against the rules with both the prefix added and (if present) without it?

This could be rather a headache to code and may well add an excessive performance hit. Still, just an idea...

I'll have to think about this one and do some experiments. Any use of the [SIZE] predicate would be thrown off by cleaning with TESTOOL. In the case where we check the [SIZE] to see if the plugins is the one with GMSTs, that's a good thing, but there could be other cases where an expected match wouldn't happen because the cleaning changes the size of the plugin. So I'll see what I can do.

Oh, one other thing: could one of the TXT files be updated to say that rules in "mlox_user.txt" override those in "mlox_base.txt"? I had a look and couldn't see it mentioned anywhere, I had to test it out myself. Hopefully I am right and that's the order :unsure:


mlox_rules_guide.txt says: "Rules from mlox_user.txt take precedence over those in mlox_base.txt", but I can see how this is important enough to have it repeated in other places, so I'll do that.

Thanks!
User avatar
ijohnnny
 
Posts: 3412
Joined: Sun Oct 22, 2006 12:15 am

Post » Sat May 28, 2011 4:50 pm

I'll have to think about this one and do some experiments. Any use of the [SIZE] predicate would be thrown off by cleaning with TESTOOL. In the case where we check the [SIZE] to see if the plugins is the one with GMSTs, that's a good thing, but there could be other cases where an expected match wouldn't happen because the cleaning changes the size of the plugin. So I'll see what I can do.
Yeah, it is a major change and would require a bit of looking at the current rules, most of the SIZE rules relate to GMSTs (I'll be adding SIZE to the Ald Vendras tests for the bogus scripts psyringe mentioned). It might be too much of a headache...

mlox_rules_guide.txt says: "Rules from mlox_user.txt take precedence over those in mlox_base.txt", but I can see how this is important enough to have it repeated in other places, so I'll do that.

Thanks!
Crap, I thought I'd checked everything. It is buried in a paragraph and not on its own, so I guess I'll use that as my excuse.
User avatar
gemma king
 
Posts: 3523
Joined: Fri Feb 09, 2007 12:11 pm

Post » Sun May 29, 2011 12:12 am

New release for an update to the rule-base, courtesy of Dragon32: mlox-data_2009-05-04.7z
Available from: http://code.google.com/p/mlox/downloads/list

Updated
Ald Redaynia Extended [Princess Stomper]
Ald Vendras v31 [Centurion]
Authentic Signs: Inns and Taverns 1.1 [Nigedo]
Balmora Farmers Market [EchoFlame]
DNGDR - Darknut's Greater Dwemer Ruins [Darknut]
Royal Chargen version 1.2 [Princess Stomper]
Texture Fix - Balmora Expansion [Slartibartfast]

New
Distant Land Weather Fog [XBV]
Museum of Artifacts Improved Expanded [Princess Stomper]
Printing Press [Aquan and dongle]
Realistic Weather [Mal'isirion]
Vacant Telvanni Manor [Aquatakat]


Thanks Dragon32!
User avatar
Raymond J. Ramirez
 
Posts: 3390
Joined: Sun Oct 14, 2007 8:28 am

Post » Sat May 28, 2011 4:15 pm

I m trying to run mlox. I d/l 'd & unzipped 5.57z into m M/W dir. and then unzipped mlox-data into the new mlox folder. when I try to open either batch or py the window flashes quickly and disappears. I use Wrye Mash so I have Python. Any suggestions please?
User avatar
lauren cleaves
 
Posts: 3307
Joined: Tue Aug 15, 2006 8:35 am

Post » Sun May 29, 2011 12:09 am

I m trying to run mlox. I d/l 'd & unzipped 5.57z into m M/W dir. and then unzipped mlox-data into the new mlox folder. when I try to open either batch or py the window flashes quickly and disappears. I use Wrye Mash so I have Python. Any suggestions please?



Just run the mlox.exe. I think back when mlox was first created you ran a .bat file.
User avatar
Rebekah Rebekah Nicole
 
Posts: 3477
Joined: Fri Oct 13, 2006 8:47 pm

Post » Sat May 28, 2011 9:59 am

I don't seem to have a mlox.exe. file. I have 4 batch files, an MSG file and a Python file in my mlox folder.
User avatar
lolly13
 
Posts: 3349
Joined: Tue Jul 25, 2006 11:36 am

Post » Sat May 28, 2011 10:25 pm

I don't seem to have a mlox.exe. file. I have 4 batch files, an MSG file and a Python file in my mlox folder.

The reason the python version isn't working for you is probably that you have an incompatible version of Python/wxPython installed. You can try installing the version mlox needs, but I suggest the easier path of downloading mlox-exe-0.55.7z, and running the .exe version.
User avatar
Rik Douglas
 
Posts: 3385
Joined: Sat Jul 07, 2007 1:40 pm

Post » Sat May 28, 2011 10:05 am

O.K., tried that. There is still no exe. file in my mlox folder and clicking on any of the batch/py/MSG files only flashes the mlox window.

I have python2.5 & wxPython2.8win32ansi2.8.0.

.
User avatar
Roanne Bardsley
 
Posts: 3414
Joined: Wed Nov 08, 2006 9:57 am

Post » Sat May 28, 2011 3:43 pm

This morning I deleted mlox and then d/l's mlox.exe. & data files. I put the .55 files into Morrowind and the data file into mlox. When I opened set-up I got only a flash of the mlox window. Ditto when I opened the mlox Batch file. Any ideas on what I'm doing wrong? In the Zip folder I noticed a mlox.exe. (application) file, but I do not see it in my Morrowind directory.

EDIT: Found the right file (MLOX on an angle). Thanx for all your help.
User avatar
xemmybx
 
Posts: 3372
Joined: Thu Jun 22, 2006 2:01 pm

Post » Sat May 28, 2011 3:35 pm

"Homes to let" By Princess stomper should load after Nighttime door locks by Ldones. Mlox put it before.

Just thought you should know that!
User avatar
Colton Idonthavealastna
 
Posts: 3337
Joined: Sun Sep 30, 2007 2:13 am

Post » Sat May 28, 2011 10:36 am

"Homes to let" By Princess stomper should load after Nighttime door locks by Ldones. Mlox put it before.

I'll check it out, but it always helps if you could give a little info as to what the conflict is. Thanks.
User avatar
Lizs
 
Posts: 3497
Joined: Mon Jul 17, 2006 11:45 pm

Post » Sat May 28, 2011 4:39 pm

I'll check it out, but it always helps if you could give a little info as to what the conflict is. Thanks.


What happens is the Door to the rented room is not there if loaded before Nighttime Door locks. The original door is there "locked".
User avatar
Lisa
 
Posts: 3473
Joined: Thu Jul 13, 2006 3:57 am

Post » Sat May 28, 2011 11:02 am

Part A:

Ok, clearly I'm an idiot. I can't get the gui to work. I scanned the previos thread and this one and found at least one reference to my error message, but I'm not clear on the solution.

Here's the error when I try to run mlox.py:

mlox.py 0.55 [mlox-base 2009-05-04 20:51:37 (UTC)] (en/cp1252)
Python Version: 2.5
wxPython Version: 2.8.0.1
Traceback (most recent call last):
File "mlox.py", line 1723, in
main()
File "mlox.py", line 1631, in main
mlox_gui().start()
File "mlox.py", line 1516, in start
self.anolyze_loadorder(None)
File "mlox.py", line 1505, in anolyze_loadorder
self.highlight_warnings(self.txt_msg)
File "mlox.py", line 1447, in highlight_warnings
low = rt.TextAttrEx() ; low.SetBackgroundColour(wx.Colour(125,220,240))
AttributeError: 'module' object has no attribute 'TextAttrEx'

Am I not running the correct version or is the program not in the correct directory? locheck.bat works just fine, which leads me to . . .

Part B:

locheck reported:

> 'GIANTS.esm'
| !! Uses deprecated AddToLev* function to modify gamesas leveled lists. For an explanation of why the functions AddToLev*/RemoveFromLev* are deprecated, please see (Some patches may be available at that link):
| !! http://www.uesp.net/wiki/Tes3Mod:Leveled_Lists

However, I followed the link and the site says "Giants 2.7.1 'Ultimate' (GIANTS.esm): The Add_Ultimate_items script uses the AddToLevItem command, but apparently the script is never run. No patch necessary." So I don't need to do anything else? Should that be notated somewhere in the mlox output to avoid having to go to the site to discover nothing needs to be done?

Other than that, I'm so glad LadyGodiva tipped me off to mlox. It found several issues with my load order, conflicts, and unnecessary double fixes. Incidentally, mlox showed me two very important things: 1) that after a clean install, BloodMoon.esm was loading BEFORE Tribunal.esm . . . I can't believe I missed that! 2) I had esps that predated my esms. I didn't even think that mattered; I thought all esms automatically loaded before esps so the dates didn't count.

I repeat, clearly I'm an idiot. Thanks for the great program and thanks in advance for your patience concerning my issues.

- E
User avatar
Chloe :)
 
Posts: 3386
Joined: Tue Jun 13, 2006 10:00 am

Post » Sat May 28, 2011 3:26 pm

Hi there,

First things first - thank you for a great program/tool! It is a time savior. I've been fighting with a new setup of mods for over a week now (well, in spare time of course) and Mlox has been very helpful. I should give you a heads up that it puts TLM (The Lightning Mod) before NOM & Piratelord's PTE - hens TLM sizes to work. This setup seem to work better for me:

237 NOM 2.13.esp (Version 2.13-02)
238 MCA - NOM Patch.esp
239 Piratelords Trade Enhancements.esp
240 TLM - Ambient Light + Fog Update.esp
241 TLM - Light Sources (Clearer Lighting).esp
242 TLM - Light Sources (Natural Water).esp
243 TLM - Light Sources (Lanterns).esp
244 TLM - External Lights Ownership.esp
245 TLM - NPC Light Sources.esp
246 Merged_Objects.esp
247 Mashed Lists.esp
* The only weird thing I'm experiencing is with NOM sleep script: I can sleep 16 hrs a day and it will still tell me that "I'm getting tired & need some sleep" at midnight... But it may be some other mod conflict.
** I also plan to add "Lights 300" before NOM and see what happens. :)

Hope that helps.
Cheers.
User avatar
Rhi Edwards
 
Posts: 3453
Joined: Fri Jul 28, 2006 1:42 am

Post » Sat May 28, 2011 10:33 pm

Here's the error when I try to run mlox.py:

mlox.py 0.55 [mlox-base 2009-05-04 20:51:37 (UTC)] (en/cp1252)
Python Version: 2.5
wxPython Version: 2.8.0.1
Am I not running the correct version or is the program not in the correct directory?

The version of wxPython required by the GUI part of mlox requires version 2.8.7.1 as it says in the readme.You can either upgrade your wxPython or just use the .exe version of mlox.


However, I followed the link and the site says "Giants 2.7.1 'Ultimate' (GIANTS.esm): The Add_Ultimate_items script uses the AddToLevItem command, but apparently the script is never run. No patch necessary." So I don't need to do anything else? Should that be notated somewhere in the mlox output to avoid having to go to the site to discover nothing needs to be done?

This came up before. To the best of my knowledge, that web page is incorrect on this matter and the script is run since it is a startup script. I didn't write that page, and I do not know what the logic was behind that statement.

I had esps that predated my esms. I didn't even think that mattered; I thought all esms automatically loaded before esps so the dates didn't count.

Morrowind always loads all masters (.esm) before any plugin (.esp). mlox, just for the sake of simplicity will re-date all your masters before the dates of the plugins.
User avatar
Amie Mccubbing
 
Posts: 3497
Joined: Thu Aug 31, 2006 11:33 pm

Post » Sat May 28, 2011 1:34 pm

The version of wxPython required by the GUI part of mlox requires version 2.8.7.1 as it says in the readme.You can either upgrade your wxPython or just use the .exe version of mlox.


See, told you I was an idiot. I saw the 2.8.x.1 and totally missed the 7. I just downloaded this svcker last month, so I wasn't even thinking upgrade. Sorry.

This came up before. To the best of my knowledge, that web page is incorrect on this matter and the script is run since it is a startup script. I didn't write that page, and I do not know what the logic was behind that statement.


So, what can I do about Giants Ultimate if there is no patch and mlox directs me to a page that has incorrect information?

Morrowind always loads all masters (.esm) before any plugin (.esp). mlox, just for the sake of simplicity will re-date all your masters before the dates of the plugins.


Ah, ok. I guess I was feeling so dumb, I figured I could have been wrong about that too. Thanks again for the great tool.
User avatar
Jonathan Braz
 
Posts: 3459
Joined: Wed Aug 22, 2007 10:29 pm

Post » Sat May 28, 2011 11:06 pm

So, what can I do about Giants Ultimate if there is no patch and mlox directs me to a page that has incorrect information?

Giants only modifies 2 leveled lists: l_m_amulets and l_m_rings. So the worst that will happen if you use Giants is that those 2 little lists will not have the correct items (if those lists are actually in your merged lists plugin). So I'd say, you probably wouldn't even notice the problem if you ran Giants. Also, Wrye Mash will supposedly clean out leveled lists from your savegame if you do the "Repair All" function on it, so theoretically you could avoid the problem by using "Repair All" on your current save whenever you add a new plugin that would modify those 2 lists (and rebuild your merged lists plugin too, of course).

Which is to say, if you want to use Giants, I think you should just go ahead and use it. Hopefully someone will do a patch for it and announce it on the wiki.

Edit: Well, I just edited the wiki page to indicate that the script does run and needs fixing, but no patch is currently known. If anyone disagrees, feel free to revert my change :)
User avatar
[ becca ]
 
Posts: 3514
Joined: Wed Jun 21, 2006 12:59 pm

PreviousNext

Return to III - Morrowind