[WIPz] Wrye BashExp - Skyrim Patcher Update - Thread #1

Post » Tue Sep 09, 2014 3:38 pm

Wrye Bash 306-Experimental Fallout 3/Fallout NewVegas/Skyrim patcher Update

This thread is to discuss and troubleshoot implementation of Fallout 3, Fallout New Vegas, and Skyrim patcher updates. New releases will be on my http://1drv.ms/1o8jvih or a Mediafire Link. This version also marks the beginning of implementing Fallout 3 and Fallout NV support thanks to WrinklyNinja's previous efforts and starting the process for version 304.3. Valda updated Wrye Flash for Fallout 3 (30.x) and Fallout New Vegas (16.0) based off of a much older version of Wrye Bash (292 I think) and he will be helping me on the weekends when he has time.

ATTN for Skyrim version: This version's Skyrim patcher is extremely buggy. Unless you know how to use TES5Edit and understand a great deal about plugins you should not use this version. Without manually editing the Bash Patch it could crash your game or things simply won't happen in game like they should. If you are not an advanced user you should not be using this version. Working Standalone EXE is available.

Fallout 3 and Fallout New Vegas: If you are using the Fallout 3 or Fallout New Vegas version the bash should not have many issues since the code already existed to handle all the routines in the previous versions. Please report any issues so they can be corrected.

Wrye Bash 306.0.01-Experimental - Python Source.7z - http://www.mediafire.com/download/ige8laru3yzviqc/Wrye_Bash_306.0.01-Experimental_-_Python_Source.7z, http://1drv.ms/1o8jvih
Wrye Bash 306.0.01-Experimental - Standalone Executable.7z - http://www.mediafire.com/download/13q9wj9bxak7t8i/Wrye_Bash_306.0.01-Experimental_-_Standalone_Executable.7z, http://1drv.ms/1o8jvih

What kind of testing am I looking for?

I need people with a great deal of knowledge with Bash Tags and plugins to report errors with the Bash Patch for it's respective patchers. For example if a sound from a mod should have ended up in the bash patch but didn't, I need to know. The only bugs I am not interested in are Unicode related bugs. So if you go to install a mod and you get a Unicode error post that in the Wrye Bash thread.

Error reporting:

Post the FormID of the record, what type of record it is (MGEF, INGR), the Subrecord involved, and the name of the field in TES5Edit. For example "SNDD - Sounds, Sound".

If I can't find a similar type of setup for the record in the CK I may ask for a link to the mod.

Record structures:

Documentation for Fallout 3 and Fallout: New Vegas plugin file formats can be found on https://github.com/WrinklyNinja/fopdoc courtesy of WrinklyNinja
  • https://github.com/WrinklyNinja/fopdoc/blob/master/Fallout3/Records.md
  • https://github.com/WrinklyNinja/fopdoc/blob/master/FalloutNV/Records.md
Documentation for Oblivion and Skyrim file formats can be found on http://www.uesp.net/wiki/Main_Page Wiki
  • http://www.uesp.net/wiki/Tes5Mod:Mod_File_Format
  • http://www.uesp.net/wiki/Tes4Mod:Mod_File_Format
  • Additional record formats can be found on my (very, very, poor) port of https://github.com/TES5Edit/TES5Edit-GoogleCode/blob/master/TES5Edit/trunk/Delphi%20XE/wbDefinitionsTES5.pas. Extremely rough draft of what the functions mean https://github.com/TES5Edit/TES5Edit-GoogleCode/wiki/xEdit-Arguments,-Functions,-and-Procedures.
Bash Tags

If you have forgotten the http://sharlikran.github.io/wrye-bash.github.io/Wrye%20Bash%20Advanced%20Readme.html#patch-tags most of them are in this list. As I update Wrye Bash I will update that section to reflect changes I have made.

Supported Bash tags:

Skyrim: Relev, Delev, Filter, NoMerge, Deactivate, Names, Stats, Sound,
Fallout 3: Relev, Delev, Filter, NoMerge, Deactivate, Stats, Names, Deflst, Sound,
Fallout New Vegas: Relev, Delev, Filter, NoMerge, Deactivate, Names, Stats, Deflst, Sound,

Patcher Progress:

A link detailing which records are not functioning in Wrye Bash and an update of what is and isn't finished at this time is available on the Wrye Bash https://github.com/wrye-bash/wrye-bash.

https://github.com/wrye-bash/wrye-bash/issues/151
https://github.com/wrye-bash/wrye-bash/issues/150

I have a very limited knowledge of Python. I will need help if it involves more complex routines. Updating the records is pretty straight forward and sometimes the patchers make sense including reading the specific fields in a record like MGEF or whatever. So I will be able to update some things on my own. I will be posting in the Known Issues section things that have been reported that I cannot update or have not been updated.

Known Issues:

Skyrim:
  • Keywords are not copied into the Bash Patch.
  • VMAD records from loosing plugins are not copied into the Bash Patch. TES5Edit 3.0.32 may not be able to copy the VMAD record properly without loosing the information. So be careful when dragging this record to the Bash Patch. Watch for changes. Report any issues with VMAD to in the http://www.gamesas.com/topic/1504350-relz-tes5edit.
  • Not copying Localized strings to Bash Patch.
  • BOOK - DATA has odd value.
Fallout 3:

None at this time.

Fallout New Vegas:

None at this time.

Version numbers will start with 306 but since this is a beta and not an official release I will make incremental updates, 306.0.01, and so on.

Volunteers Needed:

Currently I am looking for volunteers to contribute Wrye Bash. The main focus is updating Wrye Bash's Skyrim Patcher. However, this version also has limited Fallout 3 and Fallout NV support. Wrye Bash is written in Python so I am looking for people who are fairly knowledgeable with that programming language. You need to have Skyrim installed on your system so that you can test your updates to the code. If you wish to help with Fallout support then you should own a copy of Fallout 3 or New Vegas.

If you wish to help please PM me with your GitHub account name and which game mode you are willing to help with. P.S. please be willing to at least proofread my attempts to write Python code for Skyrim even if you prefer not to help with that and don't own a copy of Skyrim.
User avatar
Luna Lovegood
 
Posts: 3325
Joined: Thu Sep 14, 2006 6:45 pm

Post » Tue Sep 09, 2014 4:57 pm

Seems to mostly do ok, only a couple of small problems.

First - from the names patcher I'm assuming. It's apparently trying to list the FULL subrecord here as a localized string, but that won't really be feasible for an esp that won't have its own string files.

http://s29.postimg.org/3r5egorgl/Bad_Symbol.jpg

The second is weirdness with BOOK records. The DATA subrecord is getting a bad value when the skill should be "None". Other books that have different values appear to have worked fine.

http://s17.postimg.org/v5z0euhct/Unknown_Skill.jpg

Other than these, it successfully merged 3 whole plugins and offered to deactivate them as expected.

User avatar
Penny Flame
 
Posts: 3336
Joined: Sat Aug 12, 2006 1:53 am

Post » Tue Sep 09, 2014 9:05 am

Since the Names patcher was already part of the patcher, I'm curious. Most, if not all, FULL records use localization. Do any other records have that issue or just NPC?

User avatar
emma sweeney
 
Posts: 3396
Joined: Fri Sep 22, 2006 7:02 pm

Post » Tue Sep 09, 2014 5:16 am

Just those, at least in the ~100 mod load order I used to test it. Apparently I don't have a lot of mods the Names tag will help with :P

User avatar
Annick Charron
 
Posts: 3367
Joined: Fri Dec 29, 2006 3:03 pm

Post » Tue Sep 09, 2014 5:32 pm

That's ok I'll see if Valda can get it to copy the actual text to the bash patch. I'm surprised it doesn't already do that though.

User avatar
Darren
 
Posts: 3354
Joined: Wed Jun 06, 2007 2:33 pm

Post » Tue Sep 09, 2014 8:17 am

Arthmoor, see if you or anyone working on UOPs has Stats mods they can try with this. The tag has to be manually applied. I put a link to the http://sharlikran.github.io/wrye-bash.github.io/Wrye%20Bash%20Advanced%20Readme.html#patch-tags in the OP for those who forgot what they patch. I will update it later because I updated the sound patcher with new things for TES5 and Fallout.

User avatar
Phoenix Draven
 
Posts: 3443
Joined: Thu Jun 29, 2006 3:50 am

Post » Tue Sep 09, 2014 10:59 am

Uploaded 306.0.01 added Sounds Patcher. Sorry but I'm starting with the easy ones first. :confused:

User avatar
jessica sonny
 
Posts: 3531
Joined: Thu Nov 02, 2006 6:27 pm

Post » Tue Sep 09, 2014 7:48 pm

See if it's fixed in the new version.
User avatar
Umpyre Records
 
Posts: 3436
Joined: Tue Nov 13, 2007 4:19 pm

Post » Tue Sep 09, 2014 5:37 pm

As a long-time Wrye Bash user, I am SO GLAD you are doing this!

User avatar
Vicki Gunn
 
Posts: 3397
Joined: Thu Nov 23, 2006 9:59 am

Post » Tue Sep 09, 2014 12:16 pm

Heh. Easy works :tongue: The more patchers the better, though I don't think I have anything that would benefit from the Sound tag.

I'm afraid that made no difference - the book thing is still broken and the symbols are still there on the NPC names.

Also, your Mediafire links are both for the Python Source version. :tongue:

EDIT: Oh, and it appears that something in the Standalone builds is causing Bash to crash when closed. The 305 release copy doesn't do this.

User avatar
Gisela Amaya
 
Posts: 3424
Joined: Tue Oct 23, 2007 4:29 pm

Post » Tue Sep 09, 2014 1:37 pm

What exactly is going to be different with the Fallout version here vs the Fallout version available in the current Wrye Flash/Flash NV?

Nevermind, I reread the OP and it answered my question.

And are the initial implementation of these tags for Skyrim importing the same sub records exactly how they are listed on the Advanced Readme or are some extra sub records going to be forwarded to match what is used in Skyrim?

User avatar
Donatus Uwasomba
 
Posts: 3361
Joined: Sun May 27, 2007 7:22 pm

Post » Tue Sep 09, 2014 4:39 pm

For all of the current Fallout functionality use the 30.x or 16.x. Valda and I are working on making the Oblivion/Skyrim version provide Fallout support because the current versions are based on extremely outdated code. It would be silly to update them when the 305 Code is so much better.

Only the link in the OP will show what the Bash tags apply to according to my changes. I will only update a Tag if it's supported so don't look for future changes because that's not going to be at that link. If you compare the 305 Advanced Readme with mine only the Sounds section will be different. Each Tag will be upgraded to match the game mode(s). For example, Oblivion has no sounds on Weapons, however all the other game modes do. I may not make it clear that Oblivion does not have Sounds for weapons until later on because I want to invest my time mostly in updating things.

If you want to test this version for Skyrim you have to check all the records except Leveled lists. I have not touched them at all. Feel free to report anything you find. I will add it to the OP under the Known issues section. Then the issues can be addressed as time permits.

User avatar
Nicholas C
 
Posts: 3489
Joined: Tue Aug 07, 2007 8:20 am

Post » Tue Sep 09, 2014 4:16 am

Can someone compare the Bash Patch for 305 to a Bash Patch made with this Experimental version? The names patcher was already enabled for 305 so I am surprised it's not writing strings into the Bash Patch. Can anyone confirm for me that a Bash patch from 305 has "FULL" records that show the string from the masters? I'd do it but all my files are set up for testing right now. I would appreciate the confirmation. This can be done with TES5Edit. Load your original Bash Patch, 0.esp but don't load one made from this experimental version. Once everything is loaded right click the bash patch and choose compare to. Then choose the experimental bash patch and see which FULL records have strings compare to this version.

User avatar
Laura Hicks
 
Posts: 3395
Joined: Wed Jun 06, 2007 9:21 am

Post » Tue Sep 09, 2014 11:20 am

In the case of the 3 NPC records in my report, only the 306 testing file even has those entries. It occurs to me that the reason for this is because the mods that have been tagged are already the winning records in my load order and the patch shouldn't have had those entries at all.

Confirmed with my working 305 patch - those entries are not present.

My 305 patch also doesn't have the book records in it either. Are those the result of the Stats patcher in 306 or should that not have happened either?

User avatar
Ludivine Dupuy
 
Posts: 3418
Joined: Tue Mar 27, 2007 6:51 pm

Post » Tue Sep 09, 2014 5:50 am

'AACT', 'ACTI', 'ADDN', 'AMMO', 'ANIO', 'APPA', 'ARMA', 'ARMO', 'ARTO', 'ASPC','ASTP', 'COBJ', 'GLOB', 'GMST', 'LVLI', 'LVLN', 'LVSP', 'MISC',

Those are the only records available to 305, period. Not that they are the only ones activated, the definitions don't exist for the other records. A total of 18 records and it has been that way for over two years now.

'AACT', 'ACHR', 'ACTI', 'ADDN', 'ALCH', 'AMMO', 'ANIO', 'APPA', 'ARMA', 'ARMO','ARTO', 'ASPC', 'ASTP', 'BOOK', 'BPTD', 'CAMS', 'CELL', 'CLAS', 'CLFM', 'CLMT','COBJ', 'COLL', 'CONT', 'CPTH', 'CSTY', 'DEBR', 'DIAL', 'DLBR', 'DLVW', 'DOBJ','DOOR', 'DUAL', 'ECZN', 'EFSH', 'ENCH', 'EQUP', 'EXPL', 'EYES', 'FACT', 'FLOR','FLST', 'FSTP', 'FSTS', 'FURN', 'GLOB', 'GMST', 'GRAS', 'HAZD', 'HDPT', 'IDLE','IDLM', 'IMAD', 'IMGS', 'INFO', 'INGR', 'IPCT', 'IPDS', 'KEYM', 'KYWD', 'LCRT','LGTM', 'LIGH', 'LSCR', 'LTEX', 'LVLI', 'LVLN', 'LVSP', 'MATO', 'MATT', 'MESG','MGEF', 'MISC', 'MOVT', 'MSTT', 'MUSC', 'MUST', 'NPC_', 'OTFT', 'PROJ', 'RELA','REVB', 'RFCT', 'SCRL', 'SHOU', 'SLGM', 'SMBN', 'SMEN', 'SMQN', 'SNCT', 'SNDR','SOPM', 'SOUN', 'SPEL', 'SPGD', 'STAT', 'TACT', 'TREE', 'TXST', 'VTYP', 'WATR','WEAP', 'WOOP', 'WRLD', 'WTHR',
Those are the records available in my Experemential version. Almost all of them. For my Experiential version I have all the records defined except AVIF,LAND, LCTN, PERK, PACK, QUST, RACE, SCEN, REFR, REGN. There is a link in the OP that shows the status for both Skyrim and Fallout support which also shows what is and is not finished. I am putting the Known issues in the OP until they are fixed.

namesTypes = set(('ACTI', 'AMMO', 'ARMO', 'APPA', 'MISC',))pricesTypes = {'AMMO':{},'ARMO':{},'APPA':{},'MISC':{}}statsTypes = {            'AMMO':('eid', 'value', 'damage'),            'ARMO':('eid', 'weight', 'value', 'armorRating'),            'APPA':('eid', 'weight', 'value'),            'MISC':('eid', 'weight', 'value'),            }
Those were the only patchers for Names or Stats. So with the names tag active on the UOPs you will only see changes for 'ACTI', 'AMMO', 'ARMO', 'APPA', 'MISC' in 305.

namesTypes = set((    'ACTI', 'ALCH', 'AMMO', 'APPA', 'ARMO', 'BOOK', 'CLAS', 'CLFM',    'CONT', 'DIAL', 'DOOR', 'ENCH', 'EXPL', 'EYES', 'FACT', 'FLOR', 'FURN', 'HAZD',    'HDPT', 'INGR', 'KEYM', 'LIGH', 'MESG', 'MGEF', 'MISC', 'MSTT', 'NPC_',    'PROJ', 'SCRL', 'SHOU', 'SLGM', 'SNCT', 'SPEL', 'TACT', 'TREE', 'WATR', 'WEAP',    'WOOP'    ))pricesTypes = {'ALCH':{},'AMMO':{},'APPA':{},'ARMO':{},'BOOK':{},'INGR':{},'KEYM':{},'LIGH':{},'MISC':{},'SLGM':{},'WEAP':{}}statsTypes = {        'ALCH':('eid', 'weight', 'value'),        'AMMO':('eid', 'value', 'damage'),        'APPA':('eid', 'weight', 'value'),        'ARMO':('eid', 'weight', 'value', 'armorRating'),        'BOOK':('eid', 'weight', 'value'),        'INGR':('eid', 'weight', 'value'),        'KEYM':('eid', 'weight', 'value'),        'LIGH':('eid', 'weight', 'value', 'duration'),        'MISC':('eid', 'weight', 'value'),        'SLGM':('eid', 'weight', 'value'),        'WEAP':('eid', 'weight', 'value', 'damage', 'speed', 'reach', 'enchantPoints'),    }
That is what is available in 306. Granted I have to wait for Valda's help to get the localized strings to appear in the Bash Patch. I would have thought the code for 305 would have imported the strings from the strings files into the Bash Patch already, which is why I was asking for a comparison.

The reason it's changing is because the strings are being compared against 'Alea' and '^-+' and since they are different then it's written to the Bash Patch. Since getting the strings to work is beyond my abilities to fix I have to wait for help with that. Once it's fixed it will go away. This is the same issue TES5Edit had before it's first release. :D
User avatar
Ownie Zuliana
 
Posts: 3375
Joined: Thu Jun 15, 2006 4:31 am

Post » Tue Sep 09, 2014 7:15 am

First thing I noticed, Weapons & Armor_TrueOrcish&DaedricWeapons.esp is green, but not being deactivated by 306. It isn't green with 305. Maybe it has to do with this error that did not stop the patch from generating:

I seem to have proper FULL strings for everything I checked. I mixed up the UPs and WAF+CCF tags to get them to merge parts of each and everything was the same for FULL in Armor and Misc Items. I don't see any extra records either.
Moss Rocks Dragonborn (Moss Rocks_DB.esp) is mergable and the DNAM - Directional Material does not forward.
http://i.imgur.com/hSMf7iq.png
There is also something going on with the Impact records. BlockSparkles.esp is mergable and it has some added Flags
http://i.imgur.com/vAaJQqB.png
Also, the patcher added some DODT values to one Impact record:
http://i.imgur.com/rpdWRDM.png
The last thing I noticed is that Leveled Lists might not be acting correctly, but I didn't comb through it very well. Seemed like if the winning mod had Use All flag that it could be overwritten by other mods regardless of it's tags. Also, Delev was not working fro Trade & Barter.
User avatar
Tanya
 
Posts: 3358
Joined: Fri Feb 16, 2007 6:01 am

Post » Tue Sep 09, 2014 12:43 pm

That's perfect thanks EssArrBee. I don't need it right now but after the next update please run Wrye Bash with the Debug.bat file. Then when you build the bash patch, look at it and if it's pretty much empty then it was fine. If it has things like what you posted about LSCR and XNAM then I can go fix that. Thanks so much for that because I don't have the same mods so I won't see the same errors. I will let you know when I have it up so you can test that it's fixed.

User avatar
Rachel Tyson
 
Posts: 3434
Joined: Sat Oct 07, 2006 4:42 pm

Post » Tue Sep 09, 2014 11:12 am

Actually, I use the Python version with MO, so I add the .bat in the MO binary field to run WB.

Spoiler
Wrye Bash starting
Using Wrye Bash Version 306.0.01
Python version: 2.7.7
wxPython version: 2.8.12.1 (msw-unicode)
input encoding: None; output encoding: None; locale: ('en_US', 'cp1252')
Searching for game to manage:
bush.py 81 detectGames: Detected the following supported games via Windows Registry:
bush.py 83 detectGames: falloutnv: C:\Games\Steam\SteamApps\common\Fallout New Vegas
bush.py 83 detectGames: skyrim: C:\games\steam\steamapps\common\Skyrim
bush.py 95 detectGames: Detecting games via relative path and the -o argument:
bush.py 101 detectGames: skyrim: C:\Games\Steam\steamapps\common\Skyrim
bush.py 144 setGame: No preferred game specified.
bush.py 151 setGame: Using skyrim game: C:\Games\Steam\steamapps\common\Skyrim
testing UAC
bosh.py 5563 __init__: Using libbsa API version: 2.0.0
bosh.py 5569 __init__: Using libloadorder API version: 4.0.1
bosh.py 5575 __init__: Using LOOT API version: 0.6.0
C:\Games\Steam\steamapps\common\Skyrim
unpack requires a string argument of length 6
Error loading 'LSCR' record and/or subrecord: 02017F96
eid = u'DLC1WeaponDragonbone'
subrecord = 'XNAM'
subrecord size = 12
file pos = 721978
Error in Weapons & Armor_TrueOrcish&DaedricWeapons.esp
bosh.py 544 load:
Traceback (most recent call last):
File "bash\bosh.py", line 538, in load
selfTops[label].load(ins,unpack and (topClass != MobBase))
File "bash\patcher\RecordGroups.py", line 70, in load
ins.tell() + self.size - self.header.__class__.size)
File "bash\patcher\RecordGroups.py", line 172, in loadData
record = recClass(header,ins,True)
File "bash\brec.py", line 1596, in __init__
self.__class__.melSet.initRecord(self,header,ins,unpack)
File "bash\brec.py", line 1225, in initRecord
MreRecord.__init__(record,header,ins,unpack)
File "bash\brec.py", line 1393, in __init__
if ins: self.load(ins,unpack)
File "bash\brec.py", line 1456, in load
self.loadData(ins,inPos+self.size)
File "bash\brec.py", line 1605, in loadData
self.__class__.melSet.loadData(self,ins,endPos)
File "bash\brec.py", line 1254, in loadData
loaders[Type].loadData(record,ins,Type,size,readId)
File "bash\brec.py", line 968, in loadData
unpacked = ins.unpack(self.format,size,readId)
File "bash\brec.py", line 297, in unpack
return struct.unpack(format,self.ins.read(size))
error: unpack requires a string argument of length 6

XNAM and LSCR are both in the log, but I don't know what that means. Hope it helps.

User avatar
Rebecca Clare Smith
 
Posts: 3508
Joined: Fri Aug 04, 2006 4:13 pm


Return to V - Skyrim