Orphan Attachments 07/31/2018I have been doing some housekeeping lately and I've noticed that I had a lot of orphaned attachments. Attachments get orphaned when the PM or post is deleted without removing the attachment first. Deleting a PM or post does not delete the attachment and the file or image remain on the server. I'd like to ask all members to go through their attachments and delete any attachments you don't need anymore or those that have been orphaned. Where can I get a list of my attachments? Click on your display name in the upper right corner of the forums and pick "My Attachments" from the drop-down list. How can I tell an attachment is orphaned? If the PM has been deleted, you'll see a message like this in your attachment list: Unfortunately there is no message if the post has been deleted, so please check your old posts. We do purge old birthday threads every once in a while. Also some hosted projects have been shut down, so you may have orphaned attachments on one of those locations. Thanks!
Search the Community
Showing results for tags 'obse plugin'.
Found 1 result
saebel posted a topic in ModdingHoping someone with knowledge sees this. So I'm working on revamping my SDR.dll via OBSE's plugin system. I'm trying to improve the overall processing time, get rid of memory leaks, etc., to the best of my ability. Before I get into my problem, I should explain the structure. There are two "Master" arrays used. The first one is the Master COV Map, which uses nested maps to store custom object values. It's structure is as follows: map ["Parent Mod" (string), "Child Refs" (map["BaseRefID" (UInt32), "COV Groups" (map["GroupID" (UInt32), "COV Data Set" (map["Data Key" (string), "Data Value" (num, string, or ref)])])])] The second one is the ModGroup ID Array, which is a simple array to assign an ID (the key) to a Mod Name / Group Name pairing. The Group ID is then used for setting COV values (above) when functions are called to set/get/mod the COVs. It will look like this:  "SDR.esp|Actor Values"  "SDR.esp|Weapon Values"  "SomeOtherMod.esp|Name of the Group" I have already completed the core programming needed to set/get/mod values and to add/create maps on the fly as needed. However, I am concerned about bloat. I have created some clean up processes that removes data from invalid references and mods that are no longer in the active load order. However, they are all done through scripts through the SDR.esm. I would much rather port those features into the SDR.dll to boost performance. I need to be able to loop through all the Master data and remove any Group ID maps, reference maps, and mod maps that are no longer valid or active - removing entries as I go. The Group ID array does not need entries removed, because I don't want the key numbers to shift (that can impact data stored in the active save game). So if a group gets deleted, the entry will be set to "". In the SDR.dll, I'm using the OBSE Array Interface system (PluginAPI.h), which has all the functions I need - except one: there is no method to *remove* a key/value pair!!! If the arrays/maps were just a standard C++ implementation, it would be no problem. But the OBSE Array Interface has a very whacky construct. I've tried tapping into ArrayVar.h/.cpp files to see if I can bypass the OBSE Array Interface and use some of the functions deeper under the hood, but I haven't had any luck. C++ is not my strong suit, and I've come to a dead stop on how to handle this. Suggestions of any kind would be extremely welcome.