{"action":"created","issue":{"url":"https://api.github.com/repos/ME3Explorer/ME3Explorer/issues/235","repository_url":"https://api.github.com/repos/ME3Explorer/ME3Explorer","labels_url":"https://api.github.com/repos/ME3Explorer/ME3Explorer/issues/235/labels{/name}","comments_url":"https://api.github.com/repos/ME3Explorer/ME3Explorer/issues/235/comments","events_url":"https://api.github.com/repos/ME3Explorer/ME3Explorer/issues/235/events","html_url":"https://github.com/ME3Explorer/ME3Explorer/issues/235","id":141124339,"number":235,"title":"r742, ModMaker, Install error when DLC isn't unpacked","user":{"login":"giftfish","id":13645804,"avatar_url":"https://avatars.githubusercontent.com/u/13645804?v=3","gravatar_id":"","url":"https://api.github.com/users/giftfish","html_url":"https://github.com/giftfish","followers_url":"https://api.github.com/users/giftfish/followers","following_url":"https://api.github.com/users/giftfish/following{/other_user}","gists_url":"https://api.github.com/users/giftfish/gists{/gist_id}","starred_url":"https://api.github.com/users/giftfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/giftfish/subscriptions","organizations_url":"https://api.github.com/users/giftfish/orgs","repos_url":"https://api.github.com/users/giftfish/repos","events_url":"https://api.github.com/users/giftfish/events{/privacy}","received_events_url":"https://api.github.com/users/giftfish/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ME3Explorer/ME3Explorer/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":{"login":"KFreon","id":7845997,"avatar_url":"https://avatars.githubusercontent.com/u/7845997?v=3","gravatar_id":"","url":"https://api.github.com/users/KFreon","html_url":"https://github.com/KFreon","followers_url":"https://api.github.com/users/KFreon/followers","following_url":"https://api.github.com/users/KFreon/following{/other_user}","gists_url":"https://api.github.com/users/KFreon/gists{/gist_id}","starred_url":"https://api.github.com/users/KFreon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KFreon/subscriptions","organizations_url":"https://api.github.com/users/KFreon/orgs","repos_url":"https://api.github.com/users/KFreon/repos","events_url":"https://api.github.com/users/KFreon/events{/privacy}","received_events_url":"https://api.github.com/users/KFreon/received_events","type":"User","site_admin":false},"milestone":null,"comments":11,"created_at":"2016-03-15T23:08:43Z","updated_at":"2016-03-23T17:32:53Z","closed_at":null,"body":"This directly relates to the new DLC extraction procedure, but I figured it's easiest to create a new issue for this problem, specifically.\r\n\r\nSomething I pointed out prior to the change to extraction was that tools that depend on it should be disabled if the extraction isn't allowed. Not doing this would create problems, which it does.\r\n\r\nHere's what happens if you exit out of the extraction, run ModMaker, then try to run a .mod file that modifies the unextracted DLC:\r\n\r\n![mod_unextracted](https://cloud.githubusercontent.com/assets/13645804/13795538/aae37b6a-eabe-11e5-961a-30a157d39bb4.PNG)\r\n\r\nThe tool will throw the error b/c it can't install to the SFAR, but what's really funny is that it will then proceed to _unpack the SFAR and TOC the DLC_.\r\n\r\nW.t.f.\r\n\r\nYeah, so we created this situation and it's not something we want in place. I supplied multiple suggestions when we first talked about it and they all still apply. We need a better system of checks in place to prevent these issues. Making extraction 100% mandatory was the initial plan, but we're now allowing for exceptions. Exceptions makes things a lot harder to foolproof. I'm open to discussing how to do it, but we are shooting ourselves, users, and modders in the foot if we ignore this before the stable.\r\n\r\nOne example of a solution. If DLC are still packed and the user loads a .mod file that alters DLC, MM should throw an error message. It should say something like...\r\n> \"This .mod contains jobs for an unpacked DLC. Please re-open the toolset and allow for DLC extraction before proceeding. If you permanently disabled DLC extraction in the Advanced Options Menu, you will need to re-enable it to allow for the extraction.\" \r\n\r\nThen, the tool _should not_ allow the .mod to be installed. If we want to give users the option to install other jobs for the base game (or whatever) in that same .mod file, then MM should trigger a slightly different message and act accordingly:\r\n\r\n>\"This .mod contains jobs for an unpacked DLC. Please re-open the toolset and allow for DLC extraction before proceeding. If you permanently disabled DLC extraction in the Advanced Options Menu, you will need to re-enable it to allow for the extraction. **You may also proceed with installation, but this will only affect base game and unpacked DLC files**.\" \r\n\r\n----\r\n**ANOTHER EXTRACTION IDEA**\r\n\r\nI'll throw out one other idea related to extraction, and place it here for convenience. Also see #132 .\r\n\r\nThere are two reasons we wanted to pull out extraction to the forefront of the toolset:\r\n\r\n1. Most of our users install textures, which requires DLC extraction for them to modded.\r\n2. The extraction code is integrated into both ModMaker and Texplorer. Pulling it outside of these two tools and placing it at the _beginning_ as part of the initial toolset setup process makes sense. Most users need to do this before they do anything else.\r\n\r\nHowever, another way we could achieve both of these is via the following:\r\n\r\n1. Remove the initial DLC extraction check and the option to turn it off.\r\n2. Make a new interface/tool, called \"DLC Configurator\" that is placed in the Options Menu.\r\n3. It has the ability to recognize ME3 DLC and displays a list of what's present -- BW and DLC mods.\r\n4. It will extract all DLC with a single click.\r\n5. It it checks for proper DLC format by checking the location of the TOC and ensuring it isn't in the SFAR. It will extract the TOC if necessary. Once _properly_ unpacked the DLC is flagged as \"Active\".\r\n7. I integrate the setup of the new Configurator into the toolset's initial setup on the wiki.\r\n\r\nTo accompany this, ModMaker, TPF Tools, and Texplorer contain an additional menu element:\r\n\r\n>Active ME3 DLC\r\n\r\nClicking on it shows which DLC will be affected by changes and reminds users that _only_ those DLC and the base game will be affected. If a user tries to install something for a DLC that isn't Active, then one simple error message suffices for all situations in all 3 tools:\r\n\r\n>Certain modifications should affect DLC that are currently Inactive. These changes will not be applied. Do you wish to continue? Y/N\r\n\r\nIf the user clicks \"yes\", then all 3 tools ignore any textures/jobs that affect \"inactive\" unpacked DLC. They don't automatically unpack it; they don't do anything. They just act like it isn't there and leave it alone. \r\n\r\nFinally, Texplorer's scanning setup only applies to unpacked, Active DLC, as well. Scanning no longer unpacks things in itself, it only scans what's been unpacked by the Configurator (and what the user tells it to scan). We'd likely need a new check before the initial scan, to be sure folks have done this, so they don't end up just scanning on base game.\r\n\r\nThis is just an idea, but it seems like a more streamlined system with less room for error. Btw, unpacking of individual DLC can stay a \"power user\" feature, native only to DLC Editor 2. We'd need to keep things simple for the configurator, since texture folks can't be mixing extracted and unextracted DLC.\r\n\r\n@KFreon , @MrFob , @SirCxyrtyx , please share your thoughts."},"comment":{"url":"https://api.github.com/repos/ME3Explorer/ME3Explorer/issues/comments/200456249","html_url":"https://github.com/ME3Explorer/ME3Explorer/issues/235#issuecomment-200456249","issue_url":"https://api.github.com/repos/ME3Explorer/ME3Explorer/issues/235","id":200456249,"user":{"login":"giftfish","id":13645804,"avatar_url":"https://avatars.githubusercontent.com/u/13645804?v=3","gravatar_id":"","url":"https://api.github.com/users/giftfish","html_url":"https://github.com/giftfish","followers_url":"https://api.github.com/users/giftfish/followers","following_url":"https://api.github.com/users/giftfish/following{/other_user}","gists_url":"https://api.github.com/users/giftfish/gists{/gist_id}","starred_url":"https://api.github.com/users/giftfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/giftfish/subscriptions","organizations_url":"https://api.github.com/users/giftfish/orgs","repos_url":"https://api.github.com/users/giftfish/repos","events_url":"https://api.github.com/users/giftfish/events{/privacy}","received_events_url":"https://api.github.com/users/giftfish/received_events","type":"User","site_admin":false},"created_at":"2016-03-23T17:32:53Z","updated_at":"2016-03-23T17:32:53Z","body":"FYI, I'm getting this message when I shouldn't. See #140 ."}}