[RELz] tes3cmd, a small tool for modifying TES3 plugins

Post » Tue Aug 24, 2010 7:31 am

I tried to clean "TR_Data.esm" from Tamriel Rebuilt Map 2 and tes3cmd made an error:

Thanks, I've checked a fix into svn and I'll see if I can make a release later today ...
User avatar
MISS KEEP UR
 
Posts: 3384
Joined: Sat Aug 26, 2006 6:26 am

Post » Tue Aug 24, 2010 6:19 am

Here's the fix: tes3cmd-0.37m-2010.08.04.7z
http://code.google.com/p/mlox/downloads/list

Got more stuff to add soon ...
User avatar
Veronica Martinez
 
Posts: 3498
Joined: Tue Jun 20, 2006 9:43 am

Post » Mon Aug 23, 2010 9:31 pm

You forgot to put Image::Magick into the exe. I get an error since Image::Magick is not installed.
User avatar
Daniel Brown
 
Posts: 3463
Joined: Fri May 04, 2007 11:21 am

Post » Tue Aug 24, 2010 1:26 am

You forgot to put Image::Magick into the exe. I get an error since Image::Magick is not installed.

Oops. The utility I use for packaging the standalone executable was apparently unable to find the Image::Magick dependencies. I've just removed those parts for now and re-upped 0.37m. Sorry for the trouble.
User avatar
Allison C
 
Posts: 3369
Joined: Mon Dec 18, 2006 11:02 am

Post » Mon Aug 23, 2010 8:43 pm

Thanks :)
I will try it out now.

EDIT:
The TR_Map1.esm error is gone. Good job!
User avatar
KU Fint
 
Posts: 3402
Joined: Mon Dec 04, 2006 4:00 pm

Post » Tue Aug 24, 2010 3:43 am

I've been using tes3cmd (various versions) for cleaning various mods in the past weeks: it seems to run very well. While v0.37l showed an error on cleaning abotGuars.esp, v0.37m doesn't show that error anymore. tes3cmd's cleaning function is a real boon for modders and players alike. Thank you for making it!
User avatar
rae.x
 
Posts: 3326
Joined: Wed Jun 14, 2006 2:13 pm

Post » Tue Aug 24, 2010 1:02 am

I've been using tes3cmd (various versions) for cleaning various mods in the past weeks: it seems to run very well. While v0.37l showed an error on cleaning abotGuars.esp, v0.37m doesn't show that error anymore. tes3cmd's cleaning function is a real boon for modders and players alike. Thank you for making it!

Thanks for the feedback. I'm (slowly) working on 0.38. I'm very interested in hearing if anyone has any problems with cleaning, or any of the multipatch features (like merged leveled lists).
User avatar
Danielle Brown
 
Posts: 3380
Joined: Wed Sep 27, 2006 6:03 am

Post » Mon Aug 23, 2010 4:20 pm

I've found something that could be improved: tes3cmd doesn't seem to update its master file cache when necessary.
Explanation: I wanted to see how tes3cmd copes with an updated .esm file. While that is unnecessary for Morrowind.esm, Tribunal.esm, or Bloodmoon.esm (Bethesda will most likely not update them), it is very necessary for user made .esm files like MCA, CoM, Havish, Beyond Ysgramor, White Wolf of LoKKen Mountain, or RoHT. In this case, I had tes3cmd clean RoHT's CoM-Addon. For the first test, I used RoHT v1.3. Here's tes3cmd's output:

E:\Morrowind\Data Files>tes3cmd clean "RoHT CoM Addon.esp"CLEANING: "RoHT CoM Addon.esp" ...Loaded cached Master: /morrowind.esmLoaded cached Master: /tribunal.esmLoaded cached Master: /bloodmoon.esmLoading Master: mw_children_1_0.esmLoading Master: rise of house telvanni.esmRoHT CoM Addon.esp was not modified

Well, I knew that the mod was clean. What I wanted to see was what would happen with an updated master file, so I exchanged RoHT v1.3 with the latest WIP version (still the same file name). Here's tes3cmd's output:

E:\Morrowind\Data Files>tes3cmd clean "RoHT CoM Addon.esp"CLEANING: "RoHT CoM Addon.esp" ...Loaded cached Master: /morrowind.esmLoaded cached Master: /tribunal.esmLoaded cached Master: /bloodmoon.esmLoaded cached Master: /mw_children_1_0.esmCache Invalidated for: rise of house telvanni.esm (curr_size == 2223286, prev_size == 2193647)RoHT CoM Addon.esp was not modified


It looks to me as if tes3cmd noticed that "Rise of House Telvanni.esm" had been updated, but it didn't seem to update its cache. I think it might be a good idea to actually update the cached information in that case.
User avatar
Ebou Suso
 
Posts: 3604
Joined: Thu May 03, 2007 5:28 am

Post » Tue Aug 24, 2010 6:14 am

I've found something that could be improved: tes3cmd doesn't seem to update its master file cache when necessary.
[...]
It looks to me as if tes3cmd noticed that "Rise of House Telvanni.esm" had been updated, but it didn't seem to update its cache. I think it might be a good idea to actually update the cached information in that case.

Thanks, that surely was a bug, as the code was supposed to remake the cache in that case, but it didn't. Fixed in: tes3cmd-0.37n-2010.08.18.7z
http://code.google.com/p/mlox/downloads/list
User avatar
Karen anwyn Green
 
Posts: 3448
Joined: Thu Jun 15, 2006 4:26 pm

Post » Mon Aug 23, 2010 8:27 pm

Works as intended now. :thumbsup:
User avatar
Leticia Hernandez
 
Posts: 3426
Joined: Tue Oct 23, 2007 9:46 am

Post » Tue Aug 24, 2010 8:14 am

I'm experiencing something weird with this new version. Today, I have cleaned various mods with v0.37n, and it ran through as expected. It cleaned the mods, and everything looked alright. But when I started Morrowind with those cleaned plugins active, it complained that "One or more plugins could not find the correct versions of the master files they depend on. Errors may occur during load or game play. Check the "Warnings.txt" file for more information." Well, we all know that message. The strange thing however is that it wasn't displayed before the cleaning operation. I started Wrye Mash, and to my surprise, the recently cleaned mods were shown as yellow (non-matching masters). What is even stranger is that I checked with Wrye Mash *before* starting Morrowind, and at that time, everything had still been green. :blink:
I have no explanation for this behaviour, I only know that it happens. Maybe it has something to do with the cached master files. :shrug:
User avatar
RObert loVes MOmmy
 
Posts: 3432
Joined: Fri Dec 08, 2006 10:12 am

Post » Mon Aug 23, 2010 7:14 pm

I'm experiencing something weird with this new version. Today, I have cleaned various mods with v0.37n, and it ran through as expected. It cleaned the mods, and everything looked alright. But when I started Morrowind with those cleaned plugins active, it complained that "One or more plugins could not find the correct versions of the master files they depend on. Errors may occur during load or game play. Check the "Warnings.txt" file for more information." Well, we all know that message. The strange thing however is that it wasn't displayed before the cleaning operation. I started Wrye Mash, and to my surprise, the recently cleaned mods were shown as yellow (non-matching masters). What is even stranger is that I checked with Wrye Mash *before* starting Morrowind, and at that time, everything had still been green. :blink:
I have no explanation for this behaviour, I only know that it happens. Maybe it has something to do with the cached master files. :shrug:

If you clean a .esm, it's size may change and dependent .esp plugins will give you that message. But you could do a "tes3cmd header --update-masters *.esm *.esp" after the clean, and that should reset the masters.

"tes3cmd fixit", automatically does a "headers --synchronize" (which includes the --update-masters) at the end after cleaning and patching, but a cleaning by itself doesn't.

Does that explain what you are seeing, or is there more to it?
User avatar
Zach Hunter
 
Posts: 3444
Joined: Wed Aug 08, 2007 3:26 pm

Post » Tue Aug 24, 2010 2:47 am

I fear there's more to it as I haven't touched any .esm files. According to Mash, Morrowind.esm, Tribunal.esm, and Bloodmoon.esm were out of sync for the cleaned mod. Trouble is that I haven't touched those three .esm files. Ever. And the problem only exists with the newly cleaned files. All other mods are doing just fine. I'll try to reset the masters in a couple of minutes, but I don't get my hopes high.

Edit: I stand corrected. I just deleted tes3cmd's cache folder and had v0.37n create its cache from scratch. This time, the cleaned mod didn't cause any problems. I'm sorry to have caused a stir.

Edit 2: This is something tricky. I deleted tes3cmd's entire cache folder and had it clean a small mod (gothic lolita dresses). That mod only contained a dirty AMBI/WHGT entry, and it came through the cleaning process unharmed.
Then I had tes3cmd clean Silaria's "Ultimate clothing mod - skirts". That mod was in dire need of some cleaning: tes3cmd cleaned out about one third of it. That cleaned file, however, shows a mismatched Morrowind.esm (its only master). At least it's doing so directly after cleaning.
User avatar
Gemma Archer
 
Posts: 3492
Joined: Sun Jul 16, 2006 12:02 am

Post » Tue Aug 24, 2010 1:10 am

Edit: I stand corrected. I just deleted tes3cmd's cache folder and had v0.37n create its cache from scratch. This time, the cleaned mod didn't cause any problems. I'm sorry to have caused a stir.

It's probably a good idea to remove the old cache files when using a new version of tes3cmd. There's an internal mechanism for versioning cache, but I haven't been using it on minor releases, I've been saving it for major releases. So, you can blame me if you want.
User avatar
Emmanuel Morales
 
Posts: 3433
Joined: Sat Oct 06, 2007 2:03 pm

Post » Tue Aug 24, 2010 2:23 am

Erm, sorry, I posted that too early. Please have a look at my edit #2. I'm uploading both files (original and cleaned) for you to look at.

Edit: Here's the file: http://www.mediafire.com/?rcajlhpzrj852m5
User avatar
Farrah Lee
 
Posts: 3488
Joined: Fri Aug 17, 2007 10:32 pm

Post » Mon Aug 23, 2010 5:26 pm

Erm, sorry, I posted that too early. Please have a look at my edit #2. I'm uploading both files (original and cleaned) for you to look at.

Edit: Here's the file: http://www.mediafire.com/?rcajlhpzrj852m5

Okay, I can see that it's definitely my goofup, as I'm setting the wrong length size in the header for the master. I'll get to work on that ASAP.

Edit: just out of curiosity, what is your OS? 32/64 bit?
User avatar
Nick Swan
 
Posts: 3511
Joined: Sat Dec 01, 2007 1:34 pm

Post » Tue Aug 24, 2010 2:57 am

I'm using Windows XP Professional, SP2, 32 Bit.

Edit: Typo
User avatar
Connor Wing
 
Posts: 3465
Joined: Wed Jun 20, 2007 1:22 am

Post » Tue Aug 24, 2010 1:13 am

I've uploaded: tes3cmd-0.37o-2010.08.20.7z to:
http://code.google.com/p/mlox/downloads/list

And this should fix the problem with encoding the wrong length for masters in the plugin header.
Let me know if you see any problems. Thanks!
User avatar
Nick Pryce
 
Posts: 3386
Joined: Sat Jul 14, 2007 8:36 pm

Post » Tue Aug 24, 2010 12:14 am

john, I am very pleased to see continued development for this! I haven't paid attention to much else all the while I was working on Census and Excise, so it was refreshing to come back here and see this. :goodjob: The old old old version that only had a few options was such an incredibly valuable tool for me, I can't even fathom how great it's going to be now!

I intend to use this to try and automate much of the sorting of mods at MMH. I'll let you know how that goes. :hehe:

Thank you very much for your work on these tools. Your talent and time are certainly appreciated to a degree beyond what I can express. :foodndrink:
User avatar
Gemma Woods Illustration
 
Posts: 3356
Joined: Sun Jun 18, 2006 8:48 pm

Post » Tue Aug 24, 2010 3:39 am

I've try your last version 0.37o and I've an error (windows 7 64bits) :

tes3cmd fixit

Skipping Morrowind.esm: Bethesda Master.
Skipping Tribunal.esm: Bethesda Master.
Skipping Bloodmoon.esm: Bethesda Master.
CLEANING: "Morrowind Patch v1.6.4.esm" ...
FATAL ERROR (): Not a plain file
" at script/tes3cmd line 4739

And wih debug :
[DEBUG (): cmd_clean(Morrowind Patch v1.6.4.esm)]

CLEANING: "Morrowind Patch v1.6.4.esm" ...
FATAL ERROR (): Not a plain file
" at script/tes3cmd line 128
Util::abort('Not a plain file') called at script/tes3cmd line 4739
main::make_temp('Morrowind Patch v1.6.4.esm') called at script/tes3cmd line 5309
main::process_plugin_for_update('Morrowind Patch v1.6.4.esm', 'CODE(0x3c85be4)') called at script/tes3cmd line 6339
main::cmd_clean('Morrowind Patch v1.6.4.esm') called at script/tes3cmd line 5424
main::cmd_fixit() called at script/tes3cmd line 6638
main::main() called at script/tes3cmd line 6656
require main called at C:/strawberry/perl/vendor/lib/PAR.pm line 636
PAR::_run_member('Archive::Zip::ZipFileMember=HASH(0x409b704)', 1) called at script/main.pl line 26
require main called at C:/strawberry/perl/vendor/lib/PAR.pm line 636
PAR::_run_member('Archive::Zip::ZipFileMember=HASH(0x409b40c)') called at C:/strawberry/perl/vendor/lib/PAR.pm line 428
PAR::import('PAR') called at -e line 954
eval {...} called at -e line 209
__par_pl::BEGIN() called at script/tes3cmd line 0
eval {...} called at script/tes3cmd line 0


I've used multipatch with success and game seems OK : now it replace mashed in my game.
Good work...
User avatar
Monika Fiolek
 
Posts: 3472
Joined: Tue Jun 20, 2006 6:57 pm

Post » Tue Aug 24, 2010 6:46 am

I've try your last version 0.37o and I've an error (windows 7 64bits) :

That error indicates that tes3cmd thinks that "Morrowind Patch v1.6.4.esm" is one of your active plugins, but it can't find it in "Data Files". I don't have a Vista or Win7 system to test on, but maybe it's related to the virtualization of "Program Files" that they introduced in recent Windozes. Do you have Morrowind installed under "Program Files", if so, have you tried any of the usual fixes for the problems that creates for Morrowind?
User avatar
Neil
 
Posts: 3357
Joined: Sat Jul 14, 2007 5:08 am

Post » Mon Aug 23, 2010 8:34 pm

Hmn... This tool is very useful. Thanks for your contribution to the community dear author.
User avatar
Sunnii Bebiieh
 
Posts: 3454
Joined: Wed Apr 11, 2007 7:57 pm

Post » Tue Aug 24, 2010 1:43 am

Now it works : I've put tes3cmd in Data files directory and not in Morrowind directory.
I didn't think of this because tes3cmd multipatch worked but not tes3cmd fixit.

And I always prefer put tools in another directory than in data files.
Maybe this is a little change you can do for next version.
User avatar
rolanda h
 
Posts: 3314
Joined: Tue Mar 27, 2007 9:09 pm

Post » Tue Aug 24, 2010 9:09 am

Now it works : I've put tes3cmd in Data files directory and not in Morrowind directory.
I didn't think of this because tes3cmd multipatch worked but not tes3cmd fixit.

And I always prefer put tools in another directory than in data files.
Maybe this is a little change you can do for next version.

tes3cmd is written so it can be installed anywhere on your hard drive. However, it may make a difference where you run it. It's best to run it with the current directory being "Data Files".

One way to install it anywhere is to add the directory where it is installed to your %PATH% environment variable.
User avatar
M!KkI
 
Posts: 3401
Joined: Sun Jul 16, 2006 7:50 am

Post » Mon Aug 23, 2010 9:33 pm

Having now used this tool to clean my [WIP] plugin, I just wanted to say thanks for the great utility. The common functions are well explained in the documentation, and I'm given a very clear log of all the records modified by the cleaning. I can't ask for more than that.

Well done!
User avatar
Joie Perez
 
Posts: 3410
Joined: Fri Sep 15, 2006 3:25 pm

PreviousNext

Return to III - Morrowind