Jump to content

Recommended Posts

13 hours ago, Utumno said:

EDIT: re fallout3/fnv - they are not supported - fallout 4 is of course supported. I hope I will get round to this but I do need helping hands. Strange it works for you Supierce

This was my mistake. I don't have F03 or FNV - just Oblivion and FO4 (which works very well). Sorry!

Share this post


Link to post
Share on other sites
14 hours ago, alt3rn1ty said:

 

I had a brief look at it, saw all the truetype font inclusion at the start, and immediately distrusted it (I think malware injection via truetype fonts code (via scripted flaws in all that gobbledegook) was fixed in windows ages ago, I still dont trust it though).

So at the moment I will not be downloading it to load in my browser.

Rightly so and I was horrified when I read your post. I'll spare you the sordid tale of wrestling with HTML editors (I ended up using KDE Kompozer for OSX on my Mac) but it looks like one of the WYSIWYG editors I was using tried to be overly helpful and base64 encoded a font that wasn't present on my Macbook. Since I suck at all things HTML and beer was involved, it is unsurprising that it got past me.

Thank you @alt3rn1tyfor finding it. This is one of those "derpy human errors" I was talking about. :)

So regarding where this addition and any new documentation could be placed - I suggest if not a new document in the Read-me stack, perhaps it could be placed in the Wiki documentation and hyperlinked to from the "Installers Tab -> Monitor External Installation" element in the table in the Advanced Read-me.

This might make it a bit easier for contributors since Markdown can be easily written in any old text editor (I use Vim at work) and is generally human-readable in its source form.  Also I believe the GitHub wiki editor speaks the GitHub-dialect of Markdown natively. It is also possible to dump a document stack from the GitHub wiki with a fairly simple shell script (example) for conversion to HTML using a Node.js utility called 'marked'.

Just food for thought. I'll be glad to help the project any way I can.

Edit: doc has been updated, I removed that entire <style> block from the header so it should be straight HTML now.

Edited by Beermotor
Update

Share this post


Link to post
Share on other sites

I'm converting it to be included in the Advanced ReadMe, I think you are right that features description does need fleshed out a bit more than just the Context menu description.

At the same time I am tweaking the Advanced readme initial menu a bit, it will have a 3.h. Monitor External Installation section, and also shift 6. Saves tab goes to the top of the second column (so that readers get a lot more of both menus on screen on vertically challenged laptops screen space - I think part of Wrinklies overhaul was to try and get all menus within readmes viewable all at once, which it loses the battle with the more we add to it)

Screenshots .. Not sure, last time they were done with a different OS so the style of screenshots would necessitate redoing a lot of them to be consistent .. But then again I think there are enough changes to context menus etc to warrant redoing them all anyway .. so will see if I get time (currently have an elderly parent with quite a lot of problems right now so I need to travel and help while I am off shift)

 

@Utumno - Have all recent changes been included in the latest nightly build readmes I am using as a base for these changes ?

Share this post


Link to post
Share on other sites

@alt3rn1ty all of those and more - I actually added the changes by @Beermotor : https://github.com/wrye-bash/wrye-bash/commits/utumno-wip

In particular: https://github.com/wrye-bash/wrye-bash/commit/508589c64f64b8dc9a0e05d9d56b97bcc0a11e27

and https://github.com/wrye-bash/wrye-bash/commit/dc912e4e9c61560f11197da97b9a4b85f6dc8158

Not sure about this last one - needs a bit of rewording and no caps

I'd like to see your take - in general I'd rather you take that over as you do it well and it takes me more time than I can afford (that better go to coding)

Although the general rule is we don't refer to MO NMM etc in this particular context it's a good addition

@Beermotor as you see I had to edit to conform to the style of the bash readme's quite a bit (note the tags used) - keep that in mind for next time - it did take me some time that could have gone to coding ( I think I can squeeze just a couple secs out of monitor external ) - thanks anyway :)

Share this post


Link to post
Share on other sites

:) Thats pretty much exactly what I did with a bit of rewording and formatting :

    <li>BCFs store the configuration settings of the original converted archive used when creating the BCF, allowing authors to pre-select options (see instructions above).
    <li>BCFs found to be duplicates will be moved to <code>[Game] Mods\Bash Installers\Bain Converters\--Duplicates</code>.
    <li>BCFs use data CRCs to verify the integrity of source archives. These use the contents of an archive, but not the name or type of the archive, so a source archive may be renamed or recompressed without affecting its ability to be used by a BCF. Wrye Bash displays the data CRCs of packages on the General Info tab for this reason.
</ul>


<h3 id="bain-monitor">Monitor External Installation</h3>
<p>Wrye Bash can monitor your game's Data directory to detect any
changes made by an external application or manual installation. It will take
the new or changed files and create a new BAIN package that can be handled,
installed, and uninstalled just like any other standard BAIN. This is very
useful for mod authors or anyone that wants to keep strict control of
what gets placed into their data directory.
<p>Example usage scenarios
<ul>
    <li>Creation Kit/GECK monitoring 
    - When creating or managing content in the Creation Kit or GECK, Wrye
    Bash can capture any output from the CK/GECK in a BAIN package. This is
    useful for example when capturing FaceGen data as NPCs are managed, and it
    will also capture any loose files, ESP, or BSA created in the editor.
    <li>BodySlide
    - BodySlide is a utility used to create custom bodies and armor to fit
    these bodies, as well as from armors by third-parties to a custom
    body. Wrye Bash can capture all output from BodySlide and package it
    into a BAIN for easy management. These files can then be packaged and
    distributed, backed up, or used to build another mod.
    <li>Nexus Mod Manager / Other Mod Managers
    - Since Wrye Bash does not currently support the Nexus Mod Manager
    FOMOD XML installer format, sometimes it is necessary to use the Nexus
    Mod Manager to install poorly packaged mods that cannot be installed
    via the usual "click the checkbox" BAIN methods. The monitor external
    installation feature watches as NMM installs files and captures any
    changes to the content of Data, which can then be uninstalled by NMM and
    reinstalled cleanly from the newly created BAIN with Wrye Bash instead.
</ul>
<p>How to use the "Monitor External Installation" feature
<ul>
    <li>Launch Wrye Bash and switch to the Installers tab.</li>
    <li>At the top of any column (e.g. Packages), right click and select "Monitor External Installation..." from the context menu.</li>
    <li>Wrye Bash will then begin to scan your data directory to snapshot all data contained within it before any changes are made.</li>
    <li>Once this has completed, you will be prompted to begin your external installation.</li>
    <li>At this point, switch to your external application and perform the installation or
    content creation you intend to perform. There is no time limit.</li>
    <li>Once you have completed the task in the external application, switch back to Wrye Bash and click the OK button to proceed.</li>
    <li>Wrye Bash will scan the data folder again to calculate what files have changed,
    or what new files have been placed into your game's data directory.</li>
    <li>Once this has completed, Wrye Bash will present a dialog box with a list of files that are new or changed.
    You can select and deselect files to be included in the BAIN package at this point. It is advisable to exclude
    log files and other non-essential files from the final BAIN package.</li>
    <li>Click OK when you are ready to build the package.</li>
    <li>You will now be prompted for a name for your package. Enter a name and confirm.</li>
    <li>Wrye Bash will then create the package and run a final CRC scan on the newly created BAIN package to add
    it to the installer manifest. This will take a few seconds depending on the speed of your computer and the size
    of the data being packaged.</li>
    <li>The resulting BAIN package can be found at the bottom (highest number) of your package order on the Installer tab. You can then uninstall, reinstall, or anneal the file as you would any other regular uncompressed BAIN package.</li>
</ul>
<p>Usage Notes
<ul>
    <li>When naming your new BAIN package it is safest to avoid spaces in the name (e,g. use underscores between words) as the created BAIN package is written to an actual folder on your hard drive.</li>
    <li>This functionaltiy can only be used with Mod Organizer when Wrye Bash is launched from &nbsp;inside MO. See <a href="https://github.com/wrye-bash/wrye-bash/wiki/Wrye-Bash-and-Mod-Organizer" target="_blank">this wiki article</a> for more information on integrating Wrye Bash with Mod Organizer.</li>
    <li>When installnig mods via Nexus Mod Manager, it is recommended that you install the mod via NMM first, then before closing NMM, complete the monitoring session. Create the BAIN package, then switch back to NMM and uninstall the mod. You can then close NMM. Switch back to Wrye Bash then uninstall and reinstall the mod. This ensures the mod is cleanly installed and therfore able to be cleanly uninstalled.</li>
</ul>


<h3 id="bain-commands">Context Menu Commands</h3>

 

But also at the start of the Advanced ReadMe :

        <li><a href="#bain-bcf">BAIN Conversion Files</a>
        <li><a href="#bain-monitor">Monitor External Installation</a>
        <li><a href="#bain-commands">Context Menu Commands</a>
    </ol>
    <li><a href="#mods">Mods Tab</a>
    <ol>
        <li><a href="#mods-exclusion">Exclusion Groups</a>
        <li><a href="#mods-details">The Plugin Details Panel</a>
        <li><a href="#mod-masters-symbols">Color scheme for Plugin Masters (MI &amp; Current LO)</a>
        <li><a href="#mods-csv">CSV Files</a>
        <li><a href="#mods-commands">Context Menu Commands</a>
    </ol>
    <li><a href="#patch">Advanced Bashed Patch</a>
    <ol>
        <li><a href="#patch-view">Viewing &amp; Editing The Bashed Patch</a>
        <li><a href="#patch-tags">Bash Tags</a>
        <li><a href="#patch-filter">Merge Filtering</a>
        <li><a href="#patch-iim">Item Interchange Mode</a>
        <li><a href="#patch-tweaks">Tweak Options In Detail</a>
        <li><a href="#patch-csv">Default CSV Files</a>
        <li><a href="#patch-lists">Leveled Lists</a>
    </ol>
</ol>
<ol start="6" style="float:left;margin-top:0;">
    <li><a href="#saves">Saves Tab</a>
    <ol>
        <li><a href="#saves-overview">Overview</a>
        <li><a href="#saves-symbols">Color scheme for Save Game Files</a>
        <li><a href="#saves-masters-symbols">Color scheme for Save Game Masters (MI &amp; Current LO)</a>
        <li><a href="#saves-profiles">Save Profiles</a>
        <li><a href="#saves-face">Face Import</a>
        <li><a href="#saves-commands">Context Menu Commands</a>
    </ol>
    <li><a href="#screenshots">Screenshots Tab</a>

 

Aswell as adding the link to the new Monitor External entry, shifted Saves tab to the next column, and have that column start with number 6

 

Editing : .. Will re-edit this post in a minute, but basicly wanted to say reference the wording of Higher / Lower, its better to use the words Earlier / Later with regards Install and Load Orders, because they directly relate to the numerical order rather than Visually Higher or lower which can be confused depending upon how the user has the order column set. Earlier / First, Last / Later .. These words work better

Edit : .. Will follow this with a different post

Share this post


Link to post
Share on other sites

So we're on the same boat - can you link me to the finished product, may use your wording ?

All the best with your issues at home !

 

Edit: wow we even named the id the same ("bain-monitor") - there's a reason I call you errrr - Alt3rn1ty :P

 

Share this post


Link to post
Share on other sites
2 minutes ago, Utumno said:

So we're on the same boat - can you link me to the finished product, may use your wording ?

All the best with your issues at home !

 

Just grab the code box, thats it done with a bit of rewording and typo correction (they actually work on this forum ;) .. See the scroll bar at the bottom, if you drag select all the text the text outside the scrolling box will also be highlighted for copying).

And thank you

Share this post


Link to post
Share on other sites
14 minutes ago, Utumno said:

one correction:  BodySlide is a utility used to create custom bodies and armor to fit these bodies, as well as from armors by third-parties to a custom body. -> ?

From what I understand the BodySlide tool is a tool for both modders and players, so perhaps add a link to the BodySlide tool since it now has a separate Nexus page.

Edited by Leonardo
Link added

Share this post


Link to post
Share on other sites
1 hour ago, Utumno said:

Thanks @alt3rn1ty - I uploaded the changes you made on utumno-wip on github merged with mine, please use that version so I can diff - https://github.com/wrye-bash/wrye-bash/archive/utumno-wip.zip

one correction:  BodySlide is a utility used to create custom bodies and armor to fit these bodies, as well as from armors by third-parties to a custom body. -> ?

Reference Bodyslide - Yep thats correct from what I understand of Bodyslide. You can have custom body meshes and generate all vanilla armour and clothing to fit those body meshes (so you get a heap of armour and clothing output as loose meshes into data), or you can feed it custom armour and clothing (instead of vanilla armour and clothing) and have those adjusted by bodyslide to fit a custom body or vanilla body .. and I think you can output custom body meshes too - Basicly a lot of permutations are possible I think.

------------------------------

I just spent a couple of hours now directly editing the Advanced Readme from 307 WB WIP Standalone, and just about to start on the General Readme .. Because you said you wanted the files linked instead of using the code boxes, to which I got no response so I went for doing the whole files again (and there have been a fair amount of changes since I made the code boxes).

If I still upload those can you still just diff the finished thing or will that now complicate what you have already done .. And do I now need to start again with the newer files you have on github (none of this is automated for me, I am using Notepad++ and manually editing everything) ??? that would mean all the work I just did would be wasted. And probably the same for yourself would have been wasted too :(

I did say in this post that I was doing them, and asked if you had included all edits before now in the latest WIP readmes

Share this post


Link to post
Share on other sites

@Utumno Here's the done General and advanced readme's https://www.dropbox.com/s/e2qhfuuvde8rvvb/Docs.7z?dl=0

Some of it might not work with what you have already edited.

 

I am now looking at re-doing all the ReadMe Images (mopy \ bash \ images \ readme \ *.*) - Using the 307 WB WIP Standalone

Are there going to be any new additions to any menus in the near future

I am not going to include any new People related images

But maybe the BSA Tab is pending which may affect quite a few images so needs waiting for ?

Share this post


Link to post
Share on other sites
6 hours ago, Utumno said:

@Beermotor as you see I had to edit to conform to the style of the bash readme's quite a bit (note the tags used) - keep that in mind for next time - it did take me some time that could have gone to coding ( I think I can squeeze just a couple secs out of monitor external ) - thanks anyway :)

I'll try my best. Worst-case scenario if I keep munging the formatting I'll beg a template from one of you.

So I've been doing a deep dive into Wizard scripting lately by following Alt3rn1ty's awesome Wrye Bash guide and using his and Metallicow's examples.  Just out of curiosity, what was the WizBAIN project and TES4WizBAIN?  I ran into it while I was digging around in the Oblivion Nexus for learning materials and it piqued my interest. .

Share this post


Link to post
Share on other sites

IIRC WizBAIN was going to be an addition to Wrye Bash on the Installers tab, to help make BAINs and wizards, but it felt kind of shoehorned in / out of place in the way it was implemented. Metallicow was developing it, but it wasn't helping Wrye Bash at all at the time which needed serious bug fixing as number 1 priority. And although it was a clever idea it was eventually decided it just didnt fit, so was removed from the code.

Otherwise WizBAIN was also Metallicows collective term for BAINs with Wizards

TES4WizBAIN I think was a similar thing to what would have been implemented in Wrye Bash, but as a separate utility, page is hidden

 

PS if you see any old links on Nexus which fail, copy the file number into the newer Nexus URL so, for example Metallicow linked TES4WizBAIN in his description as ..

http://www.nexusmods.com/games/?id=37511

becomes ..

http://www.nexusmods.com/oblivion/mods/37511/?

Share this post


Link to post
Share on other sites

Thanks @alt3rn1ty I am currently going through the readmes you posted me and merging your changes with mine. Now because I am OCD and because I don't want anything to be lost from your (or Beermotor's) efforts I will go very carefully through - please wait till I finish so you can edit the final readme's with screenshots (no new items for 307 but you know something may  turn up). Btw I use pycharm for editing those readmes (as I use for python, see wiki article). In general in the future however please edit the latest available readme and link me to that. Thanks :)

 

Meanwhile I uploaded a new python wip version that contains some edits in the core of BAIN - I would like users of the python wip to test following:

 

Monitor External Installation
Pack to Archive
Unpack to Project(s)
Copy Conflicts to Project

 

to see if anything broke

EDIT: I posted those readmes but I am still not satisfied, I intend to further edit those last edits - anyway if you want to add screenshots or change anything use those - will leave them alone for now. Thanks!

 

(latest python code is always at https://github.com/wrye-bash/wrye-bash/archive/utumno-wip.zip )

 

Share this post


Link to post
Share on other sites

I'm thinking of adding certain bash tags for my mod and I wonder if any bash tags can preserve discovered map markers in-game when upgrading my mod.  Can bash tags do that, preserve discovered map markers?

What bash tag I think that could be useful is the C.Location bash tag. 

CRF has these {{BASH:C.Location,C.Owner,C.RecordFlags,Delev,Graphics,Invent,Names,Stats}} bash tags

Share this post


Link to post
Share on other sites

Uh, what? No, bash tags can't do whatever you mean by preserving discovered map markers.

The C.Location flag is there to preserve location data on cells when multiple mods are editing the same cell, just like the C.Water tags and such have always worked.

Share this post


Link to post
Share on other sites

A bit of testing this morning on the 20170610 WIP py build.

Monitor External Installation - Working as expected. No errors encountered while using the CK, SSEEdit, and BodySlide.
Pack to Archive -  No issues
Unpack to Project(s) - No issues
Copy Conflicts to Project  - Initial test encountered bugcheck. Cleared temp dir, tested again: replicated.  Enabled debug and tried the same project again while tailing ./BashBugDump.log in a Winux terminal, saw bugcheck go to log. This time python and 7zip took a deep-dive and WB became unresponsive (angry_bash.png) but project completed with all files present.

angry_bash.thumb.PNG.429be3320a1b7dcc546cbf8496e25a63.PNG

 

Attempted again on a smaller mod that   (Vanilla Skyrim and Dragonborn billboards Redone) only conflicted with one uncompressed mod. Bugchecked again and wrote to log, but the project folder it created had the expected folders present, but did not contain any of the terrain LODGen files expected.

I've attached the BashBugDump.log to this post.

The only other thing I've noticed about this build, and it is likely already know, is on launch the window does not remember its last window size, but does remember it's location.

 

Beermotor_BashBugDump.log

Share this post


Link to post
Share on other sites

Good catch with the position, will see what I can do

Fixed
Traceback (most recent call last):
  File "bash\balt.py", line 2494, in __Execute
    self.Execute()
  File "bash\balt.py", line 1605, in _conversation_wrapper
    return func(*args, **kwargs)
  File "bash\basher\installer_links.py", line 758, in Execute
    do_refresh=True)
TypeError: refresh_installer() takes at least 4 arguments (5 given)

 

in latest wip (this is not the 20170610 build by the way it's just the 307 bleeding edge python wip, thanks for posting the bugdump, it's much helpful)

 

The other traceback unfortunately and the reason the files did not appear is that paths in conflicts project are too long. Now that's a serious limitation I am not sure how I should go about fixing. Hmmmm

Share this post


Link to post
Share on other sites

I havent used the Drag-n-drop for a while, so the dialogue you get asking whether you would like to move or copy is new to me - Its a very nice idea. Quite often I download a file and wish to put it into Bash Installers and then have to come back to delete the download .. Choosing Move it is nice.

But, minor cosmetic issue, it looks a bit stretched vertically :

 

0000.png

Share this post


Link to post
Share on other sites

@Utumno  I just tested with the 6/10 WIP build and it seems to have improved the speed significantly for "Copy Conflicts to Project". I still got a bugcheck for the Enhanced Landscapes port, but by all indications it got all of the files.  I've attached the dump to the post.  I'm mainly posting it because it may be the same issue you mentioned regarding the paths being too long. I figured you would want to take a look at it regardless.

I also tried the drag and drop functionality and in my case the window was a bit smaller. 

drag_n_drop_bash.PNG.669359a4c29743b272204946701bd111.PNG

I'm running the latest releases of all of the Win32 Python goodies. I can provide my specific versions and Python environment variables if needed.

 

 

BashBugDump.log

Share this post


Link to post
Share on other sites
On 6/8/2017 at 3:15 PM, alt3rn1ty said:

IIRC WizBAIN was going to be an addition to Wrye Bash on the Installers tab, to help make BAINs and wizards, but it felt kind of shoehorned in / out of place in the way it was implemented. Metallicow was developing it, but it wasn't helping Wrye Bash at all at the time which needed serious bug fixing as number 1 priority. And although it was a clever idea it was eventually decided it just didnt fit, so was removed from the code.

Otherwise WizBAIN was also Metallicows collective term for BAINs with Wizards

TES4WizBAIN I think was a similar thing to what would have been implemented in Wrye Bash, but as a separate utility, page is hidden

Very interesting. I can see how it would be sort of hard to integrate.  It was a clever idea and I wish I could take a look at the code because I had this crazy idea of hacking at it to make it read FOMOD XML.

But writing BAIN Wizards has been surprisingly enjoyable for me. I've got about 25 years of writing *nix shell scripts under my belt so learning the syntax was fairly easy. I've done about ten of them so far for mods that had wonky folder structures (FOMOD sick) but I've got one now that is driving me nuts.

In this case,  this mod has three ESP files in a single folder named "4 patches". The FOMOD logic detects the presence of the mod esps for these patches and installs them accordingly.

In the BAIN wizard, I'm using 'GetEspmStatus > 1' to detect if the mod is available, then I'm using 'SelectEspm' in an attempt to select the individual ESP out of that '4 patches'  folder.

The wizard script looks like this (and I'm going to give away which mod I'm writing this for):
 

	Case "Cutting Room Floor Patch"
		SelectEspm '4 Patches\\RLO - CRF Patch.esp'
	Break

But Wrye doth protest:
 

Quote

 

An error occurred in the wizard script:
Line 77:            SelectEspm '4 Patches\\RLO - CRF Patch.esp'
Error:    (Line 77, Column 48): Espm '\4 Patches\RLO - CRF Patch.esp' is not a part of the installer.

 

 

 

So far I've tried escaping the path and prefixing the path to tell it the folder is off the package root, but I'm fairly certain it won't work because the interpreter expects ESP files to always be in the root of the package/project. I thought I would ask in case there's a better way to do this that I'm overlooking due to being a noob.

 

 

Share this post


Link to post
Share on other sites
On 6/11/2017 at 11:01 PM, Arthmoor said:

Sorry it took so long but here's a few SSE saves for you to look at. So far as I can see, Bash is able to display all of the data for them just fine.

 

Saves.7z

Saves2.7z

Thanks ! We now need saves for the rest of games - I've got couple by alt3rn1ty for FO4 (will have a look at the stretched window). @Beermotor can't look at this now - be sure to follow the rules for package structure - subpackages with esps _are_ allowed - but subpackages, so make this into a complex project ?

Share this post


Link to post
Share on other sites
15 hours ago, Beermotor said:

Very interesting. I can see how it would be sort of hard to integrate.  It was a clever idea and I wish I could take a look at the code because I had this crazy idea of hacking at it to make it read FOMOD XML.

But writing BAIN Wizards has been surprisingly enjoyable for me. I've got about 25 years of writing *nix shell scripts under my belt so learning the syntax was fairly easy. I've done about ten of them so far for mods that had wonky folder structures (FOMOD sick) but I've got one now that is driving me nuts.

In this case,  this mod has three ESP files in a single folder named "4 patches". The FOMOD logic detects the presence of the mod esps for these patches and installs them accordingly.

In the BAIN wizard, I'm using 'GetEspmStatus > 1' to detect if the mod is available, then I'm using 'SelectEspm' in an attempt to select the individual ESP out of that '4 patches'  folder.

The wizard script looks like this (and I'm going to give away which mod I'm writing this for):
 


	Case "Cutting Room Floor Patch"
		SelectEspm '4 Patches\\RLO - CRF Patch.esp'
	Break

But Wrye doth protest:
 

So far I've tried escaping the path and prefixing the path to tell it the folder is off the package root, but I'm fairly certain it won't work because the interpreter expects ESP files to always be in the root of the package/project. I thought I would ask in case there's a better way to do this that I'm overlooking due to being a noob.

Have you tried to put the patch into a separate subpackage like '4 Patches\\CRF - CRF Patch.esp' instead of having the '4 Patches\\RLO - CRF Patch.esp' line in a BAIN Wizard?

Share this post


Link to post
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

Support us on Patreon!

Patreon
×
×
  • Create New...