Jump to content

Wrye Bash - All Games


Utumno

Recommended Posts

As alt3rn1ty correctly pointed out I need to know what's inside those Tools - if nif/dds then they will be installed no matter the subfolders

Link to comment
Share on other sites

1 hour ago, Utumno said:

As alt3rn1ty correctly pointed out I need to know what's inside those Tools - if nif/dds then they will be installed no matter the subfolders

Here are two full file manifests of the Skyrim (same for both SSE and LE at the moment) and Fallout 4. These are relative to the Data folder.

I've also created a file that contains a list of the different file extensions that are used with an explanation of what the custom file extensions are to the best of my knowledge.  Most of the image formats used with the stock installers are .png but there could conceivably be .jpg files as well.

I've confirmed by reviewing several armor mods for both Skyrim and FO4 that contain BodySlide data.

I wanted to include Fores New Idles (FNIS) since it is a popular animation replacer/registration mod. I've included a list of the usual skips (the directories are created but the executables are skipped) .

If you prefer I can format these as they are in Wrye Bash according to their Matched/Mismatched/Dirty/Skipped status.  Just let me know and I'll do the homework.


Thanks!!

 

Skyrim-bodyslide-files.txt

Fallout-4-bodyslide-files.txt

Bodyslide-file-extensions.txt

FNIS-files.txt

Link to comment
Share on other sites

4 hours ago, alt3rn1ty said:

Beermotor said that Has Extra Directories does not work in that case, so it would need (I think) Tools\ folder adding.

Oblivion - I dont think there is a Bodyslide setup for that game

I dont think the other Fallouts have the Bodyslide setup either .. Correct me if I am wrong, but I dont think sliders would work with the bodies of FO3 or FNV, different setup to Skyrim / FO4 - Edit : Same problem for Oblivion too, more bones etc on newer games so not possible to backport for that game (or if it is it would probably be a lot of work for Ousnius and Caliente for what is a very old game now).

Yes this is correct, Oblivion and anything of that engine generation do not have Bodyslide that I'm aware of. There were stirrings about it being backported to Oblivion but I'm not sure if that ever went anywhere considering how dramatically different the body meshes are than Skyrim/Fallout 4.  I'll reach out to Ousnius to see if there are going to be any additional file extensions used with the Skyrim SE version of CBBE that he and Caliente are working on.

Update: I PM'ed Ousnius on Nexus and linked him to the thread.

Link to comment
Share on other sites

Thank $DEITY that you've decided to host WB discussion here instead of over on that trainwreck that is bethesda.net. *shudder*

So, having skimmed the WB "General Readme", am I to understand that WB creates a %FO4_GAMEDIR%/Data/../Mods/  folder where any (previously) downloaded FOMOD installers are supposed to live from now on?

Is there anything wrong in principle with simply creating a Junction mount from my equivalent NMM Mods folder, such that %FO4_GAMEDIR%/Data/../Mods/ and %NMM%/Fallout4/Mods( essentially point to the same on-disk folder?

That way, I can potentially continue to use NMM to handle the downloading of files from the Nexus, yet use WB for managing them.

Please advise. =)

EDIT: Ah. I had overlooked that WB looks in the ./Fallout 4/Data/../../Fallout 4 Mods/Bash Installers/ folder for download files, so that should be the Junction target. My mistake. As an aside, I'm not so sure this is a good default location for e.g. Steam installs...

EDIT2: The Junction mount trick works. Nice. Onwards and upwards as they say.

EDIT3: Initial impressions? WB Just Works -- I right-click the Unofficial Fallout 4 patch and everything does what I expect. What a relief. \o/

Link to comment
Share on other sites

What I did in my case is I put everything in the Wrye Bash created "Bash Installers" folder and then point NMM at it in the NMM settings. That works far better than the other way around.

Link to comment
Share on other sites

@Utumno

I did a bad thing but a good thing at the same time. Good news and bad news.

The good news is I fixed the BCF error and it works again. I applied a BCF including a wizard I created to a Fallout 4 mod and it worked perfectly. :)

The bad news is I fixed it by yanking the progress display handling code out of WB 295 "balt.py", replacing the newer code.

I've attached a diff patch of the change for your review.

balt-beermotor-20170707.patch

Link to comment
Share on other sites

Got this after trying to install "Settlement Resources Rebalanced" (right-clicked .7z archive and left-clicked on "install"):

Traceback (most recent call last):
  File "bash\balt.pyo", line 1605, in _conversation_wrapper
  File "bash\basher\__init__.pyo", line 3760, in RefreshData
  File "bash\bosh\__init__.pyo", line 1970, in refresh
UnboundLocalError: local variable '_added' referenced before assignment

Right-clicked, chose "uninstall", then installed again.  The 2nd time around there was no error. Odd.

Link to comment
Share on other sites

I got a similar error a few WIP builds back but it was so sporadic that I couldn't reproduce it either. Are you using the current 20170707 build by chance?

Link to comment
Share on other sites

3 minutes ago, Beermotor said:

I got a similar error a few WIP builds back but it was so sporadic that I couldn't reproduce it either. Are you using the current 20170707 build by chance?

I don't think so -- the version string says "307.201707052007" (Standalone) if that's of any help. =)

Link to comment
Share on other sites

3 hours ago, Utumno said:

As alt3rn1ty correctly pointed out I need to know what's inside those Tools - if nif/dds then they will be installed no matter the subfolders

Adding FNIS as a tool dir in WB would be awesome at least for mod users. :)

Link to comment
Share on other sites

21 minutes ago, ermo said:

I don't think so -- the version string says "307.201707052007" (Standalone) if that's of any help. =)

Cool you're using the latest build. I was able to reproduce the error with the same mod using both the latest Python and Standalone versions.  Thank you for reporting the error.

For the information of anyone else reading: the mod is just a single ESP named "Settlement Resources Rebalanced.esp". Despite the error the mod installed correctly and was present n the Data folder.

Bug dump is attached.

Beermotor-Settlement Resources Rebalanced-BashBugDump.log

Link to comment
Share on other sites

6 hours ago, Leonardo said:

Adding FNIS as a tool dir in WB would be awesome at least for mod users. :)

Good idea IMOP. Let WB completely manage the installation of FNIS so then users don't have to use things like this or this. :P 

Link to comment
Share on other sites

10 hours ago, Beermotor said:

Here are two full file manifests of the Skyrim (same for both SSE and LE at the moment) and Fallout 4. These are relative to the Data folder.

I've also created a file that contains a list of the different file extensions that are used with an explanation of what the custom file extensions are to the best of my knowledge.  Most of the image formats used with the stock installers are .png but there could conceivably be .jpg files as well.

I've confirmed by reviewing several armor mods for both Skyrim and FO4 that contain BodySlide data.

I wanted to include Fores New Idles (FNIS) since it is a popular animation replacer/registration mod. I've included a list of the usual skips (the directories are created but the executables are skipped) .

If you prefer I can format these as they are in Wrye Bash according to their Matched/Mismatched/Dirty/Skipped status.  Just let me know and I'll do the homework.


Thanks!!

 

Skyrim-bodyslide-files.txt

Fallout-4-bodyslide-files.txt

Bodyslide-file-extensions.txt

FNIS-files.txt

@Beermotor The exe files that are in those lists - Are they installed from the mods files (like CBBE), or are they installed from the Tools files (Bodyslide itself)

I mentioned this earlier aswell because if the Bodyslide setup itself installs exe files thats fine, Wrye Bash cant install that setup anyway (same as we would not expect Wrye Bash to be able to install Nexus Mod Manager, its another Tool not a mod, nor would we expect Wrye Bash to install any potential malware files, which is one of the reasons for not installing exe / jar etc)

.. But if the mods themselves install exe files, then there is no point adding a Tools folder to accepted folders, because Wrye Bash would not be able to fully install the mods that need it anyway

 

Well I just got home so will grab CBBE and see what is in the original mods zip (the BAIN I use is custom with all bodyslide stuff removed) ...

 

Edit : So here is the output of all directories and files from Fallout 4 CBBE Mod, 00 Required files \ Tools \ folder

There are no exe's in the mod, a few files with .osd and .osp are unusual, but if Wrye Bash was to have the Tools folder enabled those would get installed because they are not on the list of skipped extensions. So Mods files would be able to be installed with Wrye Bash, if the tools directory was added to Wrye Bash accepted directories.

 

 

Directory of D:\tools

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
23/12/2015  22:28    <DIR>          BodySlide
               0 File(s)              0 bytes

 Directory of D:\tools\BodySlide

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
23/12/2015  22:02    <DIR>          ShapeData
08/07/2017  07:31    <DIR>          SliderCategories
08/07/2017  07:31    <DIR>          SliderGroups
08/07/2017  07:31    <DIR>          SliderPresets
08/07/2017  07:31    <DIR>          SliderSets
               0 File(s)              0 bytes

 Directory of D:\tools\BodySlide\ShapeData

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
08/07/2017  07:31    <DIR>          CBBE
               0 File(s)              0 bytes

 Directory of D:\tools\BodySlide\ShapeData\CBBE

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
19/02/2016  21:25           997,305 CBBEBody.nif
02/10/2016  16:15         4,323,659 CBBEBody.osd
29/08/2016  22:40         1,046,473 CBBEBodyPhysics.nif
26/03/2016  01:43         1,406,679 NeverNude.nif
26/03/2016  01:41         3,554,213 NeverNude.osd
               5 File(s)     11,328,329 bytes

 Directory of D:\tools\BodySlide\SliderCategories

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
21/03/2016  16:20             5,183 CBBE.xml
               1 File(s)          5,183 bytes

 Directory of D:\tools\BodySlide\SliderGroups

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
13/03/2016  20:42               360 CBBE.xml
               1 File(s)            360 bytes

 Directory of D:\tools\BodySlide\SliderPresets

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
12/07/2016  18:26            31,997 CBBE.xml
               1 File(s)         31,997 bytes

 Directory of D:\tools\BodySlide\SliderSets

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
26/03/2016  01:41            55,068 CBBE.osp
               1 File(s)         55,068 bytes

     Total Files Listed:
               9 File(s)     11,420,937 bytes
              23 Dir(s)  552,286,937,088 bytes free

 

Link to comment
Share on other sites

Thanks everybody for fedback - unfortunately I have no time to go through it now - I however enabled the tools folder for those games - does this make a difference

If not please someone make me a complete report in this issue (attach the files by @Beermotor)  https://github.com/wrye-bash/wrye-bash/issues/379  - I closed it but I think it's about this very tools thing. Probably not an easy fix as we need to install all those mo etc files right ? Anyway later

Also I fixed the "UnboundLocalError: local variable '_added' referenced before assignment" and Bash not remembering the size on restart

307.201707081049

Wait till I upload it!

@ermo you can customize the location of the Bash Installers folder in the ini

@Beermotor I also made conflict projects names shorter to workaround report here:

    https://www.afkmods.com/index.php?/topic/4966-wrye-bash-all-games/&do=findComment&comment=167100

I can't repro the BCF with the files you gave me - namely I can't seem to be able to apply:

 

I refer to posts here:

https://www.afkmods.com/index.php?/topic/4966-wrye-bash-all-games/&do=findComment&comment=167277
https://www.afkmods.com/index.php?/topic/4966-wrye-bash-all-games/&do=findComment&comment=167264

Clipboard01.jpg

Link to comment
Share on other sites

3 hours ago, alt3rn1ty said:

@Beermotor The exe files that are in those lists - Are they installed from the mods files (like CBBE), or are they installed from the Tools files (Bodyslide itself)

  Reveal hidden contents

 

Directory of D:\tools

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
23/12/2015  22:28    <DIR>          BodySlide
               0 File(s)              0 bytes

 Directory of D:\tools\BodySlide

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
23/12/2015  22:02    <DIR>          ShapeData
08/07/2017  07:31    <DIR>          SliderCategories
08/07/2017  07:31    <DIR>          SliderGroups
08/07/2017  07:31    <DIR>          SliderPresets
08/07/2017  07:31    <DIR>          SliderSets
               0 File(s)              0 bytes

 Directory of D:\tools\BodySlide\ShapeData

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
08/07/2017  07:31    <DIR>          CBBE
               0 File(s)              0 bytes

 Directory of D:\tools\BodySlide\ShapeData\CBBE

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
19/02/2016  21:25           997,305 CBBEBody.nif
02/10/2016  16:15         4,323,659 CBBEBody.osd
29/08/2016  22:40         1,046,473 CBBEBodyPhysics.nif
26/03/2016  01:43         1,406,679 NeverNude.nif
26/03/2016  01:41         3,554,213 NeverNude.osd
               5 File(s)     11,328,329 bytes

 Directory of D:\tools\BodySlide\SliderCategories

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
21/03/2016  16:20             5,183 CBBE.xml
               1 File(s)          5,183 bytes

 Directory of D:\tools\BodySlide\SliderGroups

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
13/03/2016  20:42               360 CBBE.xml
               1 File(s)            360 bytes

 Directory of D:\tools\BodySlide\SliderPresets

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
12/07/2016  18:26            31,997 CBBE.xml
               1 File(s)         31,997 bytes

 Directory of D:\tools\BodySlide\SliderSets

08/07/2017  07:31    <DIR>          .
08/07/2017  07:31    <DIR>          ..
26/03/2016  01:41            55,068 CBBE.osp
               1 File(s)         55,068 bytes

     Total Files Listed:
               9 File(s)     11,420,937 bytes
              23 Dir(s)  552,286,937,088 bytes free

 

Yes.  The Bodyslide "installer" is actually just a standard BAIN package with one subpackage ('00 Bodyslide')  containing  the standalone executables (32 bit and 64 bit versions). No normal Windows installation is necessary so it is just a file copy. The other subpackages are meshes/textures, and the misc files are basically instructions that tell Bodyslide what to do with armor NIFs to make them conform to body NIFs.

The packages for the Skyrim version and the Fallout 4 version have slightly different paths for some reason but generally it is the same idea. Here's a tree dump of the structure of Bodyslide/Outfit Studio: Bodyslide-skyrim-tree.txt

Regaring CBBE, the non-standard files in the CBBE package are BodySlide data files as mentioned above to make the vanilla and DLC armors fit the custom body shapes in BodySlide, or to create armor conversions in Outfit Studio.

Think of BS/OS like a super-customized version of NifSKope that makes life a lot easier for content creators. It is really a clever piece of engineering.

Speaking of which, I got a reply from Ousnius last night and he said that the list I had posted previously was correct with the following corrections:

.bsd = BodySlide Data (one slider for one mesh, old)

.osd = Outfit Studio Data (multiple sliders for multiple meshes)

.osp = Outfit Studio Project


There's also .txt files, like Maya scripts, a ReadMe and a log file.

 

Regarding installing executables, I see where you're coming from. Perhaps it could be accompanied by a warning as with script extender DLLs to disclaim liability.

 

Link to comment
Share on other sites

2 hours ago, Utumno said:

Thanks everybody for fedback - unfortunately I have no time to go through it now - I however enabled the tools folder for those games - does this make a difference

If not please someone make me a complete report in this issue (attach the files by @Beermotor)  https://github.com/wrye-bash/wrye-bash/issues/379  - I closed it but I think it's about this very tools thing. Probably not an easy fix as we need to install all those mo etc files right ? Anyway later

Also I fixed the "UnboundLocalError: local variable '_added' referenced before assignment" and Bash not remembering the size on restart


307.201707081049

Wait till I upload it!

@ermo you can customize the location of the Bash Installers folder in the ini

@Beermotor I also made conflict projects names shorter to workaround report here:

    https://www.afkmods.com/index.php?/topic/4966-wrye-bash-all-games/&do=findComment&comment=167100

I can't repro the BCF with the files you gave me - namely I can't seem to be able to apply:

@Utumno The BCF patch file being gobbledygook is probably my fault because I suck at making diff patches. I've attached the modified balt.py file so you can diff it yourself to see what I did: balt.py.beermotor

I think the issue all along was there was some impediment preventing the balt.py from displaying the progress meter via the WX library. This just uses the older code to display the progress meter so it can complete.

Applying BCF:

5960b8e171340_applyingBCF.PNG.59a110ed0e8bab79733b4a539bc810ca.PNG

Progress meter display:

converting-to-archive.PNG.870c795fc525ae6afa4c8c45a51f1ccb.PNG

BCF applied and new BAIN created containing new structure and wizard.txt:

5960b920aae8c_BAINapplied.PNG.8df86aee671bfd52839e0bdb4cc772f1.PNG

Thank you for enabling the tool packages. :) I'll give it a whirl shortly to test and I'll make a GitHub account to post my findings in the Issue tracker.

Link to comment
Share on other sites

New standalone build - Oblivion Wrye Bash :

New GOG Oblivion exe and its 1969 file date now seems to be accepted (but see bashbugdump in the spoiler below)

I can use LOOT with Wrye Bash open, and upon refocussing Wrye Bash the load order gets refreshed

Window sizing restored

And the other problem does not come up in the bashbugdump.log

 

Note if you get people using the nightly builds and they say they cannot install it, it may be a Windows 10 Creators update, and Windows Defender Smartscreen issue ..

 

0000.png

 

A few new lines in the bashbugdump.log reference timestamps

 

Wrye Bash starting
Using Wrye Bash Version 307.201707081049 (Standalone)
OS info: Windows-10-10.0.15063
Python version: 2.7.12
wxPython version: 2.8.12.1 (msw-unicode)
input encoding: None; output encoding: None; locale: ('en_GB', 'cp1252')
filesystem encoding: mbcs 
bash.pyo  322 main: Searching for game to manage:
bush.pyo   89 __supportedGames: Detected the following supported games via Windows Registry:
bush.pyo   91 __supportedGames:  Oblivion: e:\oblivion
bush.pyo   91 __supportedGames:  Skyrim Special Edition: D:\Steam\steamapps\common\Skyrim Special Edition
bush.pyo   91 __supportedGames:  Fallout4: D:\Steam\steamapps\common\Fallout 4
bush.pyo  149 _detectGames: Detecting games via the -o argument, bash.ini and relative path:
bush.pyo  155 _detectGames: Set game mode to Oblivion found in parent directory of Mopy:  E:\Oblivion
bush.pyo  170 __setGame:  Using Oblivion game: E:\Oblivion
testing UAC
mods_metadata.pyo  224 __init__: Using LOOT API version: 0.10.2
barb.pyo  151 Apply: 
barb.pyo  152 Apply: BACKUP BASH SETTINGS: D:\Steam\steamapps\Common\Fallout4 Mods\Bash Mod Data\Backup Bash Settings Oblivion (2017-07-08 11.35.50) v307.201707052007-307.201707081049.7z
barb.pyo  164 _backup_settings: Oblivion Mods\Bash Installers\Bash\Converters.dat.bak <-- E:\Oblivion Mods\Bash Installers\Bash\Converters.dat.bak
barb.pyo  164 _backup_settings: Oblivion Mods\Bash Mod Data\Table.dat.bak <-- E:\Oblivion Mods\Bash Mod Data\Table.dat.bak
barb.pyo  164 _backup_settings: Oblivion\Mopy\bash\l10n\Russian.txt <-- E:\Oblivion\Mopy\bash\l10n\Russian.txt
barb.pyo  164 _backup_settings: Oblivion\Mopy\bash\l10n\Italian.txt <-- E:\Oblivion\Mopy\bash\l10n\Italian.txt
barb.pyo  164 _backup_settings: Oblivion Mods\Bash Mod Data\Table.dat <-- E:\Oblivion Mods\Bash Mod Data\Table.dat
barb.pyo  164 _backup_settings: Oblivion\Mopy\bash\l10n\Chinese (Simplified).txt <-- E:\Oblivion\Mopy\bash\l10n\Chinese (Simplified).txt
barb.pyo  164 _backup_settings: Oblivion Mods\Bash Installers\Bash\Installers.dat <-- E:\Oblivion Mods\Bash Installers\Bash\Installers.dat
barb.pyo  164 _backup_settings: My Games\Oblivion\BashLoadOrders.dat.bak <-- D:\Documents\My Games\Oblivion\BashLoadOrders.dat.bak
barb.pyo  164 _backup_settings: Oblivion Mods\Bash Installers\Bash\Installers.dat.bak <-- E:\Oblivion Mods\Bash Installers\Bash\Installers.dat.bak
barb.pyo  164 _backup_settings: My Games\Oblivion\BashSettings.dat.bak <-- D:\Documents\My Games\Oblivion\BashSettings.dat.bak
barb.pyo  164 _backup_settings: Oblivion\Mopy\bash\l10n\de.txt <-- E:\Oblivion\Mopy\bash\l10n\de.txt
barb.pyo  164 _backup_settings: Oblivion\Mopy\bash\l10n\Chinese (Traditional).txt <-- E:\Oblivion\Mopy\bash\l10n\Chinese (Traditional).txt
barb.pyo  164 _backup_settings: My Games\Oblivion\BashLoadOrders.dat <-- D:\Documents\My Games\Oblivion\BashLoadOrders.dat
barb.pyo  164 _backup_settings: Oblivion\Mopy\bash\l10n\pt_opt.txt <-- E:\Oblivion\Mopy\bash\l10n\pt_opt.txt
barb.pyo  164 _backup_settings: Oblivion Mods\Bash Installers\Bash\Converters.dat <-- E:\Oblivion Mods\Bash Installers\Bash\Converters.dat
barb.pyo  164 _backup_settings: My Games\Oblivion\BashSettings.dat <-- D:\Documents\My Games\Oblivion\BashSettings.dat
bolt.pyo  173 formatDate: Timestamp -3600 failed to convert to local using time.struct_time(tm_year=1969, tm_mon=12, tm_mday=31, tm_hour=23, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=365, tm_isdst=0)
bolt.pyo  173 formatDate: Timestamp -3600 failed to convert to local using time.struct_time(tm_year=1969, tm_mon=12, tm_mday=31, tm_hour=23, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=365, tm_isdst=0)
bolt.pyo  173 formatDate: Timestamp -3600 failed to convert to local using time.struct_time(tm_year=1969, tm_mon=12, tm_mday=31, tm_hour=23, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=365, tm_isdst=0)
bolt.pyo  173 formatDate: Timestamp -3600 failed to convert to local using time.struct_time(tm_year=1969, tm_mon=12, tm_mday=31, tm_hour=23, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=365, tm_isdst=0)
bolt.pyo  173 formatDate: Timestamp -3600 failed to convert to local using time.struct_time(tm_year=1969, tm_mon=12, tm_mday=31, tm_hour=23, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=365, tm_isdst=0)

Link to comment
Share on other sites

Fallout 4 ..

I am now using the CBBE original file (with no customisation of contents from me) and it installs fine, allowing the 00 Required \ Tools \

So that Mod, and its files for Bodyslide, installs ok

 

00.png

00.5.png

 

And the bashbugdump.log ..

Wrye Bash starting
Using Wrye Bash Version 307.201707081049 (Standalone)
OS info: Windows-10-10.0.15063
Python version: 2.7.12
wxPython version: 2.8.12.1 (msw-unicode)
input encoding: None; output encoding: None; locale: ('en_GB', 'cp1252')
filesystem encoding: mbcs 
bash.pyo  322 main: Searching for game to manage:
bush.pyo   89 __supportedGames: Detected the following supported games via Windows Registry:
bush.pyo   91 __supportedGames:  Oblivion: e:\oblivion
bush.pyo   91 __supportedGames:  Skyrim Special Edition: D:\Steam\steamapps\common\Skyrim Special Edition
bush.pyo   91 __supportedGames:  Fallout4: D:\Steam\steamapps\common\Fallout 4
bush.pyo  149 _detectGames: Detecting games via the -o argument, bash.ini and relative path:
bush.pyo  155 _detectGames: Set game mode to Fallout4 found in parent directory of Mopy:  D:\Steam\steamapps\Common\Fallout 4
bush.pyo  170 __setGame:  Using Fallout4 game: D:\Steam\steamapps\Common\Fallout 4
testing UAC
mods_metadata.pyo  224 __init__: Using LOOT API version: 0.10.2
barb.pyo  151 Apply: 
barb.pyo  152 Apply: BACKUP BASH SETTINGS: D:\Steam\steamapps\Common\Fallout4 Mods\Bash Mod Data\Backup Bash Settings Fallout4 (2017-07-08 12.04.51) v307.201707052007-307.201707081049.7z
barb.pyo  164 _backup_settings: My Games\Fallout4\BashSettings.dat <-- D:\Documents\My Games\Fallout4\BashSettings.dat
barb.pyo  164 _backup_settings: Fallout4 Mods\Bash Mod Data\INI Data\Table.dat.bak <-- D:\Steam\steamapps\Common\Fallout4 Mods\Bash Mod Data\INI Data\Table.dat.bak
barb.pyo  164 _backup_settings: My Games\Fallout4\BashSettings.dat.bak <-- D:\Documents\My Games\Fallout4\BashSettings.dat.bak
barb.pyo  164 _backup_settings: Fallout4\Mopy\bash\l10n\Italian.txt <-- D:\Steam\steamapps\Common\Fallout 4\Mopy\bash\l10n\Italian.txt
barb.pyo  164 _backup_settings: My Games\Fallout4\Saves\Bash\Table.dat.bak <-- D:\Documents\My Games\Fallout4\Saves\Bash\Table.dat.bak
barb.pyo  164 _backup_settings: Fallout4\Mopy\bash\l10n\Russian.txt <-- D:\Steam\steamapps\Common\Fallout 4\Mopy\bash\l10n\Russian.txt
barb.pyo  164 _backup_settings: Fallout4\Mopy\bash\l10n\de.txt <-- D:\Steam\steamapps\Common\Fallout 4\Mopy\bash\l10n\de.txt
barb.pyo  164 _backup_settings: Fallout4\Mopy\bash\l10n\Chinese (Simplified).txt <-- D:\Steam\steamapps\Common\Fallout 4\Mopy\bash\l10n\Chinese (Simplified).txt
barb.pyo  164 _backup_settings: Fallout4 Mods\Bash Installers\Bash\Converters.dat.bak <-- D:\Steam\steamapps\Common\Fallout4 Mods\Bash Installers\Bash\Converters.dat.bak
barb.pyo  164 _backup_settings: My Games\Fallout4\Saves\Bash\Table.dat <-- D:\Documents\My Games\Fallout4\Saves\Bash\Table.dat
barb.pyo  164 _backup_settings: Fallout4 Mods\Bash Mod Data\Table.dat.bak <-- D:\Steam\steamapps\Common\Fallout4 Mods\Bash Mod Data\Table.dat.bak
barb.pyo  164 _backup_settings: Fallout4\Mopy\bash\l10n\Chinese (Traditional).txt <-- D:\Steam\steamapps\Common\Fallout 4\Mopy\bash\l10n\Chinese (Traditional).txt
barb.pyo  164 _backup_settings: Fallout4 Mods\Bash Installers\Bash\Converters.dat <-- D:\Steam\steamapps\Common\Fallout4 Mods\Bash Installers\Bash\Converters.dat
barb.pyo  164 _backup_settings: My Games\Fallout4\BashLoadOrders.dat <-- D:\Documents\My Games\Fallout4\BashLoadOrders.dat
barb.pyo  164 _backup_settings: Fallout4 Mods\Bash Mod Data\INI Data\Table.dat <-- D:\Steam\steamapps\Common\Fallout4 Mods\Bash Mod Data\INI Data\Table.dat
barb.pyo  164 _backup_settings: Fallout4 Mods\Bash Installers\Bash\Installers.dat <-- D:\Steam\steamapps\Common\Fallout4 Mods\Bash Installers\Bash\Installers.dat
barb.pyo  164 _backup_settings: Fallout4 Mods\Bash Mod Data\Table.dat <-- D:\Steam\steamapps\Common\Fallout4 Mods\Bash Mod Data\Table.dat
barb.pyo  164 _backup_settings: Fallout4 Mods\Bash Installers\Bash\Installers.dat.bak <-- D:\Steam\steamapps\Common\Fallout4 Mods\Bash Installers\Bash\Installers.dat.bak
barb.pyo  164 _backup_settings: My Games\Fallout4\BashLoadOrders.dat.bak <-- D:\Documents\My Games\Fallout4\BashLoadOrders.dat.bak
barb.pyo  164 _backup_settings: Fallout4\Mopy\bash\l10n\pt_opt.txt <-- D:\Steam\steamapps\Common\Fallout 4\Mopy\bash\l10n\pt_opt.txt

Link to comment
Share on other sites

1 hour ago, Beermotor said:

Yes.  The Bodyslide "installer" is actually just a standard BAIN package with one subpackage ('00 Bodyslide')  containing  the standalone executables (32 bit and 64 bit versions). No normal Windows installation is necessary so it is just a file copy. The other subpackages are meshes/textures, and the misc files are basically instructions that tell Bodyslide what to do with armor NIFs to make them conform to body NIFs.

The packages for the Skyrim version and the Fallout 4 version have slightly different paths for some reason but generally it is the same idea. Here's a tree dump of the structure of Bodyslide/Outfit Studio: Bodyslide-skyrim-tree.txt

Regaring CBBE, the non-standard files in the CBBE package are BodySlide data files as mentioned above to make the vanilla and DLC armors fit the custom body shapes in BodySlide, or to create armor conversions in Outfit Studio.

Think of BS/OS like a super-customized version of NifSKope that makes life a lot easier for content creators. It is really a clever piece of engineering.

Speaking of which, I got a reply from Ousnius last night and he said that the list I had posted previously was correct with the following corrections:


.bsd = BodySlide Data (one slider for one mesh, old)

.osd = Outfit Studio Data (multiple sliders for multiple meshes)

.osp = Outfit Studio Project


There's also .txt files, like Maya scripts, a ReadMe and a log file.

 

Regarding installing executables, I see where you're coming from. Perhaps it could be accompanied by a warning as with script extender DLLs to disclaim liability.

 

You mean allow exe files ?

Really bad idea imho. The amount of mod files we see being uploaded to Nexus (which get taken down after a few veterans on there check out all new files for possible malware) is not insignificant. Some are simple obfuscated filename.txt<insert lots of spaces here>.exe, others are where trusted mod authors have had their whole accounts compromised and files replaced with malware in varying degrees of complexity.

Then you have people who download NMM .. and try to install it with Wrye Bash .. Or vice versa .. Lots of numpties out there who think tools are sometimes mods and are confused by terminology and what should be installable with what

Have a look at Wrye Bash on Oblivion Nexus comments at the moment, someone called shadowkat has been replied by EvilOssie (an experienced mod user from CanadianIce n Howndogs place for many years), and even he has started calling Wrye Bash a "mod"

Confusion reigns supreme, so the unwary are easier to trick by script kiddies with mischevious intent.

I personally dont think we ought to have allowed .dlls' for Script Extenders, any type of executable should be manual install only. Especially these days where malware can be layers of encryption, which get a hook in your system one way or another, pull in more malware when the machine is next online and before you know it you are looking at a bitcoin ransom and your whole HD is encrypted beyond recovery by Nation state level software nicked from the NSA.

Nexus users are a huge and potentially lucrative target these days. So I would say allowing Mods to install their data files for tools like bodyslide is fine, but allowing tools themselves to be installed by Wrye Bash and enabling exe files to be installed should not be a path to go down.

Exactly how Wrye Bash could be exploited I dont know, but there are some awfully clever digital criminals these days.

 

Edit : I cant understand why they setup Bodyslide the way it is anyway, whatever happened to programmers being advocates to keeping the data folder as clean as possible and only allowing actual game resources data in there, couldn't the exe's be installed external to Data, like other normal modding tools. Its weird :), clever yes, Ousnius is very talented, but its still weird.

  • Like 2
Link to comment
Share on other sites

@alt3rn1ty thanks no worries about the debug prints in the bugdump - no exe's no I agree

@Beermotor i know where the error is is indeed in the progress but can't be fixed that way :P In the post I linked you give me some files to reproduce - I can't reproduce using those (seems the bcf does not apply) - can you please post me a reproducer again with idiot proof step by step (it's applying the BCF just that not creating - so I need a bcf and an original mod, preferably the immersive citizens)

Link to comment
Share on other sites

4 hours ago, Utumno said:

@ermoyou can customize the location of the Bash Installers folder in the ini

A bit of "new user" feedback is in order, I think. As for my background, I've studied Comp.Sci. and have been involved with computing (games, networks, firewalls, system administration, Linux software packaging, debugging, small-scale development) all of my adult life, both in a professional and a hobbyist capacity.

So ... I like the principle of least surprise. Using the standalone WB is a HUGE win IMHO.

I also understand that many WB users are probably "old hands" by now and have a lot of history with the tool and have gotten used to its quirks to the point where they no longer think about them.

MOD INSTALL LOCATION:

That said, choosing the install location of mods is one of the things I would expect to be asked about at first run (even if it just means I get to click OK -- at least I was presented with the default location(s)).

This feedback also ties in with Sharlikran's feedback that users can't be expected to read and understand ANYTHING, unless they work in IT themselves.  Which is why it is IMHO good user-facing design practice to hold their hands so that their choices (or lack thereof) are treated sensibly and don't lead to "Shotgun meets Foot" nor "I'm lost and confused in a strange new country whose customs and traditions I don't understand" type of issues.

I would also expect to be able to change the install location from within the interface.  If the .ini file is in the default python-compatible format ('#' or ';' is a comment), I'm confident that it shouldn't represent a huge effort to do this...? Easy for me to say, though.

FOMOD INSTALLTION HELP:

When it comes to FOMODs downloaded from the Nexus, I would argue that this is the standard by now.  When I look at e.g. S.T.E.P. guides (which I suspect a lot of people do), they usually come with FOMOD installer instructions, making it a bit of a pain to have to guess which FOMOD option corresponds to which .ESPs.

Is there a way for WB to parse FOMOD instructions and show which choices lead to what ESPs being selected?  This feature would *instantly* make WB compatible with the big guides out there, mind you.

 

Those are the two biggest papercuts right off the bat.  I hope my feedback is considered useful. (=

 

NOTES ON PATHNAMES:

I almost forgot to add that, IME, using folder names with underscores '_' as separators instead of spaces ' ' by default, makes it much easier to create and parse strings.  I would also encourage using forward slashes '/' as path separators instead of escaped backslashes '\\', as Windows has understood this UNIXy (and URL-ish) concept since Windows 7 I believe. Just try pasting in C:/Windows/ into the location bar in Windows Explorer -- I guarantee that it'll work.

Link to comment
Share on other sites

@Utumno For Ossie on Nexus

Could we have an option to turn off the popup you get when you hover the mouse over the Installers Tab Comments box

For cases where the comments are used extensively, the popup can cut off text that is in excess of the window size, and anyone trying to read the rest in the normal comment box is obscured by the popup

 

0000.png

Link to comment
Share on other sites

1 hour ago, Utumno said:

@alt3rn1ty thanks no worries about the debug prints in the bugdump - no exe's no I agree

@Beermotor i know where the error is is indeed in the progress but can't be fixed that way :P In the post I linked you give me some files to reproduce - I can't reproduce using those (seems the bcf does not apply) - can you please post me a reproducer again with idiot proof step by step (it's applying the BCF just that not creating - so I need a bcf and an original mod, preferably the immersive citizens)

Heh no problem at all, happy to clarify. :)

This issue only pertains to BCF application - BCF creation "seems" fine, although I have an Oblivion-related idea on how I could confirm that.

Expected behavior: User can download a FunkyStructuredMod from the Nexus and apply a BAIN conversion file containing metadata to restructure the mod and perhaps a WizBAIN installer if the BCF creator added one. User can right-click the mod, select "Conversions -> Apply" (which will select the BCF file from "Bash Installers\BAIN conversions\" directory), name the resulting package, then hit OK. Once OK is pressed, WB will process the BCF and create a new package built according to the metadata in the BCF. User can then install the new BAIN package as usual.

Observed behavior:  Applying BCF fails with BashBugDump.log

Steps to reproduce (using Immersive Citizens SSE v:0.3.9a):

  1. Download Immersive Citizens from Nexus.
  2. Place "Immersive Citizens - AI Overhaul-173-0-3-9.7z" in "Bash Installers" folder for SSE
  3. Place "Immersive Citizens - AI Overhaul-TEST-20170708-BCF" in "Bash Installers\Bain converters" for SSE
  4. Launch Wrye Bash 307-20170708 Python (also repeatable in Standalone)
  5. Select Installers tab.
  6. Select 'Immersive Citizens - AI Overhaul-173-0-3-9.7z' from the package list.
  7. Right click package, select "Conversions -> Apply" and select "Immersive Citizens - AI Overhaul-20170708-TEST-BCF.7z " from the fly-out dialog.
  8. When prompted for a name, use default (making sure there is no existing file of the same name in Bash Installers) defined by the BCF. Click OK
  9. At this point the conversion will fail.

Attached is the BCF, and I have PM'ed you a link to the donor BAIN I used to create the BCF.  If you need me to do any other testing or information gathering please let me know.

 

Immersive Citizens - AI Overhaul-TEST-20170708-BCF.7z

Link to comment
Share on other sites

2 hours ago, alt3rn1ty said:

You mean allow exe files ?

Really bad idea imho. The amount of mod files we see being uploaded to Nexus (which get taken down after a few veterans on there check out all new files for possible malware) is not insignificant. Some are simple obfuscated filename.txt<insert lots of spaces here>.exe, others are where trusted mod authors have had their whole accounts compromised and files replaced with malware in varying degrees of complexity.

Then you have people who download NMM .. and try to install it with Wrye Bash .. Or vice versa ..<snip>

Edit : I cant understand why they setup Bodyslide the way it is anyway, whatever happened to programmers being advocates to keeping the data folder as clean as possible and only allowing actual game resources data in there, couldn't the exe's be installed external to Data, like other normal modding tools. Its weird :), clever yes, Ousnius is very talented, but its still weird.

I hoped you were kidding until I saw that thread you linked. D:

Although it is futile to think we can do anything to help police the Nexus, we can protect Wrye Bash from being blamed for operator idiocy.  The fact that WB can now (yes @Utumno I totally forgot to say the new installer changes worked perfectly for all of the Bodyslide content I tested it with) do BodySlide data is a HUGE win, and installing the executables is something you do once when you first install BS/OS. Having the ability to manage (install and uninstall cleanly) this data is a dream come true for me.

Link to comment
Share on other sites

So ... is it just me, or do I have very little control over where Wrye Bash expects to install mods?

After reading bash_default.ini and the General and Advanced documentation, I optimistically created a D:/Wrye_Bash/ folder with the following (self-explanatory?) structure:

D:/Wrye_Bash/
D:/Wrye_Bash/Mopy  # standalone Wrye Bash install folder
D:/Wrye_Bash/FO4_mods  # the folder under which I want everything related to FO4 and managed by WB to live

Contents of bash.ini:

[General]
; with multiple game support, it would probably make more sense to name this sGamePath ?
sOblivionPath="D:/Steam/SteamApps/common/Fallout 4/"
; as above, it would probably make more sense to name this sModsPath ?
sOblivionMods="D:/Wrye_Bash/FO4_mods/"

Expected behaviour:

Wrye Bash starts up and does with I expect it to.

Observed behaviour:

Wrye Bash crashes with a backtrace captured in BashBugDump.log:

testing UAC
Traceback (most recent call last):
  File "Wrye Bash Launcher.pyw", line 117, in <module>
  File "bash\bash.pyo", line 359, in main
  File "bash\bosh\__init__.pyo", line 3352, in initBosh
  File "bash\bosh\__init__.pyo", line 3115, in initDirs
  File "bash\env.pyo", line 633, in shellMakeDirs
  File "bash\bolt.pyo", line 970, in makedirs
  File "os.pyo", line 150, in makedirs
  File "os.pyo", line 150, in makedirs
  File "os.pyo", line 150, in makedirs
  File "os.pyo", line 150, in makedirs
  File "os.pyo", line 157, in makedirs
WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect: u'c:\\users\\ermo\\appdata\\local\\temp\\WryeBash_ldypju\\"D:'

 

Aftermath:
So I fork the wrye-bash repo on GitHub, clone it, look at the file names in Windows Explorer and go "Uh ... ok, those filenames are a bit odd, but let's see how this is supposed to work".

I then open cmd.exe in my checkout folder and poke around with the findstr utility (similar to GNU grep), which tells me that the sOblivionMods setting is parsed in 'Mopy/bash/bosh/__init.py__'. So far so good, as that file looks to be structured nicely and has a getOblivionModsPath in line 2947 that looks to be doing what it's supposed to.

Except as shown in my example above, something goes to hell in a handbasket.  What gives?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...