traison Posted February 25, 2024 Posted February 25, 2024 Just now, Bluegunk said: It does, but it's more likely appearing because it's 'next on the list', unless the house mesh's collisions have some wierd effect. Considering int3 is a breakpoint instruction I'd say there's something weird going on here yes. Either RIP got into debug code where it was never meant to be (most likely as a result of a bytecode edit or a malformed/unexpected piece of game data), or RIP managed to escape out into padding bytes between subroutines (and the compiler used 0xcc as padding). Considering how easy cbp is to disable, I see no reason not to do it. Yes, most likely what's going on with the house is that it was made in say blender, using a nif exporter made by the community that "sort of" mimics the nif format - close enough to work in-game most of the time. You probably found one situation where that not quite so perfect nif doesn't work. If we assume the mod author didn't release a broken mod (i.e. it's working fine for someone else) that means its a combination of things: house + ??? = ctd. So as I see it then, it leaves 2 options: Fix the house. Find the missing part of the equation. Is it cbp? Doubt it, but it sure was making a lot of noise in that crash log and that's all I have to go by.
Bluegunk Posted February 25, 2024 Author Posted February 25, 2024 (edited) OK, thank you. I'll have a poke around that area and see what happens! I removed CBP and still had the crash. Next on the list is tbbmalloc! I think whatever is going adrift is knobbling DLLs in sequence. I tried the house on a clean start and discovered two things: the house is bang on the game border, and once I'd cleared that, I had no crash and could go through the doors which are not animated, just the usual black screen cell transition. Pleased with this I did a circuit of the exterior balcony when - yep it crashed. hkScaledMoppBvTreeShape* once again appears in the log. Looks like a mesh problem and exacerbated by something else in the load order. 🙁 Edited February 26, 2024 by Bluegunk
Bluegunk Posted February 26, 2024 Author Posted February 26, 2024 I don't think this project is worth the time any more. I've been through that mesh set until I've worn myself out. Thank you very much for your help, @Traison. If I can return the favour, do let me know.
traison Posted February 26, 2024 Posted February 26, 2024 (edited) There was another thread with the same hkpSimpleWorldRayCaster and hkScaledMoppBvTreeShape and I recall posting in it, but I can't find it anymore. I don't recall if it had a solution or not. Might still be worth posting that crash log without cbp. Edit: This might be an interesting issue. If you feel like borrowing your computer for a bit: RustDesk. Throw me a PM if this seems reasonable. I think I've been on these forums for long enough to say that my reputation here makes me at least somewhat credible. Edited February 26, 2024 by traison
Bluegunk Posted February 26, 2024 Author Posted February 26, 2024 (edited) 3 hours ago, traison said: There was another thread with the same hkpSimpleWorldRayCaster and hkScaledMoppBvTreeShape and I recall posting in it, but I can't find it anymore. I don't recall if it had a solution or not. That was likely my first trip down trying to fix this, some couple of years ago. So that would have been me! I'm happy to zip and ship files. Sorry, I won't be doing RustDesk. I posted the weird mesh up earlier. The mod can be downloaded here: https://www.loverslab.com/topic/119279-9damao-and-baidu-download-request-thread/page/334/ post by サマエル Posted Friday at 06:55 PM. That's what I was working on! Edited February 26, 2024 by Bluegunk
traison Posted February 26, 2024 Posted February 26, 2024 Downloaded both, presumably the regular version and the "heavy edition". Md5 checksums suggest the files in the 00nanabuilding, 00nanabody and 00nanaarmor were changed between these versions. One of these seem relevant but I assume you've tried both versions and they both crash.
traison Posted February 26, 2024 Posted February 26, 2024 Testing regular (not "heavy edition") version, without your house mesh. Crash when entering the building. Most likely by a texture file: Unhandled exception "EXCEPTION_ACCESS_VIOLATION" at 0x7FF771B7DDDA SkyrimSE.exe+0D6DDDA textures\Actors\00nanaarmor\ore_gold_e.dds Outside seemed fine though. Like you said the building is outside the bounds of the game. Stairs were there too. Gonna poke around some more.
traison Posted February 26, 2024 Posted February 26, 2024 Tested mainbuilding.nif provided by you: no crashing while outside. Same crash when entering building (unrelated). Based on this, gonna have to say it is indeed a combination of mods that's messing you up.
Bluegunk Posted February 26, 2024 Author Posted February 26, 2024 (edited) I thought that is likely, but in fact on a clean new game (only a couple of essential mods) it still crashed. But I had to walk around the building for a few moments before it crashed. A short test would give the impression it is OK, when it isn't. Give it a longer test and mosey on around the verandas! So, I'm not sure if the combo theory is absolutely right. However, extra mods do make the crash occur much further away on approaching the house of doom. I did wonder about the snow cover on the building, if some kind of shader is misfiring. So, I tried it with the snow removed but still had a CTD. Happy crashing!! Edited February 26, 2024 by Bluegunk
traison Posted February 26, 2024 Posted February 26, 2024 (edited) 1 hour ago, Bluegunk said: Give it a longer test and mosey on around the verandas! Just to make sure we're on the same page here, what did you do to get outside the game boundaries here? Without modification, its barely possible to reach the door to open it. Edit: After removing that broken ore texture I got indoors without crashing. Ran around casting spells and activating everything I could find for about 5 mins. All good. When I tried to get ouside however the interior door just teleports me back to the interior of the house. Seems there's no way to actually get out of this thing. Also there's gaps in the floor in some locations. This mod seems a bit.... broken to say the least. Gonna fix the door next, then. Edit again: Or perhaps the "heavy edition" already sorted this out. I saw the esp had been changed as well. Edit again: Nope, "heavy edition" fixes none of this. Right, off to the CK I go... Edit again: After fixing the door and disabling the world borders I got the ctd: Unhandled exception "EXCEPTION_BREAKPOINT" at 0x7FF7718C387F SkyrimSE.exe+0AB387F Its the same crash despite the offset being different - I'm on 1.5.97. Edit again: Moved the house inside the game world. Crashed. Edit again: Walking under the house crashes too. Edited February 26, 2024 by traison
Bluegunk Posted February 26, 2024 Author Posted February 26, 2024 In my clean test game I had to disable the world borders. In my regular game they are disabled anyway due to Bruma, etc. Is that broken ore texture heaped by the dwemer pillar thingy below the house? I noticed that, but put it aside to worry about later. I only used the 'Light' Remastered. On the Baidu web site it is the last dated. I have translated the ESP, by the way, though I need to go back and change a few things. I'm on 1.6.1170, by the way! It is truly the House of Pain. Please - don't waste time on it otherwise you'll be drawn in like I was....never to play Skyrim again. 🥶
traison Posted February 26, 2024 Posted February 26, 2024 The ore texture is part of the outfit the character indoors is wearing. As for the house crash, found the issue I think. Trying to figure out if there's anything that can be done about it with the tools I have here.
traison Posted February 26, 2024 Posted February 26, 2024 (edited) Right, so here's my new theory: The issue is this: https://www.nexusmods.com/skyrim/mods/46273?tab=description The tool there doesn't work anymore, crashes on launch. Not looked into it. Apparently the old ChunkMerge utility made a boo-boo generating mopp instructions that would in some rare cases cause the code to jump to a random memory location - this explains the mopp thing we see in the crash log as well as why RIP ended up pointing at an int3 instruction. The new ChunkMerge utility has apparently fixed this, however the websites for this appear to be down. The DIY solution would thus be to copy the first byte of the mopp instructions and add it to the end of the instructions. This can't really be done with a simple hex editor because its going to offset any data that cames after this by 1, breaking all references. NifSkope won't allow editing of mopp data - increasing the field length by one also breaks references. Edit after solution was found: NifSkope can extract and import the MOPP data. I imagine exporting it to a file and doing the byte edit there then importing it back should work as a DIY solution. I would have chosen this option had I not apparently been too tired to see the export/import options. So, remaining options? PyFFI. The (imo) weird utility that was made to edit various file formats which has a plugin for nifs. Can it edit this specific field of a nif? Can it even save nifs without breaking something else? Don't know. I remember last time I tried to do something with it I didn't have much luck, but I don't remember why - there was a reason why I hacked together a c# app to do the edits for me back then. My utility can't do it either, as it currently only parses the nodes I needed it to. Would have to parse everything to make sure I'm not missing a reference field - i.e. reinvent NifSkope. Edit: I implemented bhkMoppBvTreeShape parsing in my utility and the proposed fix, however as expected, there's things that come after that node and all those references break. Fixing this mod doesn't seem worth it to me. If you can find ChunkMerge for SSE somewhere and post the link I'll reconsider. Edited February 27, 2024 by traison
Bluegunk Posted February 26, 2024 Author Posted February 26, 2024 (edited) Is this version any good: https://www.nexusmods.com/skyrimspecialedition/mods/97986?tab=description ? I can say it plain: I'm so far behind your league you could be talking Klingon. But I'm glad you have an idea of what's gone wrong with this "House of Pain." Edited February 26, 2024 by Bluegunk
traison Posted February 26, 2024 Posted February 26, 2024 (edited) 54 minutes ago, Bluegunk said: Is this version any good It seems to contain all the tools but none of them do anything. I suspect this app is crashing as well, with no error message. Edit: Oh just noticed the readme states it was tested on Windows XP, and the copyright is from 2013. This is most likely the LE version as well. Edit again: Making progress now. It is indeed old - LE era. Edited February 26, 2024 by traison
traison Posted February 26, 2024 Posted February 26, 2024 Right, the previously 100% repeatable crash is now gone and the building still has collisions. I'll let you do proper testing as I now have a headache and I'm off to bed. This mesh is from the "heavy edition" and has had its collisions redone. mainbuilding.nif 1
Bluegunk Posted February 27, 2024 Author Posted February 27, 2024 (edited) Woah! Thank you! 'll give it a try! Well...you have worked a miracle! The NIF is stable as rock. I could fight a dragon (kindly supplied by another mod) from the decks of the house, and enter the "boudoir" and leave it, too. It's cured! (The funny thing, after all that, is the Companion in the mod had Brown Face Bug - but that's easily fixed.) So...what was the issue with the NIF? Hope you get over your headache and I'll look forward to the reveal tomorrow! A huge thank you! Edited February 27, 2024 by Bluegunk
traison Posted February 27, 2024 Posted February 27, 2024 10 hours ago, Bluegunk said: So...what was the issue with the NIF? The MOPP data; collision information. Convert nif to LE format using SSE Nif Optimizer (keep a copy of the original). Do a Chunk Extract using NifUtilsSuite. Remove the bhkCollisionObject node from another copy of the mesh. (keep a copy of the original) Convert the 2nd copy of the mesh to LE format. Do a Chunk Merge using NifUtilsSuite. Give the no-collision mesh the collisions extracted from the 1st copy. Convert resulting nif to SSE format using SSE Nif Optimizer. (optional) Do a checksum of the before and after nifs to make sure *something* changed. The size of the file may already be enough proof. Are all those steps needed? Dunno, that's what I ended up doing in the end and the customer is happy it seems. How did I figure this out? I started breaking the nif apart until the problem went away. Removing the collision data made it impossible to interact with the mesh but the crash was also gone. Then I found the information about ChunkMerge creating invalid MOPP data and suddenly all the puzzle pieces fit to gether, the int3 instruction, the collision data, ... Now that I'm having a quick look at this in NifSkope again I see that it is indeed capable of exporting and importing MOPP data. Maybe that could have been the DIY solution. Certainly would have been faster, had I spotted that before. 1
Bluegunk Posted February 27, 2024 Author Posted February 27, 2024 You reckon Chunkmerge was used on the NIF in the past, causing the original problem? I read that Chunkmerge LE had a bug. Well, I cannot confess to understanding any of what you did, despite reading the Beyond Skyrim Arcane guide to NIFs. I learnt a bit more reading that. Perhaps enough for me to watch out for more issues. But I am a long way from knowing how NIFs work. But every bit of knowledge accumulated is worth it. I'm seriously impressed. I think you are like me: worrying the bone - trying to find out why something won't work!! I could put the fixed NIF up on the Baidu thread - other people have been downloading the mod files that were put up from my request. How would you feel about that? How can I compensate you for your time and interest in this?
traison Posted February 27, 2024 Posted February 27, 2024 (edited) 26 minutes ago, Bluegunk said: worrying the bone - trying to find out why something won't work! Hacker Modder. 26 minutes ago, Bluegunk said: I could put the fixed NIF up on the Baidu thread - other people have been downloading the mod files that were put up from my request. How would you feel about that? Go for it. 26 minutes ago, Bluegunk said: How can I compensate you for your time and interest in this? There's a private fundraiser coming up in a couple of weeks. A charity for animals, cats in particular. There won't be a receipt, so you'll just have to take my word for it. -- however -- I'm not here helping for monetary gain (my own or someone elses) or to gain favors. My reward was learning something about MOPPs, and you being satisfied enough with the result that you now want to share it with others. Edited February 27, 2024 by traison 1
Bluegunk Posted February 27, 2024 Author Posted February 27, 2024 Many, many thanks. We have our own cat, too. I use Majestic mountains and Landscapes. I got to work in the Creation Kit and build a foundation and access for the house. OK, it's a crappy bit of work but I've never done this before and it's been a useful learning experience. Here's a picture! (Please don't laugh too much.) It does actually work! I'll put the NIF up on the Baidu thread plus a couple of notes.
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