Tools/utilities

Post » Sat Dec 10, 2011 10:03 am

I am loading up Morrowind again after a long hiatus and was looking to see if there were any new programs to help with managing mods. I can recall spending hours with, I believe, Tespcd copy pasting entries between mods to get everything to show up. For Example I have one mod that changes the guards heads, another changes their armor, another adds a script to them, another changes their weapons, another changes their inventory etc etc. To get everything to show up took a lot of fiddling around. Any utilities that make this easier?
User avatar
abi
 
Posts: 3405
Joined: Sat Nov 11, 2006 7:17 am

Post » Sat Dec 10, 2011 10:31 am

http://www.gamesas.com/index.php?/topic/1060141-mod-recommendations-for-new-players/page__hl__recommendations has a section on Tools. With links to the big ones.

Wrye Mash
TESTool (or another tool to make a Merge Object.esp.. which is what you need to merge all the changes for your Guards at once)
Mlox
User avatar
Kaylee Campbell
 
Posts: 3463
Joined: Mon Mar 05, 2007 11:17 am

Post » Sat Dec 10, 2011 9:33 am

I have a related question, I've used all those tools and more, but what I would really like to see is tes4edit ported for Tes3. I've been using tespcd since before its last version and its great, but tes4edit is able to show so much more so easily and has the ability to directly edit .esps. Elminister ported it for FO3, probably much closer to OB than MW. That's my Xmas wish, sigh.
User avatar
Celestine Stardust
 
Posts: 3390
Joined: Fri Dec 01, 2006 11:22 pm

Post » Sat Dec 10, 2011 5:05 am

From what I've read the records in TES3/TES4 and others are all pretty much identical in the basic structure. The actual records themselves would have to fit the game, but the editors I think carry over. Big difference in TES3 & TES4 is the land masses, which uses a 64x64 grid while all other ones use 32x32.
User avatar
RaeAnne
 
Posts: 3427
Joined: Sat Jun 24, 2006 6:40 pm

Post » Sat Dec 10, 2011 3:19 pm

Spent a while trying to get Smartmerger to work as it looked good, but no go.
User avatar
Steeeph
 
Posts: 3443
Joined: Wed Apr 04, 2007 8:28 am

Post » Sat Dec 10, 2011 7:55 pm

Was worth a try.... Perhaps I can modify SmartMerger to handle other types of games too, that is assuming there's enough of a need and want for it.

EDIT: Just remembered. SmartMerger only accepts files that have a starting TES3 Record. So if the record is say TES4 or something, then it won't accept it. (This is to prevent accidentally including text files or something and crashing the program)
User avatar
Big mike
 
Posts: 3423
Joined: Fri Sep 21, 2007 6:38 pm

Post » Sat Dec 10, 2011 2:37 pm

Hmm got Smartmerger to work a little bit but not completely. not sure what I am doing wrong.
User avatar
Alada Vaginah
 
Posts: 3368
Joined: Sun Jun 25, 2006 8:31 pm

Post » Sat Dec 10, 2011 4:16 am

What are you trying to merge/work with?

Likely what you want is --exclude_unchanged if you want to include all your plugins and the 'merged objects' (Like TESTool) will be loaded last to fix conflicting records.
User avatar
Alex Blacke
 
Posts: 3460
Joined: Sun Feb 18, 2007 10:46 pm

Post » Sat Dec 10, 2011 6:04 pm

What are you trying to merge/work with?

Likely what you want is --exclude_unchanged if you want to include all your plugins and the 'merged objects' (Like TESTool) will be loaded last to fix conflicting records.


Just trying to have the GUI go through my list of mods and make the object merge esp with me approving changes.
User avatar
Thema
 
Posts: 3461
Joined: Thu Sep 21, 2006 2:36 am

Post » Sat Dec 10, 2011 1:38 pm

May be a lot of changes. But --exclude_unchanged, --choice All, and --load_ini, are likely the three flags you want. In the GUI it would be Load ini, Merged Objects-like, and Approve changes.

I would also move your main master files into the reference box below, but it may not be needed.
User avatar
Amber Ably
 
Posts: 3372
Joined: Wed Aug 29, 2007 4:39 pm

Post » Sat Dec 10, 2011 7:51 pm

After letting it run overnight I find all I have is an error text as follows
Warning! FRMR 59919 has no NAME SubRecord
Warning! FRMR 199251 has no NAME SubRecord
Warning! FRMR 4393 has no NAME SubRecord
Warning! FRMR 461885 has no NAME SubRecord
Warning! FRMR 478336 has no NAME SubRecord
Warning! FRMR 138629 has no NAME SubRecord
Warning! FRMR 309551 has no NAME SubRecord
Warning! FRMR 463439 has no NAME SubRecord
Warning! FRMR 231005 has no NAME SubRecord
Warning! FRMR 465612 has no NAME SubRecord
Warning! FRMR 405400 has no NAME SubRecord
Warning! FRMR 479976 has no NAME SubRecord
Warning! FRMR 477783 has no NAME SubRecord
Warning! FRMR 195726 has no NAME SubRecord
Warning! FRMR 413167 has no NAME SubRecord
Warning! FRMR 26257 has no NAME SubRecord
Warning! FRMR 416415 has no NAME SubRecord
Warning! FRMR 18862 has no NAME SubRecord
Warning! FRMR 412116 has no NAME SubRecord
Warning! FRMR 225023 has no NAME SubRecord
Warning! FRMR 223792 has no NAME SubRecord
Warning! FRMR 300032 has no NAME SubRecord
Warning! FRMR 247524 has no NAME SubRecord
Warning! FRMR 264646 has no NAME SubRecord
Warning! FRMR 264658 has no NAME SubRecord
Warning! FRMR 264506 has no NAME SubRecord
Warning! FRMR 246767 has no NAME SubRecord
Warning! FRMR 246786 has no NAME SubRecord
Warning! FRMR 478593 has no NAME SubRecord
Warning! FRMR 478606 has no NAME SubRecord
Warning! FRMR 478613 has no NAME SubRecord
Warning! FRMR 10 has no NAME SubRecord
Warning! FRMR 11 has no NAME SubRecord
Warning! FRMR 408432 has no NAME SubRecord
Warning! FRMR 302158 has no NAME SubRecord
INFO_is_attached: Stuck in infinite loop. Breaking out
INFO_is_attached: Stuck in infinite loop. Breaking out
INFO_is_attached: Stuck in infinite loop. Breaking out
INFO_goto_head: INFO_1834123233174134261_7160d928 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Bivale Teneran
INFO_goto_head: INFO_157421603314772283_7160d928 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Bivale Teneran
INFO_goto_head: INFO_235371551978806463_7160d928 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Bivale Teneran
INFO_goto_head: INFO_157421603314772283_7160d928 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Bivale Teneran
INFO_is_attached: Stuck in infinite loop. Breaking out
INFO_is_attached: Stuck in infinite loop. Breaking out
INFO_is_attached: Stuck in infinite loop. Breaking out
INFO_is_attached: Stuck in infinite loop. Breaking out
INFO_is_attached: Stuck in infinite loop. Breaking out
INFO_goto_head: INFO_2641613943392531469_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_18908217391512310062_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_246848333175682769_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_1220428417263326641_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_1220428417263326641_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_246848333175682769_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis

ID CLASH: DN-GDRv1_NOM.esp -> DN-GDRv1.esp
ACTI_DN_bait-switch_dguard00 -> SCPT_DN_bait-switch_dguard00

ID CLASH: DN-GDRv1_NOM.esp -> DN-GDRv1.esp
SCPT_DN_bait-switch_dguard00 -> ACTI_DN_bait-switch_dguard00

ID CLASH: DN-GDRv1_NOM.esp -> DN-GDRv1.esp
ACTI_DN_bait-switch_dguard01 -> SCPT_DN_bait-switch_dguard01

ID CLASH: DN-GDRv1_NOM.esp -> DN-GDRv1.esp
SCPT_DN_bait-switch_dguard01 -> ACTI_DN_bait-switch_dguard01

ID CLASH: DN-GDRv1_NOM.esp -> DN-GDRv1.esp
ACTI_DN_gate_01 -> SCPT_DN_gate_01

ID CLASH: DN-GDRv1_NOM.esp -> DN-GDRv1.esp
SCPT_DN_gate_01 -> ACTI_DN_gate_01

ID CLASH: DN-GDRv1_NOM.esp -> DN-GDRv1.esp
ACTI_DN_gate_02 -> SCPT_DN_gate_02

ID CLASH: DN-GDRv1_NOM.esp -> DN-GDRv1.esp
SCPT_DN_gate_02 -> ACTI_DN_gate_02

ID CLASH: DN-GDRv1_NOM.esp -> DN-GDRv1.esp
SCPT_DN_impeller -> ACTI_DN_impeller

ID CLASH: DN-GDRv1_NOM.esp -> DN-GDRv1.esp
ACTI_DN_impeller -> SCPT_DN_impeller

ID CLASH: DN-GDRv1_NOM.esp -> DN-GDRv1.esp
SCPT_DN_lift_trap -> SOUN_DN_lift_trap

ID CLASH: DN-GDRv1_NOM.esp -> DN-GDRv1.esp
SOUN_DN_lift_trap -> SCPT_DN_lift_trap
INFO_goto_head: INFO_315705546179349752_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_315705546179349752_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_274131563409125077_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_274131563409125077_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_3075911120292124757_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_3075911120292124757_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_427417191577213594_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_427417191577213594_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_11355152346314704_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_11355152346314704_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_251061852241813155_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_251061852241813155_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_2660248922596410301_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_2660248922596410301_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_241830177139022199_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_241830177139022199_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_2080131931510115376_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_2080131931510115376_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_23429118493166428204_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_23429118493166428204_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_143013945215435495_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_143013945215435495_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_9820282972917525714_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_9820282972917525714_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_3243532324911319324_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_3243532324911319324_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_751416654177291684_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_751416654177291684_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_24231188761444712101_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_24231188761444712101_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_23661320751723877_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_23661320751723877_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_127701666337139434_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_127701666337139434_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_1823629029197016112_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_1823629029197016112_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_531616102400419316_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_531616102400419316_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_2756958051817324138_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_is_attached: Stuck in infinite loop. Breaking out
INFO_goto_head: INFO_2756958051817324138_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_is_attached: Stuck in infinite loop. Breaking out
INFO_goto_head: INFO_315705546179349752_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_315705546179349752_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_2371341011308229940_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_19016162682047929584_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_2371341011308229940_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_19016162682047929584_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_98225500871428624_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_315705546179349752_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_315705546179349752_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_341648585259015_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_341648585259015_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_1467321737160662601_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_1467321737160662601_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_16151187811766120748_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_19016162682047929584_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head aborted on ID: DIAL_B_Aurane Frernis
INFO_goto_head: INFO_16151187811766120748_cdf06189 Stuck in infinite loop. Breaking out

INFO_goto_head ab
User avatar
Darren Chandler
 
Posts: 3361
Joined: Mon Jun 25, 2007 9:03 am

Post » Sat Dec 10, 2011 11:56 am

Somehow I'm not surprised. The infinite loops with the dialogs have been lowered with better versions of SmartMerger, however specifically LGNPC there's a few of them that still give trouble. You'd have to confirm which mods were causing that. It all comes down to the same issue that was always giving me trouble, except one level above that. This is where the PNAM and NNAM are backwards. Technically shouldn't happen, but then again there shouldn't be duplicate INAM's (and there are). Thankfully detecting the infinite loops have gotten better.

The infinite loops won't break the dialog; not quite anyways. I'm not sure how the engine deals with it, worse case is it may have to search them all manually in order to give you the proper reply, you will know if that's the case, it takes some 3-6 seconds per reply (or longer) regardless what you select during dialog. Dialog merging isn't perfect, but it's pretty close. I think I'm the only one to get as close to this stage as anyone.

The lacking of a NAME for FRMR's on the other hand is an error (It requires it to know what object it is...). Not with the program, unless for some reason it removed them (and it refuses to do that normally), and even if SmartMerger did, the record would still be present until you did the output write (At least that's what it is suppose to do). It shouldn't be too hard to figure out which files it is referring to, if not you can always have --query as the next to last argument, then ask it questions to specify in more detail what it is talking about. Like "CELL;59919,199251,4393" to have it tell you more about these three FRMR's. It would tell you where it came from, and curiously enough, what modified it (if anything). If you identify what plugins and can confirm they had empty/missing NAME subrecords, they may have to be cleaned out. I could add a flag to Mark them to be removed for you.
User avatar
Cccurly
 
Posts: 3381
Joined: Mon Apr 09, 2007 8:18 pm

Post » Sat Dec 10, 2011 6:12 pm

Tried running it without any of the Less Generic Morrind files loading and it got quickly to giving me a merged objects.esp, a first! Still gives the list of FRMR errors. Pretty much all I am loading without the less generic files is MGSO and Tamriel Rebuilt. Also not sure what the approve changes tag was supposed to do but it did not ask about any changes when outputting the merged esp.
User avatar
Milagros Osorio
 
Posts: 3426
Joined: Fri Aug 25, 2006 4:33 pm

Post » Sat Dec 10, 2011 7:22 pm

Sounds like you did quite well then. The --choice gives you an option regarding multiple items trying to change the same object. Those would be conflicts (Unless I need to rework my --choice code...), but that only happens if something wasn't originally part of a master file. 99% of the time this is how it is suppose to be, meaning few actual conflicts were found. If you wanted to approve every single change (God forbid you do anything large) you can always use --print_esm_clash (Not recommended, but an option).
User avatar
Charleigh Anderson
 
Posts: 3398
Joined: Fri Feb 02, 2007 5:17 am

Post » Sat Dec 10, 2011 12:17 pm

ID CLASH: DN-GDRv1_NOM.esp -> DN-GDRv1.esp
SCPT_DN_bait-switch_dguard00 -> ACTI_DN_bait-switch_dguard00
mutually exclusive mods
User avatar
Dan Scott
 
Posts: 3373
Joined: Sun Nov 11, 2007 3:45 am

Post » Sat Dec 10, 2011 9:43 am

Indeed. Now that you point that out, it's totally obvious. I was looking more at the dialog issues and not anything else.

But at least it's being useful at identifying issues like this (even if it doesn't try to fix/rename them automatically)
User avatar
Andrew Perry
 
Posts: 3505
Joined: Sat Jul 07, 2007 5:40 am


Return to III - Morrowind