Jump to content


Photo

MO's overwrite directory -- behavior and technical details


  • Please log in to reply
1 reply to this topic

#1 wolverine2710

wolverine2710

    Mod Author

  • Contributors
  • PipPipPipPipPipPip
  • 441 posts

Posted 31 October 2013 - 04:14 AM

Uhuru in the past searched the whole Nexus MO forum to collect all pieces of information about the overwrite directory and combined those. I called it the definitive overwrite guide, but he doesn't like that phrase so lets just say 'its an FAR above average guide'. It is currently on the S.T.E.P. MO wiki section 'overwrite'.

The Wiki atm is being fleshed out and we are still figuring out what is the best structure and format for it. In my personal vision in the end the overwrite section contains a small explanation of what it does (and a reference to the technical details), the challenges involved and why this means that the overwrite behavior can't be made completely consistent. And then a list which contains for each mod and or tool (for each of the four supported programs by MO) if files generated/changed by it end up in the overwrite directory or not. Or in case of mods like  Elys Meminfo what you can do that the logs do NOT longer show up in the overwrite directory.

BUT being concise and giving all the technical for me is not posible so as I said I would in the wiki ovewrite have a reference to all the technical details. THIS will be it.

I invite everyone to enhance the wiki article. The wiki is NOT the effort of a small limited group of users who edit it but everyone can/should be involved.

When in the future the behavior of the overwrite changes this would also be a good place to mention them. Overwrite can be changed because of changed behavior of tools or because of changed algorithms in MO. Nuff said.


By Uhuru/UhuNuru (STEP/Nexus name).

In Reply to All Overwrite Problem Posts (Too many to list)

Working Correctly
Every change to a mod requires using Overwrite folder it is Mod Organizer's temporary working folder and when the current changes are complete
Overwrite is Empty !!!
Mod Folder is Updated !!!
User Sees Nothing it's All Automated !!!


How this is Done
It uses Windows Move Folder function which gives
“Move From” and “Move To” data for Mod Organizer to know where the Overwrie Data is from

Not Working Correctly
All examples I know of are Mod Organizer working correctly as it's designed to do !!!

The main reason for data being left in the Overwrite folder is Third Party Programs using Copy and Delete Folder rather than Move Folder.
Generally considered good practice so copy can be verified before deletion but for Mod Organizer this is a problem because
No “Move From” Folder data is available using Copy and Delete. The Third Party Program deletes the “From” Folder and Mod Organizer has no idea where it comes from

So it Warns User that the Data is still in Overwrite folder to enable manual moving of Mod Files leaving them in the Overwrite folder is Not Recommended because anything in Overwrite Has Precedance

The Meaning of Overwrite Has Precedance
This is a term Tannin used for a feature that only Mod Organizer has, all other Mod Managers have two main Orders that define Mod Priorities
Load Order which is what BOSS or Bethesda Order Sorting Software (In my opinion a much better name than Better Oblivion Sorting Software) Sorts. This is the same for all including Mod Organizer,
Install Order this Does Not Apply to Mod Organizer
Mod Organizer uniquely has the ability to change this Precedence or Priority override this is what is commonly called a Mod Conflict where whatever is installed Last wins the conflict (you can change this with other managers but only when installing the Mod)
with Mod Organizer this is easily changed by Drag and Drop in your Profile and is indicated by the Priority Column number with highest number winning the conflict and the Overwrite Folder is automatically always the highest priority


Various Tannin's Posts Saying Same things (My Emhasis of Point)

Tannin42' date=' on 20 Nov 2012 - 11:45 AM,said:[/b']
@Apprentice Harper: The files aren't moved, that's pretty much the problem why MO behaves oddly.
    TES5Edit and the CK {a} create a new temporary file then {b} delete the original and then {c} rename the temporary to the original name.
   
An external application like MO or Directory Monitor would have to have a memory so that it can recognize in step {c} that the new filename is the same as the file deleted in {b} and then guess that the intend was for the file from {a} to replace the one from {b}.
    The guessing part in particular is why I shy away from such a solution.


Tannin42, on 21 Dec 2012 - 08:12 AM, said:
    @ess_tachyon: Yes, the overwrite issue should be fixed.
    Regarding files being moved to overwrite: 0.12.x includes a small workaround that I hope will fix this inconvenience. Basically if a file gets deleted and within a few seconds a new file with exactly the same name is created it will be placed in the mod where the file got deleted.
    This way, if you edit an esp in the creation kit or tesvedit, the esp should no longer be moved.
    Of course this doesn't affect files that you already have in your overwrite, those have to be moved to the correct location manually.


Tannin42, on 10 Jan 2013 - 07:11 AM, said:
    @zodden: Yes, bashed batches are supposed to go to the overwrite-folder. There may be a bug in the current version where they go to the actual data directory, I'll investigate that.
    Regarding skse: If you place the skse scripts in the overwrite folder you have to make sure to update them when you update skse, otherwise "interesting" things might happen.
    Also, doing this will prevent any mods from overwriting skse scripts. I assume this is your intend but just keep that in mind if a mod related to skse doesn't work as intended.


Tannin42, on 03 Feb 2013 - 10:37 AM, said:
    @mikegray: My suggestion would be to create a separete mod for each profile and move all the stuff that differs between profiles (bashed patch, the generated fnis files, skyproc stuff) to those. The Overwrite-mod was never intended to be permanent place for files, stuff that ends in overwrite should be moved back to a mod, unfortunately I haven't come up with a good UI for that yet.


Tannin42, on 04 Feb 2013 - 08:42 AM, said:
    @X-buZZ: MO doesn't delete files, "Optimizer Textures" does! What the tool does is create a new compressed texture with a temporary filename, then delete the original texture, then rename the temporary file to the old name. MO has to reroute the temporary file to overwrite because it can't determine which mod it belongs to. When the temporary is renamed in the last step it remains in overwrite.
    MO can only manipulate individual file operations. A lot of things that appear to be one action to the user (like overwrite a file with another) actually end up being multiple ops and MO doesn't know the context in which they happen. Here its (1) create -> (2) delete -> (3) rename. MO acts on each individually. If MO could foresee the future it could now in step (2) that another file will take the place of the original in (3) and thus suppress the deletion to achieve what you suggest. But it can't, so it doesn't.


and Lastly on Mod Organizer Bug Genie Commenting on Closed Feature request #383  -  Local Overwrite Folder

Tannin42, on 16 Sep 2013 - 09:03 PM, said:
    This has been proposed before in Enhancement 202 - Profile-specific overwrite and I have to reject this, but there is a suggested way to handle this: The overwrite folder should always be empty (hence the warning icon if it isn't). Starting from an empty overwrite, generate your files for the current profile, then move everything from overwrite to a new mod like "generatedstuff_profile_default". Enable it only in that profile -> tadaa, your profile-local overwrite folder.


The Bashed Patch is In Overwrite to enable user to Save separate ones for each Profile even though You can't use like other Mods Its easier than making new ones, this applies for FNIS and SkyProc Mods.
The User must Manually organize Profile Specific Versions
Until such time as a better method is found these advanced features will cause the same problems for all multi-profile Mod Managers


Just to repeat

When Overwrite warning is received move the files immediately back to original location that's why the warning is given

Overwrite will stay empty for next use and Mods will have the correct Precedence not be last because they were left in Overwrite


Link to Original Post on Mod Organizer's Nexus Forum

Link to My Post of First Tannin Quote on Mod Organizer's Nexus Forum
which was quote I was looking for when I found the others I found and posted it later in response to this question by wolverine2710

@UhuruNUru. I must find a new hobby it seems, every single line/quote above I have read before since I started using MO midway 2012, not good. It all seems very logical. I´m very interested how you (Mr Holmes) came to your deduction about the ´move to´ and ´move from´ functions.

Tannin then posted some new information about the same post

Tannin42, on 30 Sept 2013 - 5:22 PM, said:
   
In response to post My Post of First Tannin Quote on Mod Organizer's Nexus Forum

   The mechanism (memory + guess) I mentioned in that post has been implemented in the meantime so if you edit an ESP in TES5Edit and save it gets saved to its original location and not to overwrite (as of 1.0.2 or something).
    This works for TES5Edit and probably for the CK, but not for FNIS for example because there step {a} and {c} are done by one process and {b} is done by another so the memory of the deletion {b} is not available during rename {c}.

    I know this doesn't provide a very consistent behaviour, I'd love to make it all perfectly intuitive but - well - reality is a *censored*.

In addition as wolverine2710 said in post I'm replying to there is new functionality but the facts above are not altered by this
Drag and Drop is what it says
Create Mods from Overwrite Folder this is I assume for Bashed Patch mainly.
If the files are already from a existing mod they should be moved back to that mod (FNIS for example) which is the [b]Sync to Mods
function I think

My understanding is these functions just make it easier for users by automating these processes but being new features they have not been fully documented yet and I have no experience with them so there may be more to it!

Hope this makes Overwrite folder less of a mystery, it is only used when required and most of the time you will not even see anything left in Overwrite folder, but when you do it is a because Mod Organizer either does not know where it's from or you need to choose where to put it.
  • 0

#2 wolverine2710

wolverine2710

    Mod Author

  • Contributors
  • PipPipPipPipPipPip
  • 441 posts

Posted 03 November 2013 - 03:09 AM

I have added a 'Overwrite strategies' section. Atm is merely points to the exact location on the nexus MO forum where to find these strategies. Strategies are suggested by  GSDFan, Raygereio , Tannin and Wolverine2710. Personally I (wolverine2710) like the suggesting by GSDFan although tehnicalyy speaking your aren't using profiles any longer. At a later stage these strategies will be placed on the wiki a restructured/condensed form. If you have an alternative strategy , then please post it here or edit the wiki.
  • 0


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users