rasta013 Posted May 1, 2016 Share Posted May 1, 2016 6 hours ago, Crzyrndm said: Ok, I think I fixed both the issue with disappearing bulkhead profiles and this random crash with the self destructing part module (blame stock for that one...). If I could get some verifications... Note to self, avoid PartModuleList.Contains(string moduleName / int id) like the plague @Crzyrndm As near as I can tell this has solved the issue. All my filter extensions are back and seem to be working properly. I don't see any errors popping up in the output_log either. Great job as always and thanks so much for quick response in getting this fixed. You rock! Link to comment Share on other sites More sharing options...
Kerbas_ad_astra Posted May 1, 2016 Share Posted May 1, 2016 6 hours ago, Crzyrndm said: Ok, I think I fixed both the issue with disappearing bulkhead profiles and this random crash with the self destructing part module (blame stock for that one...). If I could get some verifications... Note to self, avoid PartModuleList.Contains(string moduleName / int id) like the plague I concur with rasta -- it works for me. It might also be good to summon @Papa_Joe as well to look at your commit that fixes the issue, since CLS throws a similar error. Link to comment Share on other sites More sharing options...
Ald Posted May 2, 2016 Share Posted May 2, 2016 On 30.04.2016 at 7:11 AM, AccidentalDisassembly said: Don't have a log with FE debugging enabled, but I do seem to be having some sort of conflict between FE and some other mod. I don't believe this happens on stock (not when I tried it on pure stock, anyway). Several mods in my install are somehow messing up (1.1.1, not all updated, something like that). If it's helpful, here's a log: Log: https://dl.dropboxusercontent.com/u/59567837/output_log_filtext.txt (Maybe?) relevant bit: I do have the same problem. On a vanilla (or with few mods) there are no problems with regular filter configuration. But with a lot of mods (or just one particular that messes things up) I get this in my output_log: Quote [Filter Extensions 2.5.0.0]: (Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64) NullReferenceException: Object reference not set to an instance of an object at PartModuleList.Contains (Int32 classID) [0x00000] in <filename unknown>:0 at PartModuleList.Contains (System.String className) [0x00000] in <filename unknown>:0 at FilterExtensions.Core.getPartData () [0x00000] in <filename unknown>:0 at FilterExtensions.Core.Awake () [0x00000] in <filename unknown>:0 UnityEngine.GameObject:Internal_AddComponentWithType(Type) UnityEngine.GameObject:AddComponent(Type) AddonLoader:StartAddon(LoadedAssembly, Type, KSPAddon, Startup) AddonLoader:StartAddons(Startup) AddonLoader:OnLevelWasLoaded(Int32) (Filename: Line: -1) It messes the categories and doesn't filter parts by mod folder names (as shown on the pictures): http://imgur.com/a/HZndN Log file: https://dl.dropboxusercontent.com/u/24969834/ksp_filter_extensions/output_log.txt Link to comment Share on other sites More sharing options...
Deimos Rast Posted May 2, 2016 Share Posted May 2, 2016 FYI: your conversion of the icons to .dds seems to have 'inverted' a few of them (for lack of a better term), or at least the backgrounds of them. I'm thinking of mainly the ScienceParts icon off the top of my head. The picture on the left is the old PNG and the right is the new DDS. In game the background of the DDS is pressed in and dark in contrast to the surrounding icons (I can get a screenshot of that as well if you need it later, but my game is currently not in a working state). Don't get me wrong, I like the memory savings and such and prefer the DDS standard; it's just something seems to have happened in the translation. Not really an area I have any real knowledge of but I'll try running them through the DDS4KSP app and see if I get any better results. Link to comment Share on other sites More sharing options...
Crzyrndm Posted May 2, 2016 Author Share Posted May 2, 2016 (edited) 52 minutes ago, Ald said: I do have the same problem. On a vanilla (or with few mods) there are no problems with regular filter configuration. But with a lot of mods (or just one particular that messes things up) I get this in my output_log: It messes the categories and doesn't filter parts by mod folder names (as shown on the pictures): http://imgur.com/a/HZndN Log file: https://dl.dropboxusercontent.com/u/24969834/ksp_filter_extensions/output_log.txt You don't have the latest version. 14 minutes ago, Deimos Rast said: FYI: your conversion of the icons to .dds seems to have 'inverted' a few of them (for lack of a better term), or at least the backgrounds of them. If you find any like that I can revert icons easy enough. There was a few other odd things I had to fix in the zip I was given as well Edited May 2, 2016 by Crzyrndm Link to comment Share on other sites More sharing options...
Ald Posted May 2, 2016 Share Posted May 2, 2016 Used the 2.5.0 from the official channel of distribution. You mean I should try the one dll file? I'm curious with which mod it did crash on regular 2.5.0 and I'm pretty close on narrowing it down from a ton of mods. Link to comment Share on other sites More sharing options...
Crzyrndm Posted May 2, 2016 Author Share Posted May 2, 2016 (edited) oh that's right, I didn't make any release. Sorry about that. Yes, the 1 .dll on the previous page will fix your issue Edited May 2, 2016 by Crzyrndm Link to comment Share on other sites More sharing options...
Ald Posted May 2, 2016 Share Posted May 2, 2016 Oh... so I guess I don't need to go deeper with checking which mod messed up with Filter Extensions Thank you for your work and a lifesaver mod (for modaholics like me). Cheers! Link to comment Share on other sites More sharing options...
Honeybadga Posted May 3, 2016 Share Posted May 3, 2016 FE is not showing up in my editor at all in 1.1.2. Using latest MM v2.6.24 Link to comment Share on other sites More sharing options...
dlrk Posted May 3, 2016 Share Posted May 3, 2016 Just now, Honeybadga said: FE is not showing up in my editor at all in 1.1.2. Using latest MM v2.6.24 Same here Link to comment Share on other sites More sharing options...
Crzyrndm Posted May 3, 2016 Author Share Posted May 3, 2016 And how am I supposed to help you... Link to comment Share on other sites More sharing options...
dlrk Posted May 3, 2016 Share Posted May 3, 2016 (edited) I'll post my log tomorrow, I was assuming it was known issue with 1.1.2 Edited May 3, 2016 by dlrk Link to comment Share on other sites More sharing options...
Honeybadga Posted May 3, 2016 Share Posted May 3, 2016 9 minutes ago, Crzyrndm said: And how am I supposed to help you... Apologies. Here's a log. Link to comment Share on other sites More sharing options...
danfarnsy Posted May 3, 2016 Share Posted May 3, 2016 (edited) I've got two weird bugs going on with FE that I'm trying to narrow down. I'm running KSP 1.1.2, Windows 64 bit. Under FE 2.5.0, with KSP 1.1.2 and MM 2.6.24, nearly every non-stock category disappears (except for Extraplanetary Launchpads, which is odd that it sticks around EL doesn't use FE... a clue?). Also, KSP doesn't properly exit from the main menu and I have to force it to exit. I wouldn't suspect this second part to be a FE issue except that it goes away when this version of FE is not installed. Here's the screen capture for this case. Using your updated dev .dll (from both simply replacing the .dll from FE 2.5.0 or from completely downloading your dev master folder and copying the contents of /GameData), I have an entirely different set of issues. All the editor categories now show up properly, and the game no longer has any issues with exiting from the main menu. But as soon as I click on one category, the game throws a NRE and the editor pages cease updating when I click on any additional categories. That is, if I click on "structural" items first, it update the parts list on the side with the structural elements, but then clicking on "fuel tanks," "engines," etc. no longer updates the parts list and it still shows structural parts. Here is the relevant excerpt from my log: Spoiler [EXC 21:50:02.950] NullReferenceException: Object reference not set to an instance of an object PartModuleList.Contains (Int32 classID) PartModuleList.Contains (System.String className) FilterExtensions.Utility.PartType+<>c__DisplayClass2.<checkModuleName>b__0 (System.String s) System.Linq.Enumerable.Any[String] (IEnumerable`1 source, System.Func`2 predicate) FilterExtensions.Utility.PartType.checkModuleName (.AvailablePart part, System.String[] value, Boolean contains) FilterExtensions.ConfigNodes.Check.checkPart (.AvailablePart part, Int32 depth) FilterExtensions.ConfigNodes.Filter+<>c__DisplayClass4.<checkFilter>b__3 (FilterExtensions.ConfigNodes.Check c) System.Linq.Enumerable.All[Check] (IEnumerable`1 source, System.Func`2 predicate) FilterExtensions.ConfigNodes.Filter.checkFilter (.AvailablePart part, Int32 depth) FilterExtensions.ConfigNodes.customSubCategory+<>c__DisplayClass7.<checkFilters>b__6 (FilterExtensions.ConfigNodes.Filter f) System.Linq.Enumerable.Any[Filter] (IEnumerable`1 source, System.Func`2 predicate) FilterExtensions.ConfigNodes.customSubCategory.checkFilters (.AvailablePart part, Int32 depth) FilterExtensions.Utility.PartType.checkSubcategory (.AvailablePart part, System.String[] value, Int32 depth) FilterExtensions.ConfigNodes.Check.checkPart (.AvailablePart part, Int32 depth) FilterExtensions.ConfigNodes.Filter+<>c__DisplayClass4.<checkFilter>b__3 (FilterExtensions.ConfigNodes.Check c) System.Linq.Enumerable.All[Check] (IEnumerable`1 source, System.Func`2 predicate) FilterExtensions.ConfigNodes.Filter.checkFilter (.AvailablePart part, Int32 depth) FilterExtensions.ConfigNodes.customSubCategory+<>c__DisplayClass7.<checkFilters>b__6 (FilterExtensions.ConfigNodes.Filter f) System.Linq.Enumerable.Any[Filter] (IEnumerable`1 source, System.Func`2 predicate) FilterExtensions.ConfigNodes.customSubCategory.checkFilters (.AvailablePart part, Int32 depth) FilterExtensions.ConfigNodes.customSubCategory.<initialise>b__4 (.AvailablePart p) UniLinq.Enumerable+<CreateWhereIterator>d__209`1[AvailablePart].MoveNext () System.Collections.Generic.List`1[AvailablePart].AddEnumerable (IEnumerable`1 enumerable) System.Collections.Generic.List`1[AvailablePart]..ctor (IEnumerable`1 collection) UniLinq.Enumerable.ToList[AvailablePart] (IEnumerable`1 source) EditorPartListFilterList`1[AvailablePart].GetFilteredList (System.Collections.Generic.List`1 list) KSP.UI.Screens.EditorPartList.RefreshPartList () KSP.UI.Screens.EditorPartList.Refresh () KSP.UI.Screens.EditorPartList.Refresh (State state) KSP.UI.Screens.PartCategorizer+<UpdateDaemon>c__IteratorC4.MoveNext () And here is the log itself. How weird is that? Edited May 3, 2016 by danfarnsy finished an unfinished sentence Link to comment Share on other sites More sharing options...
Crzyrndm Posted May 3, 2016 Author Share Posted May 3, 2016 version bump to 2.5.1, basically the same as what I linked 2 days ago (too many reports of the same thing to hold back any longer...) Link to comment Share on other sites More sharing options...
Crzyrndm Posted May 3, 2016 Author Share Posted May 3, 2016 (edited) 4 hours ago, danfarnsy said: And here is the log itself. How weird is that? That's some error you got there (the joys of generic extensions and recursion in concert...). 1) https://github.com/Crzyrndm/FilterExtension/blob/master/GameData/000_FilterExtensions/FilterExtensions.dll?raw=true I've entirely removed all traces of the problematic function this time and created my own replacement for the one place it's required. Hopefully it doesn't have the same issues 2) If that doesn't work, I need to see your MM cache and know which category you clicked on when things exploded Edited May 3, 2016 by Crzyrndm Link to comment Share on other sites More sharing options...
FreeThinker Posted May 3, 2016 Share Posted May 3, 2016 why didn't you release filter extension for KSP 1.1.2? Against what version of KSP did you compile it against? Link to comment Share on other sites More sharing options...
danfarnsy Posted May 3, 2016 Share Posted May 3, 2016 7 hours ago, Crzyrndm said: That's some error you got there (the joys of generic extensions and recursion in concert...). 1) https://github.com/Crzyrndm/FilterExtension/blob/master/GameData/000_FilterExtensions/FilterExtensions.dll?raw=true I've entirely removed all traces of the problematic function this time and created my own replacement for the one place it's required. Hopefully it doesn't have the same issues 2) If that doesn't work, I need to see your MM cache and know which category you clicked on when things exploded The issue briefly showed up again with your updated .dll in a fresh install of FE 2.5.1 (though it waited this time until I placed a root part). Removing and then reinstalling some other mods (which didn't fix it yesterday) seem to have made it go away. Which is weird. Yesterday when I was troubleshooting, there was a Connected Living Space NRE, but removing CLS didn't resolve the issue in the editor (which is why I didn't mention it before). Today, when the issue briefly showed up again, the NRE was again pointing to CLS. I removed CLS, and the issue was resolved. Then I used a test install with just FE (with your linked .dll), MM, and CLS, and the issue would not reproduce! Then I put CLS back in my big unwieldy installation, and the issue also did not appear again! So near as I can figure, today's hiccup was a leftover cache/config issue from yesterday. If the issue shows up again, I'll be sure to test thoroughly. In the mean time, I think it's fixed! Thanks! Normally, I'd have just uninstalled FE and lived without it, but I really hate digging through the utility page when all I'm looking for is batteries. Link to comment Share on other sites More sharing options...
dlrk Posted May 3, 2016 Share Posted May 3, 2016 (edited) I reinstalled Filter Extensions, and the function category tabs show up fine now, but when I click on a tab, the parts displayed don't change. Here's the log https://www.dropbox.com/s/qid50jqqc8q22c4/output_log.txt?dl=0 Quote NullReferenceException: Object reference not set to an instance of an object at FilterExtensions.Utility.Extensions.PMListContains (.PartModuleList list, System.String moduleName) [0x00000] in <filename unknown>:0 at FilterExtensions.Utility.PartType+<>c__DisplayClass2.<checkModuleName>b__0 (System.String s) [0x00000] in <filename unknown>:0 at System.Linq.Enumerable.Any[String] (IEnumerable`1 source, System.Func`2 predicate) [0x00000] in <filename unknown>:0 at FilterExtensions.Utility.PartType.checkModuleName (.AvailablePart part, System.String[] value, Boolean contains) [0x00000] in <filename unknown>:0 at FilterExtensions.ConfigNodes.Check.checkPart (.AvailablePart part, Int32 depth) [0x00000] in <filename unknown>:0 at FilterExtensions.ConfigNodes.Filter+<>c__DisplayClass4.<checkFilter>b__3 (FilterExtensions.ConfigNodes.Check c) [0x00000] in <filename unknown>:0 at System.Linq.Enumerable.All[Check] (IEnumerable`1 source, System.Func`2 predicate) [0x00000] in <filename unknown>:0 at FilterExtensions.ConfigNodes.Filter.checkFilter (.AvailablePart part, Int32 depth) [0x00000] in <filename unknown>:0 at FilterExtensions.ConfigNodes.customSubCategory+<>c__DisplayClass7.<checkFilters>b__6 (FilterExtensions.ConfigNodes.Filter f) [0x00000] in <filename unknown>:0 at System.Linq.Enumerable.Any[Filter] (IEnumerable`1 source, System.Func`2 predicate) [0x00000] in <filename unknown>:0 at FilterExtensions.ConfigNodes.customSubCategory.checkFilters (.AvailablePart part, Int32 depth) [0x00000] in <filename unknown>:0 at FilterExtensions.ConfigNodes.customSubCategory.<initialise>b__4 (.AvailablePart p) [0x00000] in <filename unknown>:0 at UniLinq.Enumerable+<CreateWhereIterator>d__209`1[AvailablePart].MoveNext () [0x00000] in <filename unknown>:0 at System.Collections.Generic.List`1[AvailablePart].AddEnumerable (IEnumerable`1 enumerable) [0x00000] in <filename unknown>:0 at System.Collections.Generic.List`1[AvailablePart]..ctor (IEnumerable`1 collection) [0x00000] in <filename unknown>:0 at UniLinq.Enumerable.ToList[AvailablePart] (IEnumerable`1 source) [0x00000] in <filename unknown>:0 at EditorPartListFilterList`1[AvailablePart].GetFilteredList (System.Collections.Generic.List`1 list) [0x00000] in <filename unknown>:0 at KSP.UI.Screens.EditorPartList.RefreshPartList () [0x00000] in <filename unknown>:0 at KSP.UI.Screens.EditorPartList.Refresh () [0x00000] in <filename unknown>:0 at KSP.UI.Screens.EditorPartList.Refresh (State state) [0x00000] in <filename unknown>:0 at KSP.UI.Screens.PartCategorizer+<UpdateDaemon>c__IteratorC4.MoveNext () [0x00000] in <filename unknown>:0 (Filename: Line: -1) Edited May 3, 2016 by dlrk Link to comment Share on other sites More sharing options...
Crzyrndm Posted May 3, 2016 Author Share Posted May 3, 2016 (edited) Doh, of course a null check would be somewhat useful here... Try again, same link. I'm feeling very hopeful this time given that error Edited May 3, 2016 by Crzyrndm Link to comment Share on other sites More sharing options...
dlrk Posted May 3, 2016 Share Posted May 3, 2016 Works fine now, thanks! Link to comment Share on other sites More sharing options...
Crzyrndm Posted May 4, 2016 Author Share Posted May 4, 2016 Yay. 1 more bug down Link to comment Share on other sites More sharing options...
drtedastro Posted May 5, 2016 Share Posted May 5, 2016 That latest fix seems to have fixed the problems that I was seeing as well. Great stuff. Thanks Crzyrndm cheers. Link to comment Share on other sites More sharing options...
Litronius Posted May 5, 2016 Share Posted May 5, 2016 Thanks for your fantastic plugin! However, I found a bug. It breaks the Intermmediate Construction Tutorial. When you get to the "Select the Science Tab to continue", the Next button is always grayed out. It appears it's waiting for another input, that the extension changed. I had to remove the extension folders to fix the problem. Then again, it may break other tutorials where it waits for tab clicking inputs. Link to comment Share on other sites More sharing options...
Crzyrndm Posted May 5, 2016 Author Share Posted May 5, 2016 (edited) Will fix, it's easy enough to detect scenarios/tutorials (although why would anyone be doing basic tutorials with mods installed...?) Edited May 5, 2016 by Crzyrndm Link to comment Share on other sites More sharing options...
Recommended Posts