throwaway219 Posted April 18, 2020 Posted April 18, 2020 Thanks - I checked WER and found that the occasional crash during first load happens at the offset you mentioned. I'll let this run a few days and post back if it helps or still crashes.
Jeff_9 Posted April 19, 2020 Posted April 19, 2020 I haven't had a single crash when loading a save in 2 weeks. Thanks for this
jap2015 Posted April 19, 2020 Posted April 19, 2020 Intriguing, so I installed Bobs bug fixes, uninstalled Continue Game No Crash. Played around in Skyrim for a couple of hours. LoL, My damn Skyrim wont crash. I'll keep trying and see if I get this crash. Thanks for all your contributions, a lot of use appreciate it.
Guest Posted April 20, 2020 Posted April 20, 2020 Thanks for the reports. It looks like patching that single address fixes the issue for everyone, not just me. Also, here is something that will help you fix stretching issues with HDT PE. It will recursively parse all your XMLs and warn you about the ones with maxLinearVelocity and/or maxAngularVelocity having a value other than 255. You can edit those manually as you deem fit. This script requires Python 2 or 3. EDIT: Improved the script to run faster under < Python 3.3 and made the warnings less cryptic. validate.py
throwaway219 Posted April 21, 2020 Posted April 21, 2020 Yep, I haven't had an hdt-related crash when starting the game after installing this fix! Awesome work.
throwaway219 Posted April 21, 2020 Posted April 21, 2020 Incidentally, I just got an HDT crash when waking up a sleeping male by talking to him. Faulting application name: TESV.exe, version: 1.9.32.0, time stamp: 0x51437ce5 Faulting module name: hdtPhysicsExtensions.dll, version: 0.0.0.0, time stamp: 0x53108655 Exception code: 0xc0000005 Fault offset: 0x0000ef30 (Not suggesting it's related to your fix, just that it's a different crash somewhere else)
Guest Posted April 21, 2020 Posted April 21, 2020 32 minutes ago, throwaway219 said: Incidentally, I just got an HDT crash when waking up a sleeping male by talking to him. Faulting application name: TESV.exe, version: 1.9.32.0, time stamp: 0x51437ce5 Faulting module name: hdtPhysicsExtensions.dll, version: 0.0.0.0, time stamp: 0x53108655 Exception code: 0xc0000005 Fault offset: 0x0000ef30 (Not suggesting it's related to your fix, just that it's a different crash somewhere else) Could you attach the SKSE minidump from this crash?
Guest Posted April 21, 2020 Posted April 21, 2020 23 hours ago, throwaway219 said: Thanks, sent over PM. The crash happens for the same reason as TlsGetValue, it calls a function which can return a null pointer, but it doesn't check whether the function has returned a null pointer or not and proceed to dereference it. push ebx // Object refID. mov eax,TESV.exe+51A30 call eax add esp,04 cmp [eax+40],edi // Crashes when EAX is NULL (return value of the function previously called). The function it calls is from Skyrim: TESObjectREFR* __cdecl TESV_51A30(UInt32 refID); Aka, it returns the object reference that has that refID. It then proceeds to check if the parent cell of that object is the expected cell: TESObjectREFR* objReference = TESV_51A30(ebx); // EBX == refID if (objReference->parentCell == edi) // EDI == Expected Cell { ... } else { // Release object reference from HDT. } Since objReference is NULL from your minidump (EAX == 0), objReference->parentCell is going to crash the game. The obvious solution seems to release the object reference from HDT when it's NULL (same behavior as if the object reference is no longer in the expected cell). TESObjectREFR* objReference = TESV_51A30(ebx); // EBX == refID if (objReference != NULL && objReference->parentCell == edi) // EDI == Expected Cell { ... } else { // Release object reference from HDT. } I was not able to reproduce this crash though and this crash has nothing to do with TlsGetValue nor the 0x15E2EC fix. I'll see if I can push this fix today, although LL is becoming more unusable by the day. I had to input captchas 4 times with 2 pages of captchas each just to view the site and then another to login. Apparently I am not human. Might aswell move this fix to Nexus with a throwaway account as to not reveal my identity.
Guest Posted April 22, 2020 Posted April 22, 2020 Released 1.2.0 with a fix for the crash discussed above. Also edited my previous post as to fix some elements of the explanation (formID -> refID, current cell -> expected cell).
Dorito King Posted April 23, 2020 Posted April 23, 2020 On 4/16/2020 at 7:53 AM, Hawk9969 said: It uses NiOverride overlays to replace the default cum applying from SexLab. It allows for better looking effects and placements (mouth, face, chest, vagina and anus vs face/chest, vagina and anus). It's the same as applying those overlays yourself with SlaveTats, but it's done automatically at your configured orgasm event and does not require SlaveTats a all. Reveal hidden contents https://imgur.com/a/nNyXiMm int Function GetSceneCumType(sslBaseAnimation animation) int cumType = CUM_NONE ; First we check the tags for some more specific types. if (animation.HasTag("CumInMouth") || animation.HasTag("EatingCum")) cumType = Math.LogicalOr(cumType, CUM_MOUTH) elseif (animation.HasTag("Facial")) cumType = Math.LogicalOr(cumType, CUM_FACE) endif if (animation.HasTag("ChestCum")) cumType = Math.LogicalOr(cumType, CUM_BREAST) endif if (animation.HasTag("Creampie") || animation.HasTag("VaginalCum")) cumType = Math.LogicalOr(cumType, CUM_VAGINA) endif if (animation.HasTag("AnalCreampie") || animation.HasTag("AnalCum")) cumType = Math.LogicalOr(cumType, CUM_ANUS) endif return cumType EndFunction int Function GetPositionCumType(sslBaseAnimation animation, int stage, int position) int cumType = CUM_NONE int cumID = animation.GetCumID(position, stage) if (cumID < 1 || cumID > 7) return cumType endif if (cumID == 7) cumType = CUM_ALL else if (cumID == 2 || cumID == 4 || cumID == 6) ; Oral, Oral Vaginal, Oral Anal if (animation.HasTag("Boobjob") || animation.HasTag("Titjob") || animation.HasTag("Titfuck")) ; Check for boobjob. cumType = Math.LogicalOr(cumType, CUM_BREAST) else cumType = Math.LogicalOr(cumType, CUM_FACE) endif endif if (cumID == 1 || cumID == 4 || cumID == 5) ; Vaginal, Oral Vaginal, Vaginal Anal cumType = Math.LogicalOr(cumType, CUM_VAGINA) endif if (cumID == 3 || cumID == 5 || cumID == 6) ; Anal, Vaginal Anal, Oral Anal cumType = Math.LogicalOr(cumType, CUM_ANUS) endif endif return cumType EndFunction I've offered it around to some authors (including the author of the textures), but got literally zero replies from them. Is there any chance you could upload the mod without the art assets in it. and then direct ppl to the mod that contains the assets in it. I think that operates within permissible mod practices, Im just asking, if its not doable i understand, but I had to ask cuz WOW that looks F'n Amazing! And thanks for your hard work, I still use HDT PE so stopping crashes is super cool.
gogo2225 Posted April 23, 2020 Posted April 23, 2020 Thanks for the amazing work! Now I can have my hdt-physic enabled follower to stay with me without significant drop on fps.
radech Posted April 24, 2020 Posted April 24, 2020 Thanks for posting source This made me smile in this day and age: if (msg->sender == nullptr || std::strcmp(msg->sender, "SKSE") != 0) return; // We are only listening to SKSE. Ignore everything else.
Guest Posted April 24, 2020 Posted April 24, 2020 On 4/23/2020 at 9:28 AM, Dorito King said: Is there any chance you could upload the mod without the art assets in it. and then direct ppl to the mod that contains the assets in it. I think that operates within permissible mod practices, Im just asking, if its not doable i understand, but I had to ask cuz WOW that looks F'n Amazing! Those textures need to be moved to another directory structure as to not conflict with SlaveTats (SlaveTats considers anything in its directory structure to be managed by it). I've also edited the Facial1 texture for use with the "Cum in Mouth" overlay. Besides all that: Quote Out of principle. Why support those who try to hinder you at every step (Captcha, copyright stupidity, etc)? Sorry. 51 minutes ago, radech said: This made me smile in this day and age: What made you smile?
Guest Posted April 25, 2020 Posted April 25, 2020 12 hours ago, Tyrygosa said: How does it affect your fps? I believe he might be referring to running SMP for the PC and PE for NPCs; If not, it's complete nonsense or he has posted in the wrong thread. This plugin WILL NOT affect your FPS at all. These are merely guards that will execute the same instructions as before under normal conditions or execute an alternate set of instructions under conditions that would cause the game to crash 100% of the time before.
DivinityItself Posted April 25, 2020 Posted April 25, 2020 VirusTotal Reports: SecureAge APEX Malicious BitDefenderTheta Gen:NN.ZedlaF.34106.fu8@aeSs8Xfi It seems to be a false positive. Can we gget resolution on this?
Guest Posted April 26, 2020 Posted April 26, 2020 On 4/25/2020 at 7:03 AM, DivinityItself said: VirusTotal Reports: SecureAge APEX Malicious BitDefenderTheta Gen:NN.ZedlaF.34106.fu8@aeSs8Xfi It seems to be a false positive. Can we gget resolution on this? Not sure if serious, but I'll reply anyway. This is your report: https://www.virustotal.com/gui/file/a2979518cc5e0f8c657c93be8eafb7af55242fd2bb02d76c939f324315e77402/detection Only 2 out of 71 (SEVENTY ONE) reported it as malicious. Those 2 look like shitty antiviruses and I've never heard of them. The source code is FULLY available, you don't need to trust my DLL if you don't want to. You can take a look at the source code yourself and compile it yourself. There is nothing to solve here. It doesn't perform any syscalls that SKSE itself won't perform (GetModuleHandleEx, VirtualProtect, etc), but for some reason they are ok with far more intrusive methods from SKSE. Here is a piece of code that I've written to test LAA on some system that gets reported by far more antiviruses than this plugin: #include <stdlib.h> #include <stdio.h> #include <Windows.h> #define BLOCK_SIZE 1024 void AllocateTest(void) { size_t bytes = 0; printf("Block Size: %u\n", BLOCK_SIZE); do { printf("\rHeap: %u", bytes); bytes += BLOCK_SIZE; } while (malloc(BLOCK_SIZE) != NULL); fputs("\n\nPress any key to continue...", stdout); getchar(); } int main(const int argc, const char** const argv) { UNREFERENCED_PARAMETER(argc); UNREFERENCED_PARAMETER(argv); AllocateTest(); return 0; }
Aki K Posted April 27, 2020 Posted April 27, 2020 Hi. Do you know anything about HDT SMP for skyrim LE? I'm having a frustating crash issue, and I've finally discovered SMP as the source of the problem. I was wondering if maybe you could help me. It's possible I just set up SMP wrong, but just in case I was advised on a solution but don't know anything about scripting and cannot make the solution myself. Let me know if you think you can help (and if you want to help). If not I understand.
Guest Posted April 28, 2020 Posted April 28, 2020 On 4/27/2020 at 11:59 AM, Aki K said: Hi. Do you know anything about HDT SMP for skyrim LE? I'm having a frustating crash issue, and I've finally discovered SMP as the source of the problem. I was wondering if maybe you could help me. It's possible I just set up SMP wrong, but just in case I was advised on a solution but don't know anything about scripting and cannot make the solution myself. Let me know if you think you can help (and if you want to help). If not I understand. No, sorry. I don't even have SMP installed at the moment.
Aki K Posted April 28, 2020 Posted April 28, 2020 Just now, Hawk9969 said: No, sorry. I don't even have SMP installed at the moment. Oh well. Worth a shot. Let me ask something else. I heard it was possible to disable HDT for NPCs but keep it for the player. Do you know how that's accomplished? I don't know that it would apply to my SMP troubles but worth a shot.
Guest Posted April 28, 2020 Posted April 28, 2020 49 minutes ago, Aki K said: Let me ask something else. I heard it was possible to disable HDT for NPCs but keep it for the player. Do you know how that's accomplished? I don't know that it would apply to my SMP troubles but worth a shot. No, never researched that because NPCs are the ones that need physics working when your PC is male. I am also far from an expert on HDT and Havok. This plugin fixes logical programming errors (my area of expertise) and not physics related ones (not my area of expertise). You are better off asking someone else.
Aki K Posted April 28, 2020 Posted April 28, 2020 15 minutes ago, Hawk9969 said: No, never researched that because NPCs are the ones that need physics working when your PC is male. I am also far from an expert on HDT and Havok. This plugin fixes logical programming errors (my area of expertise) and not physics related ones (not my area of expertise). You are better off asking someone else. Ah well. I'll figure it out eventually...I hope.
Guest Posted April 28, 2020 Posted April 28, 2020 Came across another crash related to TlsGetValue returning NULL. I am working on a fix.
bio_mech Posted April 29, 2020 Posted April 29, 2020 21 hours ago, Aki K said: Let me ask something else. I heard it was possible to disable HDT for NPCs but keep it for the player. Do you know how that's accomplished? I don't know that it would apply to my SMP troubles but worth a shot. The way i see it - this can be done is by using some mod like Unique Player/Charmers of the Reach or something that will let you use different meshes for the player and NPCs. Then build HDT or SMP for the player and non PE for all the NPCs. Hope this can help you a bit
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