Upcoming mod tool

Post » Mon Mar 14, 2011 10:10 pm

Are you referring to the WEAP.WPDT subrecord? This is what I currently have in http://code.google.com/p/mlox/source/browse/trunk/util/tes3cmd:

Let me know if you have questions about decoding, I've got some stuff worked out but not documented yet (particularly for savegames).


Yes and no. Min/Max damages for Chop, slash and thrust are all considered 1 unit (all of them change if you do anything) where the rest of the values can be edited individually. Sometimes I've selectively grouped things together for simplicity, or what would make sense to keep together. I can combine or break the groups apart, depending on what makes sense. Plus i put an internal limit that i can't have more than 64 'groups' (Structure, memory reasons). Some items, (rank data comes close) Has a lot of variables.

At this moment I'm not too concerned about savegame data, although maybe being able to extract cell data of specific cells when you add/modify something might be easier to work with for preparing a module than doing it all in the TES CS editor. I know I've had stacks of armor and soul-gems before.
User avatar
vanuza
 
Posts: 3522
Joined: Fri Sep 22, 2006 11:14 pm

Post » Mon Mar 14, 2011 7:05 pm

*bump*
Great tool. The only thing missing is to merge objects. (As far as I can see. Maybe there's a hidden parameter)

By the way, I have found a bug:

SmartMerger can't handle "UL_RoHT_1.4_Compatibility.esp" without crashing. This file is located in the main archive of http://planetelderscrolls.gamespy.com/View.php?id=5997&view=Mods.Detail
User avatar
Laura Tempel
 
Posts: 3484
Joined: Wed Oct 04, 2006 4:53 pm

Post » Mon Mar 14, 2011 9:27 pm

Repost from Elder Planet Fourms.

Version: 1.2

* Re-wrote dialog merging routines.
* Added ID clash detection for different types.
* Added the following flags/options. --input, --no_dup_id_check, --disabled_fix_on_scripts, --author, --description.



Internally there's a LOT more changes, i don't remember them all. Some speedups, how it accepts commandline inputs, debugging output, Ect. There's a lot.

K, about the dialog. the biggest pain in the butt i've ever had, ended up taking the better part of 4 days fixing this. The rest of the program wasn't nearly this difficult. After working with 2-4 plugins that modified the same dialog (ie, adding to the very beginning of the dialog) it wouldn't connect right. The current technique is it checks if it's connected, and if it was it didn't bother try to re-connect. If it wasn't, connect as appropriate.
HOWEVER.. Even if you get all that right, they need to be in order in the file otherwise the editor complains. Example: 1 goes to 2, which goes to 3. If it's 3->1->2, although the records have the right data/order, the game doesn't care and puts them in the order of the records in the file. Very annoying.
Another note. in the file ALWAYS order the dialogs by longest topic/ID first. Otherwise it won't hyperlink right.

ID Clash detection. Thanks to VitalRush for bringing this up. Now it automatically looks for duplicate ID's that aren't related in type. Example in a new esp, where i have an argonian named 'that one guy' and in another plugin that clashes with it, a weapon with the same name. It will detect it, notify you, and append a code (checksum of the filename) to the ID to ensure it doesn't clash, then replaces EVERY reference it can find of the old reference to the new one. (Except in dialog text). If scripts are modified this way, you need to recompile. It also refuses to check Cell Names, Land Names, Ect. Seems there's half of them that NEED to clash to connect right. So it's selective on the checks.

--input. I've been told repeatedly it's annoying to put a long list of files in the commandline, not only repetative, but it can be difficult. It not only accepts files, but more flags/options. You could optionally go as many levels deep with options or connecting input files as you want. Just don't get carried away or put it in an infinite loop, the program will just crash after it consumes all your memory and virtual memory.
BTW, if your using XP or a newer version, you can start off with what the file is, and hit tab. It will cycle through each matching filename.

K, added a --disabled_fix_on_script option. This turns off the Disabled fix on those without scripts. Be warned, it can and will still crash. I play-tested with that option, and for the first time in 8 hours playing it crashed. Confirmed it was a scriptless NPC. Disable at your own risk!! The script is already super-light weight so it's hardly noticable.

Added --author/--description flags, this allows you to enter them in the inputfile/commandline when finished combining files. I got tired of trying to re-type in all the description data every time i merged my 100+ plugin merge so, this simplifies it.

--Debug - Now tells you more information. Says what record it's on (By Record ID), and if it hits a dialog, puts one of 4 characters based on findings and actions.
! - No connections (or not enough to connect yet) you'll likley only see this once at the beginning of dialog merge.
p - Previous. Most common letter seen. It connects back to the last record, or to the end of the dialog.
n - Next. Usually when it's just connecting a new strain to the beginning of the dialogs.
x - both connections. Also quite common.

What a lot of work. Time to playtest for a while...
User avatar
Glu Glu
 
Posts: 3352
Joined: Sun Apr 01, 2007 5:39 am

Post » Tue Mar 15, 2011 12:33 am

*bump*
Great tool. The only thing missing is to merge objects. (As far as I can see. Maybe there's a hidden parameter)

By the way, I have found a bug:

SmartMerger can't handle "UL_RoHT_1.4_Compatibility.esp" without crashing. This file is located in the main archive of http://planetelderscrolls.gamespy.com/View.php?id=5997&view=Mods.Detail


I will look at it shortly. However the new version may have already fixed that problem. Not sure yet. But after the last week, i need a break.

As for merging objects, it should already merge them. Can you provide an example? It may be that some fields are grouped together. IE all damage types are together, so it's all or nothing there. However with most items, (Except a few) the individual subrecord's sub-entries are kept separate. Check the sm_mod.esp, and sm_mod2.esp, which both modify a new weapon as a demonstration.
User avatar
Natasha Biss
 
Posts: 3491
Joined: Mon Jul 10, 2006 8:47 am

Post » Mon Mar 14, 2011 3:23 pm

As for merging objects, it should already merge them. Can you provide an example? It may be that some fields are grouped together. IE all damage types are together, so it's all or nothing there. However with most items, (Except a few) the individual subrecord's sub-entries are kept separate. Check the sm_mod.esp, and sm_mod2.esp, which both modify a new weapon as a demonstration.


I mean a "Only merge conflicting records" function. Something like TesTool has. I used "smartmerger *.esp merged.esp" and it resulted in a huge esp file (80 MB)

Another bug report:
If I merge Better Clothes and Piratelords Trade Enhancements the tool crashes.
User avatar
LittleMiss
 
Posts: 3412
Joined: Wed Nov 29, 2006 6:22 am

Post » Mon Mar 14, 2011 10:36 pm

I mean a "Only merge conflicting records" function. Something like TesTool has. I used "smartmerger *.esp merged.esp" and it resulted in a huge esp file (80 MB)

Another bug report:
If I merge Better Clothes and Piratelords Trade Enhancements the tool crashes.


Then you must have a lot of plugins to make 80Mb
What you are wanting is --reference. Take all the input files you want to use as a reference, then the following ones that change it will carry through, everything else is discarded. If that's not what you mean, then i'm not sure.

Hmmm well most of my testing for merging is done with masters and plugins together, remaking the core game with fewer issues, Ect. I have a fairly good idea what might be causing the crashes, so we'll see.

EDIT: Seems that for piratelords it was in the header. Seems the description used the full 256 bytes; which isn't bad perse. Simple 1 line fix. If anything else crashes, check if it has a VERY VERY long description or author text. I'd hate to do another upload for 1 tiny fix.
User avatar
Cat Haines
 
Posts: 3385
Joined: Fri Oct 27, 2006 9:27 am

Post » Mon Mar 14, 2011 4:29 pm

Then you must have a lot of plugins to make 80Mb
What you are wanting is --reference. Take all the input files you want to use as a reference, then the following ones that change it will carry through, everything else is discarded. If that's not what you mean, then i'm not sure.


As soon as I use --reference on any of my installed plugins: "Smartmerger.exe has encounted a problem and needs to close"

Hmmm well most of my testing for merging is done with masters and plugins together, remaking the core game with fewer issues, Ect. I have a fairly good idea what might be causing the crashes, so we'll see.

EDIT: Seems that for piratelords it was in the header. Seems the description used the full 256 bytes; which isn't bad perse. Simple 1 line fix. If anything else crashes, check if it has a VERY VERY long description or author text. I'd hate to do another upload for 1 tiny fix.


Economy Revamp V3.3

Doesn't seem like a long description to me

I removed both: The author text and the description and still crashes at "Writing: Sorting:Injecting SM_disabled_fix:", with "--no_disabled_fix" it crashes at "Writing: Sorting:"


EDIT:
Ok, --reference works fine now. I was using it wrong. I will test it on my heavily modded game and I will post the result later.


EDIT2:
I used "esper --find-conflicts -a" to get a list of conflicting plugins. Then I put the results in a .txt file and used smartmerger to merge them with this command: "smartmerger.exe --input esper.txt --reference merged.esp"

Result:
The tool stops at Writing:, eats 100% of my CPU and nothing happens.

My load order, exported via ReOrder Mods:

Plugin1=Morrowind.esmPlugin2=Tribunal.esmPlugin3=Bloodmoon.esmPlugin4=Book Rotate.esmPlugin5=GOTYFullTidyZeroMPPv2.01.esmPlugin6=Morrowind Patch v1.6.5-BETA.esmPlugin7=Better Heads.esmPlugin8=Better Heads Tribunal addon.esmPlugin9=Better Heads Bloodmoon addon.esmPlugin10=TR_Data.esmPlugin11=TR_Map1.esmPlugin12=TR_Map2.esmPlugin13=Texture Fix 1.8.esmPlugin14=Bloodmoon Landscape Overhaul 1.0.esmPlugin15=abotWaterLife.esmPlugin16=MW_Children_1_0.esmPlugin17=GDR_MasterFile.esmPlugin18=BT_Whitewolf_2_0.esmPlugin19=Rise of House Telvanni.esmPlugin20=GOTYSTMPPPatchv1.0.espPlugin21=Texture Fix -TR -1.0.espPlugin22=Better Bodies.espPlugin23=Westly's Master Headpack X.espPlugin24=New Argonian Bodies - Clean.espPlugin25=New Khajiit Bodies - Clean.espPlugin26=Better Clothes_v1.1_nac.espPlugin27=UniqueFinery_NoRobe.espPlugin28=Unique Jewelry and Accessories.espPlugin29=Book Rotate - Tribunal v5.3.espPlugin30=Nymeria's Monthly Respawn.espPlugin31=Book Rotate - Bloodmoon v5.3.espPlugin32=Book Jackets - Morrowind - BookRotate.espPlugin33=Book Jackets - Tribunal - BookRotate.espPlugin34=Book Jackets - Bloodmoon - BookRotate.espPlugin35=correctUV Ore Replacer 1.0.espPlugin36=Key Replacer Trib & BM.espPlugin37=Better Skulls.ESPPlugin38=WA_Signy_Signposts(!).ESPPlugin39=WA_Signy_Signposts(!)_TR.ESPPlugin40=Vurt's Ashlands Overhaul.espPlugin41=Vurt's Solstheim Trees & Bushes Replacer.ESPPlugin42=Expanded Sounds.espPlugin43=Balance - NPC Spellcasting.espPlugin44=Balance - game settings.espPlugin45=Balance - Magic Effects.espPlugin46=Balance - spells.espPlugin47=Gameplay - Faction.espPlugin48=LGNPC_NoLore_v0_83.espPlugin49=Lgnpc_SN.espPlugin50=LGNPC_GnaarMok_v1_10.espPlugin51=LGNPC_AldVelothi_v1_20.espPlugin52=LGNPC_MaarGan_v1_20.espPlugin53=LGNPC_HlaOad_v1_32.espPlugin54=Less_Generic_Nerevarine.espPlugin55=Less_Generic_Tribunal.espPlugin56=Less_Generic_Bloodmoon.espPlugin57=LGNPC_Aldruhn_v1_20.espPlugin58=LGNPC_Aldruhn_v1_20_suppl.espPlugin59=LGNPC_Pelagiad_v1_22.espPlugin60=LGNPC_TelMora_v1_20.espPlugin61=LGNPC_Khuul_v2_10.espPlugin62=LGNPC_VivecFQ_v2_10.espPlugin63=LGNPC_TelUvirith_v1_20.espPlugin64=LGNPC_SecretMasters_v1_30.espPlugin65=LGNPC_IndarysManor_v1_51.espPlugin66=LGNPC_VivecRedoran_v1_50.espPlugin67=LGNPC_PaxRedoran_v1_20.espPlugin68=LGNPC_SoulSicknessPatch_v1_00.espPlugin69=Taddeus'BalancedArmors.espPlugin70=Taddeus'BalancedWeapons.espPlugin71=NEDE v1.2.espPlugin72=NEDE WGI patch.espPlugin73=Spect Sorcery pt 1.espPlugin74=Bloated Caves.espPlugin75=Graphic Herbalism.espPlugin76=Graphic Herbalism Extra.espPlugin77=Improved Gold Weight.espPlugin78=Keyring.espPlugin79=RAMF_Mer.espPlugin80=BirthsignsAMFun_BM.espPlugin81=P.R.E. v4.0.espPlugin82=Nudity Greeting Expansion V1.espPlugin83=Creatures.espPlugin84=abotWaterLifeTRaddon.espPlugin85=abotWhereAreAllBirdsGoing.espPlugin86=abotGuars.espPlugin87=NX9_Guards_Complete.ESPPlugin88=NX9_Guard_LGTrib_patch.ESPPlugin89=NX9_Guard_LGRedoran_Patch.ESPPlugin90=Starfires NPC Additions ver-1.11.espPlugin91=Starfire Over Telvannis.espPlugin92=MDP Compilation.ESPPlugin93=Hold it - replacer.espPlugin94=Hold it - SF npc addon.espPlugin95=Hold it - TR&CoM addon.ESPPlugin96=Immersive Chargen.espPlugin97=AAG_StatusBars_noHOME.espPlugin98=Illuminated Order v1.0.espPlugin99=Illuminated Order v1.0 - Bloodmoon Compatibility Extras.espPlugin100=KS_Julan_Ashlander Companion_1.3.espPlugin101=ExpansionIntegration_NoStalhrim.espPlugin102=DB_Attack_Mod.espPlugin103=frostmoth_repaired_v0_31.espPlugin104=Keening_Reforged_v2.0_GDR.ESPPlugin105=Homes To Let.espPlugin106=Museum of Artifacts Improved Expanded.espPlugin107=Clean Welcome to the Arena!.espPlugin108=The Neverhalls.espPlugin109=MW_CultOfTheClouds_v10.espPlugin110=The Imperial Legion Badge.espPlugin111=RoHT CoM Addon.espPlugin112=RoHT Taddeus Balancing.espPlugin113=Uvirith's Legacy_Final_2.0.espPlugin114=UL_AshArmor_DivineDomina.espPlugin115=UL_chess_addon.espPlugin116=UL_RoHT_1.4_Compatibility.espPlugin117=UL_MWSE_patch.espPlugin118=UL_TLM_ambiance.espPlugin119=Uvirith's Legacy Book Jackets Add-on.espPlugin120=Uvirith's Legacy CoM Add-on.espPlugin121=Building Up Uvirith's Legacy1.1.ESPPlugin122=Water Level Fix - Full.espPlugin123=DN-GDRv1_NOM.espPlugin124=RoHT NoM Addon.espPlugin125=UL_Primus_MWSE.espPlugin126=NoM_Creatures Loot Standard.espPlugin127=NoM_CoM Compatibility Patch.espPlugin128=Hold it - NOM addon.espPlugin129=GCDWhittleUb.espPlugin130=NoM 3.0.espPlugin131=NoM_IO Compatibility Patch.espPlugin132=Piratelords Trade Enhancements.espPlugin133=TLM - Ambient Light + Fog Update.espPlugin134=TLM - Light Sources (Clearer Lighting).espPlugin135=TLM - Light Sources (Natural Water).espPlugin136=PTE - BC Patch.espPlugin137=IceNioLivRobeReplacerALL.esp


My esper.txt:
D:/installed games/Morrowind/Data Files/Better Clothes_v1.1_nac.espD:/installed games/Morrowind/Data Files/UniqueFinery_NoRobe.espD:/installed games/Morrowind/Data Files/Unique Jewelry and Accessories.espD:/installed games/Morrowind/Data Files/Book Rotate - Tribunal v5.3.espD:/installed games/Morrowind/Data Files/Book Rotate - Bloodmoon v5.3.espD:/installed games/Morrowind/Data Files/Book Jackets - Morrowind - BookRotate.espD:/installed games/Morrowind/Data Files/Book Jackets - Tribunal - BookRotate.espD:/installed games/Morrowind/Data Files/Book Jackets - Bloodmoon - BookRotate.espD:/installed games/Morrowind/Data Files/correctUV Ore Replacer 1.0.espD:/installed games/Morrowind/Data Files/Key Replacer Trib & BM.espD:/installed games/Morrowind/Data Files/Better Skulls.ESPD:/installed games/Morrowind/Data Files/Vurt's Solstheim Trees & Bushes Replacer.ESPD:/installed games/Morrowind/Data Files/Expanded Sounds.espD:/installed games/Morrowind/Data Files/Balance - Magic Effects.espD:/installed games/Morrowind/Data Files/Balance - spells.espD:/installed games/Morrowind/Data Files/Lgnpc_SN.espD:/installed games/Morrowind/Data Files/LGNPC_GnaarMok_v1_10.espD:/installed games/Morrowind/Data Files/LGNPC_HlaOad_v1_32.espD:/installed games/Morrowind/Data Files/Less_Generic_Nerevarine.espD:/installed games/Morrowind/Data Files/Less_Generic_Tribunal.espD:/installed games/Morrowind/Data Files/Less_Generic_Bloodmoon.espD:/installed games/Morrowind/Data Files/LGNPC_Aldruhn_v1_20.espD:/installed games/Morrowind/Data Files/LGNPC_Pelagiad_v1_22.espD:/installed games/Morrowind/Data Files/LGNPC_TelMora_v1_20.espD:/installed games/Morrowind/Data Files/LGNPC_VivecFQ_v2_10.espD:/installed games/Morrowind/Data Files/LGNPC_SecretMasters_v1_30.espD:/installed games/Morrowind/Data Files/LGNPC_IndarysManor_v1_51.espD:/installed games/Morrowind/Data Files/LGNPC_VivecRedoran_v1_50.espD:/installed games/Morrowind/Data Files/LGNPC_PaxRedoran_v1_20.espD:/installed games/Morrowind/Data Files/Taddeus'BalancedArmors.espD:/installed games/Morrowind/Data Files/Taddeus'BalancedWeapons.espD:/installed games/Morrowind/Data Files/NEDE v1.2.espD:/installed games/Morrowind/Data Files/Spect Sorcery pt 1.espD:/installed games/Morrowind/Data Files/Bloated Caves.espD:/installed games/Morrowind/Data Files/Graphic Herbalism.espD:/installed games/Morrowind/Data Files/Graphic Herbalism Extra.espD:/installed games/Morrowind/Data Files/RAMF_Mer.espD:/installed games/Morrowind/Data Files/Creatures.espD:/installed games/Morrowind/Data Files/abotWhereAreAllBirdsGoing.espD:/installed games/Morrowind/Data Files/abotGuars.espD:/installed games/Morrowind/Data Files/NX9_Guards_Complete.ESPD:/installed games/Morrowind/Data Files/NX9_Guard_LGTrib_patch.ESPD:/installed games/Morrowind/Data Files/Starfires NPC Additions ver-1.11.espD:/installed games/Morrowind/Data Files/Hold it - replacer.espD:/installed games/Morrowind/Data Files/Hold it - SF npc addon.espD:/installed games/Morrowind/Data Files/Hold it - TR&CoM addon.ESPD:/installed games/Morrowind/Data Files/Immersive Chargen.espD:/installed games/Morrowind/Data Files/Illuminated Order v1.0.espD:/installed games/Morrowind/Data Files/ExpansionIntegration_NoStalhrim.espD:/installed games/Morrowind/Data Files/Museum of Artifacts Improved Expanded.espD:/installed games/Morrowind/Data Files/Clean Welcome to the Arena!.espD:/installed games/Morrowind/Data Files/The Neverhalls.espD:/installed games/Morrowind/Data Files/Uvirith's Legacy_Final_2.0.espD:/installed games/Morrowind/Data Files/UL_AshArmor_DivineDomina.espD:/installed games/Morrowind/Data Files/UL_MWSE_patch.espD:/installed games/Morrowind/Data Files/Uvirith's Legacy Book Jackets Add-on.espD:/installed games/Morrowind/Data Files/Uvirith's Legacy CoM Add-on.espD:/installed games/Morrowind/Data Files/Building Up Uvirith's Legacy1.1.ESPD:/installed games/Morrowind/Data Files/DN-GDRv1_NOM.espD:/installed games/Morrowind/Data Files/RoHT NoM Addon.espD:/installed games/Morrowind/Data Files/UL_Primus_MWSE.espD:/installed games/Morrowind/Data Files/NoM_Creatures Loot Standard.espD:/installed games/Morrowind/Data Files/Hold it - NOM addon.espD:/installed games/Morrowind/Data Files/NoM 3.0.espD:/installed games/Morrowind/Data Files/Piratelords Trade Enhancements.espD:/installed games/Morrowind/Data Files/TLM - Light Sources (Clearer Lighting).espD:/installed games/Morrowind/Data Files/PTE - BC Patch.espD:/installed games/Morrowind/Data Files/IceNioLivRobeReplacerALL.esp

User avatar
Baylea Isaacs
 
Posts: 3436
Joined: Mon Dec 25, 2006 11:58 am

Post » Tue Mar 15, 2011 1:43 am

BTW, someone commented about ID clash detection, i've added that, and it will also spit out notes on duplicate ID's with dialogs (which were silent before). It's incredible the number of duplicates in the Morrowind.esm file, i'll post them here just for fun. Most of these have 3-5 each. In my list there's 211 duplicates. I didn't think it was anywhere near this many honestly.

confirm, don't, It's up to you.
Thanks for finding, just took a look.

Confirmed (just put the id in TESCS find text), unsettling.

I think involved dialog is still working from a playing point of view, else Sanguine items quests for instance would be probably broken with all these duplications.
Still I can't realize how it may work without problems and especially how they managed to make that mess of duplicated identifiers.
I wonder...
is there another way, other than the double linked topic info list we used to know, to organize/make the engine properly build dialog information?
did they use an old TESCS version so buggy to generate duplicated unique identifiers like cliff racers in wilderness?
did they copy/paste dialog lines using some other external tool?
and, more important, is this making involved dialog unsafe to mod?

Anyway, great find
User avatar
David Chambers
 
Posts: 3333
Joined: Fri May 18, 2007 4:30 am

Post » Mon Mar 14, 2011 8:35 pm

EDIT2:
I used "esper --find-conflicts -a" to get a list of conflicting plugins. Then I put the results in a .txt file and used smartmerger to merge them with this command: "smartmerger.exe --input esper.txt --reference merged.esp"

Result:
The tool stops at Writing:, eats 100% of my CPU and nothing happens.

My load order, exported via ReOrder Mods:



My esper.txt:
D:/installed games/Morrowind/Data Files/Better Clothes_v1.1_nac.espD:/installed games/Morrowind/Data Files/UniqueFinery_NoRobe.espD:/installed games/Morrowind/Data Files/Unique Jewelry and Accessories.esp



You're still using --reference wrong. What it does, is where you put --reference in the command string is where it takes effect, and effectively deletes everything except what changes in the following esm/esp's. This is mostly for cleaning purposes when you don't want to merge the masters with it.
I'll have to give you an example. >SmartMerger Morrowind.esm Tribunal.esm --reference my_plugin_to_clean.esp output.esp

As for it hanging, currently the only loops that might allow hanging, is related to dialog. If the dialog chain is completely whacked, yes it will likely hang. I can add a max number of links it tries to go up, and then tells you what dialogs it failed on before resuming. Hmm probably be a good idea. I'll see if i can find those loop issues...

Thanks for finding, just took a look.

Confirmed (just put the id in TESCS find text), unsettling.

I think involved dialog is still working from a playing point of view, else Sanguine items quests for instance would be probably broken with all these duplications.
Still I can't realize how it may work without problems and especially how they managed to make that mess of duplicated identifiers.
I wonder...
is there another way, other than the double linked topic info list we used to know, to organize/make the engine properly build dialog information?
did they use an old TESCS version so buggy to generate duplicated unique identifiers like cliff racers in wilderness?
did they copy/paste dialog lines using some other external tool?
and, more important, is this making involved dialog unsafe to mod?

Anyway, great find


Definitely unnerving, i found it when i took the whole list of the file's Records as ID's, and then sorted them unique, sorted them not-unique, and had it tell me the differences. Dozens of ID's popped up and that informed me of the problem. If nothing else, my tool solves this and the Disabled/NPC issues. As for how the tool and game deal with it, i have no clue. Maybe like my tool, it forcibly links records together, so if it's in one dialog, it can't jump to another accidentally. But if you went to your journal and it referenced it for some reason, it may crash.

There's a small chance it was just the RNG; More likely they did a bulk copy of certain related quests and modified a few things, and the ID's just happened to stay the same. But some of them have nearly identical text so i'm not sure.

What i ended up doing to resolve it in my tool, i added a topic checksum to the ID of the INFO records of it's topic, so it might be "INFO_123456789012345_123abc". That forces them to be unique (or more likely) and allows you to modify the appropriate texts/dialogs in plugins without clashing non-related ones. At final write, it identifies duplicates and renames the ID's so they don't clash, then re-links them to their previous/next ones.
User avatar
Tai Scott
 
Posts: 3446
Joined: Sat Jan 20, 2007 6:58 pm

Post » Tue Mar 15, 2011 5:45 am

You're still using --reference wrong. What it does, is where you put --reference in the command string is where it takes effect, and effectively deletes everything except what changes in the following esm/esp's.


Damnit

As for it hanging, currently the only loops that might allow hanging, is related to dialog. If the dialog chain is completely whacked, yes it will likely hang. I can add a max number of links it tries to go up, and then tells you what dialogs it failed on before resuming. Hmm probably be a good idea. I'll see if i can find those loop issues...


I used --reference hopefully right:
smartmerger.exe Morrowind.esm Tribunal.esm Bloodmoon.esm --reference --input esper.txt merged.esp

And now it hangs again at:

D:/installed games/Morrowind/Data Files/correctUV Ore Replacer 1.0.esp: ..
Merging: ..
D:/installed games/Morrowind/Data Files/Key Replacer Trib & BM.esp: ....
Merging: ....
D:/installed games/Morrowind/Data Files/Better Skulls.ESP: .
Merging: .
D:/installed games/Morrowind/Data Files/Vurt's Solstheim Trees & Bushes Repl
acer.ESP: .
Merging: .
D:/installed games/Morrowind/Data Files/Expanded Sounds.esp: ...............
..
Merging: .................
D:/installed games/Morrowind/Data Files/Balance - Magic Effects.esp: .
Merging: .
D:/installed games/Morrowind/Data Files/Balance - spells.esp: ...
Merging: ...
D:/installed games/Morrowind/Data Files/Lgnpc_SN.esp: .....
Merging: .....
D:/installed games/Morrowind/Data Files/LGNPC_GnaarMok_v1_10.esp: ....
Merging: ....
D:/installed games/Morrowind/Data Files/LGNPC_HlaOad_v1_32.esp: .....
Merging: .....
D:/installed games/Morrowind/Data Files/Less_Generic_Nerevarine.esp: .......
...................
Merging: ..........................
D:/installed games/Morrowind/Data Files/Less_Generic_Tribunal.esp: .........
...........
Merging: ....................
D:/installed games/Morrowind/Data Files/Less_Generic_Bloodmoon.esp: ........
.....
Merging: .............
D:/installed games/Morrowind/Data Files/LGNPC_Aldruhn_v1_20.esp: ...........
............................
Merging: .....


Like you said: It's a dialogue issue. It would be nice to integrate a "--dont_merge_dialogues" parameter. I don't need it to merge objects anyway.
User avatar
Brooks Hardison
 
Posts: 3410
Joined: Fri Sep 07, 2007 3:14 am

Post » Mon Mar 14, 2011 11:31 pm

Damnit

I used --reference hopefully right:
smartmerger.exe Morrowind.esm Tribunal.esm Bloodmoon.esm --reference --input esper.txt merged.esp



Like you said: It's a dialogue issue. It would be nice to integrate a "--dont_merge_dialogues" parameter. I don't need it to merge objects anyway.


Yes that looks right. Everything to the left of --reference isn't included on write/save (and is used to identify defaults/identical records). When a record changes, it is marked to be written.

I think that would break more than it would help, as you would get a ton of 'following string doesn't match topic' warnings, depending on the topic it may mean nothing. I'll incorporate a new option to detail that part.

BTW, if you need more detail, it can give it to you. Use --debug before your --input, or before the file that stalls. It will get into individual records it's working on, it may tell you enough to fix it yourself.
Also along the same lines, when you identify the topic in question, use the query mode to learn more. IE >SmartMerger file.esp "b_topic name". It will give you full information on the topic (everything) and something might just become obvious that wasn't before. Little enchanted editing might solve it :)

I'm noticing as i go on my play-testing, half the current issues i see are not my program's doing. Sometimes it's the way it's written in the plugin. Example: In 'Clothiers of Vanderfell' (v1.2?), in Palegaid a whole building is missing. MISSING!!. I confirmed in the esp file, it was a deleted object, but the game/editor didn't honor it. Odd...
User avatar
Keeley Stevens
 
Posts: 3398
Joined: Wed Sep 06, 2006 6:04 pm

Post » Mon Mar 14, 2011 1:52 pm

Well here's a bug warning. For some reason, certain dialogs/quests that should be fine, suddenly aren't working right. From the looks of it, it has to do with the order of the dialog, but i don't see why. Here's some things constantly come forward, so if anyone has suggestions, please post. (Just have the program re-sort it and it will become obvious)

1) Chronicles of Nchuleft - You get the topic, but suddenly you've already given it to her already. Other quests also break, being the Detect creatures Potion, Egg of time, Ect.
2) Anarenen's Devil Tanto (Anareren's?) - Same thing.
3) In ald-ruhn (and other random places) - you can't get any services what-so-ever, since you've been marked and have an oath to finish.
4) The Thieves guild also say i turned in their best spy, and won't offer services.


EDIT: I think i found it... so nevermind
User avatar
daniel royle
 
Posts: 3439
Joined: Thu May 17, 2007 8:44 am

Post » Mon Mar 14, 2011 9:06 pm

Is there any chance you could maybe piggy back off of mlox to load what mods should not be merged?
User avatar
Alex Blacke
 
Posts: 3460
Joined: Sun Feb 18, 2007 10:46 pm

Post » Mon Mar 14, 2011 11:53 pm

D:/installed games/Morrowind/Data Files/LGNPC_Aldruhn_v1_20.esp


http://planetelderscrolls.gamespy.com/View.php?view=Mods.Detail&id=535

Where is this specific version of the mod? I downloaded the current one, and it merged with no issues for me (using v1.3).
User avatar
Daddy Cool!
 
Posts: 3381
Joined: Tue Aug 21, 2007 5:34 pm

Post » Tue Mar 15, 2011 1:51 am

Is there any chance you could maybe piggy back off of mlox to load what mods should not be merged?


Hmmmm. Maybe... I assume you mean if you give it plugins, and it automatically loads the masters as references? Sounds like i'd need to make two passes, once to get the masters/dependent files, and then the second to merge...
User avatar
Amiee Kent
 
Posts: 3447
Joined: Thu Jun 15, 2006 2:25 pm

Post » Mon Mar 14, 2011 10:19 pm

Hmmmm. Maybe... I assume you mean if you give it plugins, and it automatically loads the masters as references? Sounds like i'd need to make two passes, once to get the masters/dependent files, and then the second to merge...


Well i'm assuming that eventually you'll just read the ini for the current mod list instead of having to create a text file or whatever you have to do right now. It would be convenient to be able to run it without having to go through and uncheck certain mods then merge and recheck them and to leveled lists. It gets annoying.
User avatar
Lauren Dale
 
Posts: 3491
Joined: Tue Jul 04, 2006 8:57 am

Post » Mon Mar 14, 2011 4:56 pm

http://planetelderscrolls.gamespy.com/View.php?view=Mods.Detail&id=535

Where is this specific version of the mod? I downloaded the current one, and it merged with no issues for me (using v1.3).


http://www.lgnpc.org/downloads
User avatar
cassy
 
Posts: 3368
Joined: Mon Mar 05, 2007 12:57 am

Post » Mon Mar 14, 2011 9:40 pm

I don't know if this can be of use/debugging help,
I tried
SmartMerger.exe --no_disabled_fix Morrowind.esm smartmerged.esm
looked for 100781054114564566 in Morrowind.esm (5) and smartmerged.esm (2)
,looked for 16212155803018311111 in Morrowind.esm (6) and smartmerged.esm (2)

It seems in some cases duplicated dialog id are reduced in smartmerged.esm (2 instead of several), but I was expecting always 1, is this the expected output?
User avatar
Rhiannon Jones
 
Posts: 3423
Joined: Thu Sep 21, 2006 3:18 pm

Post » Mon Mar 14, 2011 11:30 pm

I haven't looked at this in great detail (I have some mod uploading to Morrowind Mod History and then some mlox rules to write before I can get to this) but one thing I just don't get...

Why do I need to use this?

OK, I can see why I need to use TESTool's Merged Objects plugin (plugins later in my load order overwrite changes to objects altered by plugins earlier in my load order). That's fine I can wrap my head round that.

If I need to merge some plugins (to reduce the number of active ones I use) I can check for conflicts with TESPCD, fix them and then merge the de-conflicted (is that a word?) plugins using Combine Loaded Plugins in the Construction Set. OK, cool I get that.

With this though, I'm not that clear on why I should use this (the PES entry leads me to believe that something like Merged Objects is created but posts here indicate that's not the case). I'm also completely unclear on how I should use this.

Now, that's not because I run screaming at the thought of having to use the commandline: that's cool, not a problem. It's just the switches I'm supposed to use just aren't that clear to me, the readme and PES writeup doesn't really explain either the benefits of the program or the usage of it to me.

Meh, I dunno. Any chance of a "what's the point of this" explanation? Or a more task-based explanation? For the latter something like (i) all people with a large number of mods should run (ii) those who wish to do X should run (iii) use "--full_scan" when Z, (iv) etc etc.
User avatar
dav
 
Posts: 3338
Joined: Mon Jul 30, 2007 3:46 pm

Post » Mon Mar 14, 2011 5:45 pm

I don't know if this can be of use/debugging help,
I tried
SmartMerger.exe --no_disabled_fix Morrowind.esm smartmerged.esm
looked for 100781054114564566 in Morrowind.esm (5) and smartmerged.esm (2)
,looked for 16212155803018311111 in Morrowind.esm (6) and smartmerged.esm (2)

It seems in some cases duplicated dialog id are reduced in smartmerged.esm (2 instead of several), but I was expecting always 1, is this the expected output?


There's actually a bug in the query code, which doesn't find the INFO's correctly. That'll be resolved in V1.3. Best if you just have it write every record header entry and use another tool (notepad, grep, sed, vi, Ect) to find it.

The --no_disabled_fix shouldn't make a difference on INFO duplication, that's another feature entirely.

EDIT: The program shouldn't create any new duplicates when it's done. I'll double-check this.
EDIT: Interesting, and confirmed. Thanks for bringing this up, I'll check it out and get this resolved.
User avatar
Stace
 
Posts: 3455
Joined: Sun Jun 18, 2006 2:52 pm

Post » Tue Mar 15, 2011 12:44 am

I haven't looked at this in great detail (I have some mod uploading to Morrowind Mod History and then some mlox rules to write before I can get to this) but one thing I just don't get...

Why do I need to use this?

OK, I can see why I need to use TESTool's Merged Objects plugin (plugins later in my load order overwrite changes to objects altered by plugins earlier in my load order). That's fine I can wrap my head round that.

If I need to merge some plugins (to reduce the number of active ones I use) I can check for conflicts with TESPCD, fix them and then merge the de-conflicted (is that a word?) plugins using Combine Loaded Plugins in the Construction Set. OK, cool I get that.

With this though, I'm not that clear on why I should use this (the PES entry leads me to believe that something like Merged Objects is created but posts here indicate that's not the case). I'm also completely unclear on how I should use this.

Now, that's not because I run screaming at the thought of having to use the commandline: that's cool, not a problem. It's just the switches I'm supposed to use just aren't that clear to me, the readme and PES writeup doesn't really explain either the benefits of the program or the usage of it to me.

Meh, I dunno. Any chance of a "what's the point of this" explanation? Or a more task-based explanation? For the latter something like (i) all people with a large number of mods should run (ii) those who wish to do X should run (iii) use "--full_scan" when Z, (iv) etc etc.



Then perhaps i should give an example, one i've seen and done myself. I have multiple mods, all that affect the same things in different ways. Here's a few that modify the bonelord.

EBQ_Artifact.esp - EDIT: Or was it 'Unique Items - Monster Specific.esp'?
Bones11-tb-bm.esp
Clean Bonelord Robe.ESP

So i ask you, What happens when you put them all together without merging? I guarantee you you will only get the last changes (in this list, you'll get the robe, but no bones, and no chance of artifacts). If any other mods also modify the bonelord, that entry will REPLACE the current entry, and not carry changes over.

Same thing happens when two people modify the same character or weapon. One mod could be modifying the weights and prices for balance, and another mods how many enchantment points, and another damages or NIF texture updates. If you DON'T merge correctly, it doesn't work. Having to move all the updated information manually is a pain in the butt, especially when you have 100 plugins your working with (like me). I've tried it with the conflict detector, and manually copied wanted changes over. Took me over 8 hours, and i never finished it.

Also, dialog merging between plugins/masters is difficult to do correctly with external tools. I tried merging the three main masters using another tool, not only did it take about an hour, but it was broken.
User avatar
Trish
 
Posts: 3332
Joined: Fri Feb 23, 2007 9:00 am

Post » Mon Mar 14, 2011 11:05 pm

Well i'm assuming that eventually you'll just read the ini for the current mod list instead of having to create a text file or whatever you have to do right now. It would be convenient to be able to run it without having to go through and uncheck certain mods then merge and recheck them and to leveled lists. It gets annoying.


Ahh, i see.. Yes i think i can add that easy enough. And check the Data Files/current/previous directory assuming you have it in one of those three. Sure, i'll add that.

http://www.lgnpc.org/downloads


Downloaded it, and merged it no problem. It could be some of the previous merges might be to blame (or it got fixed already), i'll try and grab all the ones in your list so far, and see if it breaks then. Give me a bit.

EDIT: Did all the Less Generics, and i got only one warning. (Less Generic Tribunal) INFO 2606929671165928504. As part of the merging it tries shifting the dialog to insert/append it without breaking anything, however if it can't reference back/forward to what it is suppose to, this could break the dialog in some cases. Otherwise i don't see it right now. So for now just be patient, i'll try and have the next version done in the next few days.
User avatar
Sophh
 
Posts: 3381
Joined: Tue Aug 08, 2006 11:58 pm

Post » Mon Mar 14, 2011 4:27 pm

Sounds easy enough, i got the framework of this all already built, adding 1 function to fix this won't be hard. However rather than a cap, i'd recommend a formula, that way you don't suddenly have every enchanted sword in the game as 200 gold when it needs to be higher. But sometimes you just want to cap one thing...

Just an example, i haven't tested this, but for armor it could work too, once the community decides an appropriate formula to use. If used with an appropriate economy plan, it would balance a lot. Might remove the need for those balancing mods.

dagger minweight = .5
dagger maxweight = 5
dagger normalweight = 1.5
per maxdamage = 5%
per mindamage = 2%
enchantment = 500%
base gold = 15
max gold = 2000
price = weight / minweight * (1 + (chopmin + thrustmin + slashmin) * mindamage) + ((chopmax + thrustmax + slashmax) * maxdamage) * enchantment * basegold

With the formula, heavier daggers become cheaper, and lighter ones more expensive, and the more they do, the more powerful they are. Enchantment? Add X5 (or something) to it's price. I wonder if the enchantment should be considered, and if so actually read it's contents and make a decision on that. That's getting complex, and would require deciding what's the ratio for each item. IE Strength is higher than feather, so feather is 1/8th the value of 1 strength. (i say 8th since you don't get the damage or any other bonuses, otherwise it's 1/5 or 1/6)



Was any work done on this? I am hoping it got added and that it would work from a text file so changes would be easy to make. As an additional thought to this, perhaps you could make it so this could be run alone without the need to merge at least 2 diferent mods, then you could change values easily if you found you didnt like a some of them.
User avatar
Claire Lynham
 
Posts: 3432
Joined: Mon Feb 12, 2007 9:42 am

Post » Mon Mar 14, 2011 4:50 pm

Was any work done on this? I am hoping it got added and that it would work from a text file so changes would be easy to make. As an additional thought to this, perhaps you could make it so this could be run alone without the need to merge at least 2 diferent mods, then you could change values easily if you found you didnt like a some of them.


The only reason it needs 2 or more mods plus an output, is so it gets out of it's 'query' mode. You can fake it, just adding a flag to make it 3 input parameters does the job. Sides, when add the flag i am going to add, it will qualify anyways so it's not an issue.

I am currently working on it, making it a min/max cap. If we wanted to use the formula, i need the know so i can implement it. I wonder how you might add 'exclusions' like bound weapons. Be easier if i could add Regex, however to make it as compatible and lightweight as possible i'm not using that. I'll try and have it in the next version, i'm working on the ini file option right now...
User avatar
Emerald Dreams
 
Posts: 3376
Joined: Sun Jan 07, 2007 2:52 pm

Post » Tue Mar 15, 2011 3:51 am

I think one of the huge sellers for this tool will be the dialogue merging. The older tools just break the dialogue and this one already goes much farther in merging them successfully. Of course, the many other functions are great too. I never cared for Testool and its clumsy heavy handed approach while your's allows more precision and functionality. I actually liked TESPCD alot, it was not completed and had it's own inaccuracies.

Does your tool merger level list too? Don't remember seeing it but seems like it'd have to to be a complete merging tool.

Keep up the good work, usually we have to wait a year plus just to get to 1.0 and your already planning 1.3 in just a months time.
User avatar
Lakyn Ellery
 
Posts: 3447
Joined: Sat Jan 27, 2007 1:02 pm

PreviousNext

Return to III - Morrowind