2026-04-23T00:27:41 discord.gg/FjUWZvxdTy 2026-04-23T00:38:02 *** ChanServ sets mode: +v OpenMW-bridge 2026-04-23T12:47:45 I got the idea from modding Starfield recently that all my loose files might be making my OpenMW stutter more. So I removed all my loose file graphics mods and my game's performance is so much better. Should modders be packing everything into archives instead? 2026-04-23T13:09:44 I remember years ago Tamriel Data used to come in an archive but they stopped and now only offer loose file downloads, was there any reason for that other than noob users having difficulty registering BSAs? 2026-04-23T13:46:44 Yes. TES3's BSA format sucks. It's alright in OpenMW, but a right pain in Morrowind.exe 2026-04-23T13:48:01 Is there any documentation on how Morrowind's BSA format works and how OpenMW handles it differently to Oldwind? UESP only has limited information and I couldn't find anything in the OpenMW documentation on it. 2026-04-23T13:52:40 If you look at the format description there's two things to take note of: the 32 bit int used for file offsets (limiting the total BSA size to around 4GB at best) and every file having a hash. In the original engine that offset is either a signed int or the API they're using is constrained to 2GB files. Possibly both. Windows support for larger files might postdate Morrowind. The hash algorithm is trash so collisions are 2026-04-23T13:52:41 likely. OpenMW simply ignores the hashes, but the original engine uses them to fetch files. So if you want to use a BSA on that engine, you have to make sure every file in it has a hash that's unique across all BSAs the user has... which you can't really guarantee because you don't know what other mods they might be using so in practice you just end up checking the vanilla BSAs and hoping for the best 2026-04-23T13:54:27 The way to go is basically to just pack everything into Skyrim Special Edition type BSAs, but that obviously only works if you don't need to care about Morrowind.exe support 2026-04-23T13:58:32 Sneaking in Windows variant of our file API isn't using the right calls to support files larger than 4GB, so we probably don't get any benefits of BA2 over the SSE format Sneaking out 2026-04-23T13:59:26 Speaking of which. Can't we get rid of all that and use std::filesystem on all platforms? 2026-04-23T14:00:36 I think we looked into it at some point and something was slower than using each platform's native API, but I don't know if that was after we switched to C++17. 2026-04-23T14:10:53 Oh does OpenMW have full support for SSE archives? I would absolutely go down that route if it was available. I haven't really been paying attention to support for the later games 2026-04-23T14:11:15 They work 2026-04-23T14:14:27 Well, it's time for me to get experimentin' 2026-04-23T14:46:42 The original reasoning for the bespoke API is that C++ streams have overhead over raw POSIX/Windows API calls due to having certain guarantees raw APIs don't provide, and apparently this hasn't really changed over the years 2026-04-23T14:47:34 Originally C++ streams were straight up used on all platforms 2026-04-23T14:49:52 I may have become the first person ever to pack Tamriel Data into a Skyrim archive. It remains to be seen if this will have the performance benefits I want to see if I do my entire load order but I am willing to sit here for the next couple hours to try. 2026-04-23T14:49:53 https://cdn.discordapp.com/attachments/262662689489158145/1496885827903426722/screenshot057.jpg?ex=69eb8310&is=69ea3190&hm=b58421026f0d57e7bd19b62d83fe8ac3e5c0a17806017e37b749c5c3bc95c546& 2026-04-23T14:51:28 Sorry to burst your bubble, but I beat you to it by a month or so 2026-04-23T14:51:36 Gawdamit 2026-04-23T14:51:47 <.arrean> And were there any benefits? 2026-04-23T14:52:41 Yes... in terms of what I wanted to accomplish. Dunno if it improved runtime performance, though. I didn't benchmark it 2026-04-23T14:53:11 <.arrean> Fair 2026-04-23T23:28:15 Reporting back after archiving a ton of mods and playtesting - it made a huge difference. My game runs buttery smooth now. I even got a little carried away and unpacked and repacked the base game BSAs in Skyrim's format. Not sure of the utility of this in smaller modlists but for a giant modlist like mine it's night and day difference.