zilav Posted September 20, 2015 Author Share Posted September 20, 2015 Ah, makes sense. Derp. Although I think it would be pretty easy to adjust the code to not remove those ITM injected records, and more generally to work fine at cleaning when multiple mods are loaded. Cleaning when several conflicting mods are loaded at once will always get mixed results, I don't see any point of fixing anything here. You can never fix stupidity or ignorance anyway Dragonblood 1 Link to comment Share on other sites More sharing options...
Mator Posted September 20, 2015 Share Posted September 20, 2015 Cleaning when several conflicting mods are loaded at once will always get mixed results, I don't see any point of fixing anything here. You can never fix stupidity or ignorance anyway Well UDRs shouldn't change regardless of what mods the user loads. ITMs should be resolvable if you just check what file the master version of the record is in. Link to comment Share on other sites More sharing options...
zilav Posted September 20, 2015 Author Share Posted September 20, 2015 Well UDRs shouldn't change regardless of what mods the user loads. ITMs should be resolvable if you just check what file the master version of the record is in. I don't see anything wrong with the current cleaning process, only the wrong usage of it. ITM cleaning uses the global conflict state initialized by applied filter, don't want to add any additional checks there for no reason. Dragonblood 1 Link to comment Share on other sites More sharing options...
DayDreamer Posted September 20, 2015 Share Posted September 20, 2015 I don't see anything wrong with the current cleaning process, only the wrong usage of it. ITM cleaning uses the global conflict state initialized by applied filter, don't want to add any additional checks there for no reason. While that's true, I remember that the first time I cleaned my main files, I'd tried cleaning them all at once. Had to restore and do it over one-at-a-time. Basically, it's not obvious. Could there be a check, something like I know what I'm doing, when more than 1 active subject is involved? Or only ever clean the 1 active subject, never anything above it? Link to comment Share on other sites More sharing options...
Arthmoor Posted September 21, 2015 Share Posted September 21, 2015 I don't think the code needs to be updated to babysit people who aren't reading the process they're engaging in. Every guide and video on the subject is crystal clear about not loading more than the mod being cleaned. It's been this way since Morrowind and before xEdit even existed, and everyone understood this just fine. Link to comment Share on other sites More sharing options...
Mator Posted September 21, 2015 Share Posted September 21, 2015 I don't think the code needs to be updated to babysit people who aren't reading the process they're engaging in. Every guide and video on the subject is crystal clear about not loading more than the mod being cleaned. It's been this way since Morrowind and before xEdit even existed, and everyone understood this just fine. But extraordinarily time consuming if you have anything near a substantial load order. The time suck for cleaning 250 ESP files individually is absurd. It's not unfeasible (or even difficult) to create an automated cleaning process that could work on an entire load order. Link to comment Share on other sites More sharing options...
zilav Posted September 21, 2015 Author Share Posted September 21, 2015 But extraordinarily time consuming if you have anything near a substantial load order. The time suck for cleaning 250 ESP files individually is absurd. It's not unfeasible (or even difficult) to create an automated cleaning process that could work on an entire load order. Technically you don't need global conflict state of records to clean some mod, only compare records with the last master ones. I suppose that filter is used because of implicit dependecies where xEdit couldn't know the last real "master" to compare with if it is not in the plugin's header, so the global conflict is checked for all loaded plugins. I admit that such situations are quite rare in Skyrim, I personally don't know any though since I'm not modding Skyrim actively. It is more of an Oblivion legacy really, but still the mechanic itself is valid for all games and should not be changed imho. You can modify my ITPO script to remove ITM records instead (compare not with the previous override record, but with the last master override of a plugin) and clean all loaded mods at once without any filtering at all if you are in rush. Dragonblood 1 Link to comment Share on other sites More sharing options...
Kesta Posted September 21, 2015 Share Posted September 21, 2015 But extraordinarily time consuming if you have anything near a substantial load order. The time suck for cleaning 250 ESP files individually is absurd. It's not unfeasible (or even difficult) to create an automated cleaning process that could work on an entire load order. Though you can't clean multiple plugins in the same session, if the plugins aren't inter-dependant, you can run multiple instance of xEdit in parralel to clean multiple files in a short amount of time Link to comment Share on other sites More sharing options...
hlp Posted September 21, 2015 Share Posted September 21, 2015 You can even script the process so all those instances are open at once: Using something along those lines... for %%f in ( *.es? ) do xEdit -CheckForErrors %%f for %%f in ( *.es? ) do xEdit -CheckForITM %%f for %%f in ( *.es? ) do xEdit -CheckForDR %%f Link to comment Share on other sites More sharing options...
Mator Posted September 21, 2015 Share Posted September 21, 2015 Technically you don't need global conflict state of records to clean some mod, only compare records with the last master ones. I suppose that filter is used because of implicit dependecies where xEdit couldn't know the last real "master" to compare with if it is not in the plugin's header, so the global conflict is checked for all loaded plugins. I admit that such situations are quite rare in Skyrim, I personally don't know any though since I'm not modding Skyrim actively. It is more of an Oblivion legacy really, but still the mechanic itself is valid for all games and should not be changed imho. You can modify my ITPO script to remove ITM records instead (compare not with the previous override record, but with the last master override of a plugin) and clean all loaded mods at once without any filtering at all if you are in rush. That's what I was thinking. You can even script the process so all those instances are open at once: Using something along those lines... for %%f in ( *.es? ) do xEdit -CheckForErrors %%f for %%f in ( *.es? ) do xEdit -CheckForITM %%f for %%f in ( *.es? ) do xEdit -CheckForDR %%f That RAM usage though... p_q Link to comment Share on other sites More sharing options...
hlp Posted September 21, 2015 Share Posted September 21, 2015 Works for me Link to comment Share on other sites More sharing options...
GBRPlus Posted September 22, 2015 Share Posted September 22, 2015 HI everybody. Please help me with script. Idea is to change Water level in all worldspace cells if level is 0 for example if 0 than -30000, if not 0 than skip. It is for Oblivion game. Link to comment Share on other sites More sharing options...
zilav Posted September 23, 2015 Author Share Posted September 23, 2015 if Signature(e) = 'CELL' then if not GetIsPersistent(e) and (GetElementNativeValues(e, 'DATA') and 1 = 0) then // exterior temporary cells only if GetElementNativeValues(e, 'XCLW') = 0 then SetElementNativeValues(e, 'XCLW', -30000); Dragonblood 1 Link to comment Share on other sites More sharing options...
GBRPlus Posted September 25, 2015 Share Posted September 25, 2015 if Signature(e) = 'CELL' then if not GetIsPersistent(e) and (GetElementNativeValues(e, 'DATA') and 1 = 0) then // exterior temporary cells only if GetElementNativeValues(e, 'XCLW') = 0 then SetElementNativeValues(e, 'XCLW', -30000 Thanks, I made a similar it works). Where I can look for all script commands? Link to comment Share on other sites More sharing options...
Kesta Posted September 25, 2015 Share Posted September 25, 2015 Thanks, I made a similar it works). Where I can look for all script commands? http://www.creationkit.com/TES5Edit_Scripting_Functions Link to comment Share on other sites More sharing options...
Kesta Posted September 27, 2015 Share Posted September 27, 2015 Is there a technical reason to not have skyrim's ingredients displayed in the "referenced by" tab of their magic effects ? Or just an oversight ? Link to comment Share on other sites More sharing options...
zilav Posted September 27, 2015 Author Share Posted September 27, 2015 Is there a technical reason to not have skyrim's ingredients displayed in the "referenced by" tab of their magic effects ? Or just an oversight ? References information is not built by default for the main master file to speed up loading times. You can do it manually right click -> other -> build reference info Dragonblood 1 Link to comment Share on other sites More sharing options...
Kesta Posted September 27, 2015 Share Posted September 27, 2015 Aah, thanks any way to make it default ? (an argument ? or pressing a key while clicking OK before loading mods ?) Also, question about "hardcoded" stuffs : What about dawnguard's crossbow & vampire lord transformation, or dragonborn's mounted dragons ? Those mechanics aren't in the base game. But say someone doesn't have Dawnguard or Dragonborn, would he be able to have it with a mod ? As far as I understand it, hardcoded stuffs which are in Skyrim.Hardcoded.keep.this.with.the.exe.and.otherwise.ignore.it.I.really.mean.it.dat, and show up under Skyrim.exe in TES5Edit, are actually records injected by the program itself in the record structure of plugins. Since Skyrim.exe is the same no matter which DLC you have, I'm wondering about it. And finally, still about hardcoded stuffs : Can I get Skyrim.exe to load in TES5Edit, without having Skyrim.esm ? Link to comment Share on other sites More sharing options...
zilav Posted September 27, 2015 Author Share Posted September 27, 2015 Aah, thanks any way to make it default ? (an argument ? or pressing a key while clicking OK before loading mods ?) Nope, but you can create hotkeyed script for that if needed. BuildRef(FileByIndex(0)); But say someone doesn't have Dawnguard or Dragonborn, would he be able to have it with a mod ? As far as I understand it, hardcoded stuffs which are in Skyrim.Hardcoded.keep.this.with.the.exe.and.otherwise.ignore.it.I.really.mean.it.dat, and show up under Skyrim.exe in TES5Edit, are actually records injected by the program itself in the record structure of plugins. Since Skyrim.exe is the same no matter which DLC you have, I'm wondering about it. I did not create this file, JustinOther provided it. I assume those are forms shown in CK without any loaded plugins at all. No idea about any hardcoded forms in DLCs. Anyway I'm not sure anyone cares about someone not having DLCs at this point, even USKP went full DLCs only way for future updates. And finally, still about hardcoded stuffs : Can I get Skyrim.exe to load in TES5Edit, without having Skyrim.esm ? It is an ordinary ESP plugin, change extension and load in TES5Edit. Dragonblood 1 Link to comment Share on other sites More sharing options...
Arthmoor Posted September 27, 2015 Share Posted September 27, 2015 I did not create this file, JustinOther provided it. I assume those are forms shown in CK without any loaded plugins at all. This. It's a file that stores form IDs for things that are in the CK with no plugins loaded at all, AND do not have entries listed in the game's master file when it loads. DLC is never a consideration for this because the DLCs are always just large plugin files. Link to comment Share on other sites More sharing options...
lmstearn Posted September 28, 2015 Share Posted September 28, 2015 Anyway I'm not sure anyone cares about someone not having DLCs at this point... Link to comment Share on other sites More sharing options...
Kesta Posted September 28, 2015 Share Posted September 28, 2015 Thanks for the answers. I was more interested in knowing where those mechanics where actually "stored", but seems like I'll have to investigate more on my side if I want to know ^^ Thx for the script tip, I'll put it in my scripted filter so I get all the infos at once Link to comment Share on other sites More sharing options...
zilav Posted September 28, 2015 Author Share Posted September 28, 2015 In Oblivion the presense of Shivering Isle expansion (the only real DLC) is the default assumption nowadays, some mods don't even bother to mention it. Skyrim is 4 years old game which is eternity by modern game industry standards, you should have all DLCs if you are interested in modding and playing it in 2015. Just my imho though. Dragonblood 1 Link to comment Share on other sites More sharing options...
VaultDuke Posted October 3, 2015 Share Posted October 3, 2015 edit: disregard, it's a mesh issue from a custom LOD model. I get an error message from FO3Gen using the latest dev. version 180815 and the LOD is not fully produced. [Wasteland] Generating LOD [Wasteland] Building LOD textures atlas: D:\Steam\steamapps\common\Fallout 3 goty\Data\textures\landscape\lod\Wasteland\Blocks\WastelandObjectsLOD.dds [Wasteland] Saving LODGen data: C:\Users\Stefan\OneDrive\Games\Fallout 3\Tools\FO3LODGen\Edit Scripts\LODGen.txt [Wasteland] Running C:\Users\Stefan\OneDrive\Games\Fallout 3\Tools\FO3LODGen\Edit Scripts\LODGen.exe "C:\Users\Stefan\OneDrive\Games\Fallout 3\Tools\FO3LODGen\Edit Scripts\LODGen.txt" --dontFixTangents --removeUnseenFaces --dontGenerateVertexColors ============================================================ Skyrim Object LOD Generator v0.9 Created by Ehamloptiran and Zilav Updated by Sheson Log started at 17:05 Game Mode: FNV Fix Tangents: False Generate Tangents: True Generate Vertex Colors: False Merge Meshes: True Remove Faces under Terrain: True Remove Faces under Water: True Use HD Flag: True Ignore Materials: False Global scale: 1,00 Specific level: No Specific quad: No Using UV Atlas: C:\Users\Stefan\OneDrive\Games\Fallout 3\Tools\FO3LODGen\Edit Scripts\LODGenAtlasMap.txt Output: D:\Steam\steamapps\common\Fallout 3 goty\Data\meshes\landscape\lod\Wasteland\Blocks Generating LOD for worldspace Wasteland Finished LOD level 4 coord [16, -4] [272/263] Finished LOD level 4 coord [8, -8] [240/240] Finished LOD level 4 coord [4, -16] [160/160] Finished LOD level 4 coord [20, -4] [464/458] Finished LOD level 4 coord [4, -12] [118/118] Finished LOD level 4 coord [0, -8] [42/42] Finished LOD level 4 coord [12, -8] [592/579] Finished LOD level 4 coord [8, -4] [80/80] Finished LOD level 4 coord [16, -12] [80/80] Finished LOD level 4 coord [12, -4] [272/264] Finished LOD level 4 coord [12, -16] [296/274] Finished LOD level 4 coord [0, -16] [1780/1663] Finished LOD level 4 coord [0, -12] [462/462] Finished LOD level 4 coord [16, -20] [468/466] Finished LOD level 4 coord [20, -12] [566/566] Finished LOD level 4 coord [4, -8] [590/569] Finished LOD level 4 coord [4, -16] [1966/1736] Finished LOD level 4 coord [20, 0] [428/428] Finished LOD level 4 coord [12, -8] [3111/2990] Finished LOD level 4 coord [-12, 24] [580/580] Finished LOD level 4 coord [-28, 20] [580/580] Finished LOD level 4 coord [-16, 24] [1160/1160] Finished LOD level 4 coord [-16, -20] [2292/2292] Finished LOD level 4 coord [0, -20] [2156/1982] Finished LOD level 4 coord [12, -12] [3893/3417] Finished LOD level 4 coord [-24, 24] [580/580] Finished LOD level 4 coord [24, 0] [100/93] Finished LOD level 4 coord [4, -12] [10708/9290] Finished LOD level 4 coord [16, -4] [8048/7012] Finished LOD level 4 coord [8, -8] [9867/8419] Finished LOD level 4 coord [20, -4] [5547/4948] Ausnahmefehler: System.ArgumentOutOfRangeException: Der Index lag außerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein. Parametername: index bei System.ThrowHelper.ThrowArgumentOutOfRangeException() bei LODGenerator.LODApp.GetMeshTextures(NiFile file, NiTriShape shape) bei LODGenerator.LODApp.TransformShape(QuadDesc quad, StaticDesc stat, NiFile file, NiTriBasedGeom geom, Matrix44 parentTransform, Single parentScale, Int32 numGeom) bei LODGenerator.LODApp.IterateNodes(QuadDesc quad, StaticDesc stat, Int32 level, NiFile file, NiNode parentNode, Matrix44 parentTransform, Single parentScale) bei LODGenerator.LODApp.<>c__DisplayClass4.<GenerateLOD>b__2(Object state) bei System.Threading.ThreadHelper.ThreadStart_Context(Object state) bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) bei System.Threading.ThreadHelper.ThreadStart(Object obj) Finished LOD level 4 coord [8, -12] [6341/5925] LOD level 4 total triangles 24592 reduced to 23321 Ausnahmefehler: System.ArgumentOutOfRangeException: Der Index lag außerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein. Parametername: index bei System.ThrowHelper.ThrowArgumentOutOfRangeException() bei LODGenerator.LODApp.GetMeshTextures(NiFile file, NiTriShape shape) bei LODGenerator.LODApp.TransformShape(QuadDesc quad, StaticDesc stat, NiFile file, NiTriBasedGeom geom, Matrix44 parentTransform, Single parentScale, Int32 numGeom) bei LODGenerator.LODApp.IterateNodes(QuadDesc quad, StaticDesc stat, Int32 level, NiFile file, NiNode parentNode, Matrix44 parentTransform, Single parentScale) bei LODGenerator.LODApp.<>c__DisplayClass4.<GenerateLOD>b__2(Object state) bei System.Threading.ThreadHelper.ThreadStart_Context(Object state) bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) bei System.Threading.ThreadHelper.ThreadStart(Object obj) Finished LOD level 4 coord [-12, -8] [5276/4007] [Wasteland] Objects LOD generation error: LODGen process error, exit code -532462766 LOD Generator: finished (you can close this application now) not sure if this is something new or a user error on my part. it's my first test at using LODgen. funny enough: i get an error crashed popup from windows after that. if i select different worldspaces though, the program continues running generating LOD for the other worldspaces. Link to comment Share on other sites More sharing options...
zilav Posted October 10, 2015 Author Share Posted October 10, 2015 Uploaded new version. Updated LODGen.exe, new scripting function and fix for immersive citizens mod using MSTT form as a package target. There is also a new option "Show elements count for group records" which will display the number of elements (records and group records) for group records in the Name column. Keep in mind that CELL, WRLD and DIAL records have child group records following them, however xEdit doesn't show them but instead makes those records browsable in the navigation tree when such child groups are present. But they are still counted for the number of elements since they are the real (group)records stored in a plugin inside that group record. For example here 2 cells in subblock but 4 elements shown Dragonblood 1 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now