Jump to content

Recommended Posts

Posted

Slight bug.

I do not use C: as my game Drive. I use D: I don't use default files structures.

I went to run your patch and received the error. 

 

"Could not create output directory:

C:\program files (x86)\Mod Organizer\Mods\RestringerPatch"

 

Figured you would like to know.

I can work around it. I will be testing your restringer a lot as I am waiting on BBL 6.0 to complete my modded skyrim.

 

NM I started digging into the config file. I see how it works. Time to see how much I can break skyrim. :)

 

Posted

NM I started digging into the config file. I see how it works. Time to see how much I can break skyrim. :)

As soon as I add the BSA parser (so that you don't have to unpack your BSAs), a proper GUI is next on my list. :-)

 

Really useful tests that I'd like to see happen:

  • Interesting NPCs: see if the NPC dialogue and quests work, check string count.
  • Campfire + Frostfall + Wearable Lanterns: see if they work correctly.
  • Big quest mod like Wyrmstooth, Falskaar, or Beyond the Reach: see if they work correctly, check string count.
  • Amorous Adventures: see if it works, checks string count.

 

Posted

 

 

 

I can't seem to get the patch for sexlab to work on a new save game with Jcontainers 3.3 alpha. It just messes up my MCM menu and I notice some performance issues afterwards.

 

make sure u usseing the sexlab patch and not the alpha string test he  posted ealier. they are 2 differnt things.

 

Yep, the one in the opening post.

 

 

Did you install it into a savegame that already has Sexlab installed? It only works for new saves, or existing saves that have never had Sexlab installed.

 

Figured it out. Apparently Violens has files overwriting the new Jcontainers. I just moved Jcontainers after it in MO and it works now.

Posted

God damn it. Had a reply done up and my internet connection crapped out while posting it so I lost some of the exact figures I had. 

The selection of string heavy mods on my laptop is poor and I've not got time to check functionality right now but

 

Cerwiden -330 ish strings

Mrissi -150ish strings

Captured Dreams -1,500ish strings

 

Slaverun Before: 31,678. After: 31,159. Delta: -519

 

Looks pretty damn good. If you ever change your stance on donations mark I'd like to buy you a few drinks :)

Posted

Looks pretty damn good. If you ever change your stance on donations mark I'd like to buy you a few drinks :)

 

I only accept payment in handjobs. Until someone figures out a way to send those through paypal, I'll guess I will be working for free. :-)

 

Seriously though... I'm not averse to accepting a donation or two. What technology are people using for donations these days? I've never received a donation for anything before. A steam gift card number might work. But it's really not necessary, I do this because I love Skyrim and I want to be able to play with as many mods as I want -- and I want y'all to be able to do it too. 

Posted

Some fun figures:

 

post-434567-0-36140300-1461767121_thumb.png

 

Pretty massive reductions all round except for Solutions (still reasonable though, not sure why it's different). I've still not tested functionality beyond checking the MCMs which look fine and initializing frostfall, which again seemed to work just fine. 

One thing I've noticed about the restring app - If you add a folder to the jsonsettings file that has no scripts the app will hang. 

 

Question: Do string names overlap so that string count reduction is going to increase the more restringed mods are installed in a sort of cascading effect?

 

Edit: Attempted to answer this question myself and installed all of the above mods at once. In theory, if string reduction rate is flat then total string increase when all mods are added should be 3753 (Total of "Strings Added After Restring" column from pic). 

 

Without Mods: 31320

With Patched Mods: 34054

Strings added: 2734. 

 

Looks like string reduction does indeed increase. Nice. 

 

(ffs, I spent longer trying to paste a table to the forum than I did testing mods  :dodgy: )

Posted

Some fun figures:

 

attachicon.gifUntitled.png

 

Pretty massive reductions all round except for Solutions (still reasonable though, not sure why it's different). I've still not tested functionality beyond checking the MCMs which look fine and initializing frostfall, which again seemed to work just fine. 

 

That's some great data, thank you.

 

 

 
One thing I've noticed about the restring app - If you add a folder to the jsonsettings file that has no scripts the app will hang. 

 

I've fixed that in my code... I think.

 

 

 

Question: Do string names overlap so that string count reduction is going to increase the more restringed mods are installed in a sort of cascading effect?

 

Edit: Attempted to answer this question myself and installed all of the above mods at once. In theory, if string reduction rate is flat then total string increase when all mods are added should be 3753 (Total of "Strings Added After Restring" column from pic). 

 

Without Mods: 31320

With Patched Mods: 34054

Strings added: 2734. 

 

Looks like string reduction does indeed increase. Nice. 

 

(ffs, I spent longer trying to paste a table to the forum than I did testing mods  :dodgy: )

 

Yes, the string names do overlap. Heck, that's the whole reason any of this works at all. :-)

Guest Vendayn
Posted

I tried using Restringer, but its probably too early to use lol. I tried opening it in Mod Organizer, and it never opens...no window nothing. And I have the latest java, though the version I had was a tad bit higher than what Restringer was on. So I just renamed the java folder to match the version Restringer was looking for, and it stopped complaining about not finding the java program (even though I already have it lol)

 

But it still doesn't open. Even if I open directly in the folder, it doesn't open. Maybe cause I have steam installed into a custom folder/drive (I have everything from Steam installed to a drive X), and mod organizer is also in X+custom folder.

 

Or maybe its cause I'm on Windows 10, dunno.

 

I did change the output to the custom Skyrim folder, and added the mod organizer folders to modpath

 

so it looks like this currently

 

  "outputPath": "X:\\Skyrim\\MO MODS\\RestringerPatch",
  "modPaths": [
        "X:\\Skyrim\\Data\\",
        "X:\\Skyrim\\MO MODS\\AHZmoreHUD",
}

 

I didn't want to add every single mod folder to the list, if it wasn't gonna work. Thats too much tedious work for me to find out it doesn't work lol, I'd have a ton of annoying folders to add. Since it seems I'd need to go to every mod folder and add the path to settings by itself. And not every mod I installed was through mod organizer (95% of them were), so I put in the data entry where the rest of them are.

 

Don't want to keep playing my game if its just gonna break down the line, thats kinda bullshit lol. I really want to keep playing Skyrim, but not if its gonna just be a fail game that breaks lol.

 

Also to add. That is probably why my friend's game on his Xbox360 always gets corrupted rofl. He plays 200+ hour games, and eventually they always get corrupted on him.

Posted

ooh! it's operational! thanks Mark!

 

so i have that 1st Sexlab patch right now. is it better to uninstall that and instead run the Restringer on SL? or are the 2 options about equal?

Posted

I don't think running the restringer on sexlab would be a great idea since other mods depend on it - it is a core mod. Restringing it would be complex and prone to error. 

Keep the original animation patch for SL and try using the restringer on more standalone or "end point" mods - mods that have dependencies but other mods do not depend on it. 

Posted

ooh! it's operational! thanks Mark!

 

so i have that 1st Sexlab patch right now. is it better to uninstall that and instead run the Restringer on SL? or are the 2 options about equal?

 

That Sexlab patch does something completely different than what Restringer does. You could theoretically run the Restringer on patched Sexlab for even larger string reductions -- but I don't recommend it.

 

I don't think running the restringer on sexlab would be a great idea since other mods depend on it - it is a core mod. Restringing it would be complex and prone to error. 

Keep the original animation patch for SL and try using the restringer on more standalone or "end point" mods - mods that have dependencies but other mods do not depend on it. 

 

Yes, exactly this -- "end point" mods, that's the perfect term. Mods like "Hydra's Slave Girls" or "A Forsworn Story", mods that are not dependencies of any other mod.

Guest Vendayn
Posted

well, I haven't had luck getting it to work. Put almost every mod folder (including data which has mods too) in the settings file. I didn't include the "core" mods, just the end point ones as suggested...I try to open it and nothing happens. No error, nothing. And I have latest java. A mod folder for this restringer mod appears in my mod organizer mods, but it shows up as empty. Only thing inside the folder is a folder called "strings", but nothing is in it.

 

Maybe its cause my steam is in x drive, and my mod organizer is in a drive this mod doesn't recognize. Or I dunno, maybe its windows 10.

 

Or it could be cause almost every mod I have is in .bsa format, and from reading, the restringer doesn't support that yet. But I have other mods not in .bsa lol.

 

Probably better to wait when things more developed, but I really want to play Skyrim without worrying about this save corruption.

Posted

I tried using Restringer, but its probably too early to use lol. I tried opening it in Mod Organizer, and it never opens...no window nothing. And I have the latest java, though the version I had was a tad bit higher than what Restringer was on. So I just renamed the java folder to match the version Restringer was looking for, and it stopped complaining about not finding the java program (even though I already have it lol)

 

This is just an alpha test version of Restringer, it's still far from complete. I'm just trying to make sure that the basic technologies being used are working correctly. It still needs a GUI, a BSA file parser, consistency checker, and support for conditional variables... not to mention a lot of polish and probably some bug squashing.

 

I am interested in this issue you had about not finding the Java folder... executable Jar files aren't supposed to depend on finding the JRE in any particular place, so long as Java is registered as the default file association for them. There is nothing in the Jar to specify the path to Java or the required version or anything like that. So any details you can provide about this issue would be greatly appreciated.

 

 

 

  "outputPath": "X:\\Skyrim\\MO MODS\\RestringerPatch",

  "modPaths": [

        "X:\\Skyrim\\Data\\",

        "X:\\Skyrim\\MO MODS\\AHZmoreHUD",

}

 

I didn't want to add every single mod folder to the list, if it wasn't gonna work. Thats too much tedious work for me to find out it doesn't work lol, I'd have a ton of annoying folders to add. Since it seems I'd need to go to every mod folder and add the path to settings by itself. And not every mod I installed was through mod organizer (95% of them were), so I put in the data entry where the rest of them are.

 

You absolutely should NOT run it on every single mod you have. It's only meant to be run on a handful of intense string-using mods that do not have any other mods depending on them -- mods like Interesting NPCs or Legacy of the Dragonborn.

 

If you run it on mods upon which other mods depend, without simultaneously patching those dependent mods, I guarantee that your game will not function correctly.

 

If it does turn out that you can run it on your entire installation, then great! But I doubt it will work. It's so far outside of what I intended that I've never even tried it myself... although I'd love to hear about it if anyone gets it to work.

 

Lastly, if you run it on Skyrim's data directory, it will probably do virtually nothing since most of Skyrim's PEX files are hidden away inside of BSA files. If you've extracted them, Restringer will probably sit there and stare at you resentfully while it crunches its way through the 13780 scripts in the legendary edition (+unofficial patch). That's a fuckload of scripts... and my code is written for neither speed nor efficient memory usage. It was written to use pre-existing systems wherever possible and to be simple and not make mistakes... but it was not written to be efficient.

 

I hope that information helps you! :-)

Guest Vendayn
Posted

Thanks :) That does help a lot. I'll have to read more about WHAT I should run this on, though more likely since this is in alpha, I'll probably wait for it to be more complete. I'm pretty excited to use it is all, but patience is a virtue so they say :P

As for java. I had an old java installed (and your mod didn't cause any unable to find java issue with that). However, when nothing seemed to happen...I thought maybe I should update my java

 

JavaSetup8u91

 

is what I got, the latest version. And when I tried running your program, it says when I rename the java folder back to

 

"jre1.8.0_91"

 

it says "Executable "C:\Program Files (x86)/Java/jre1.8.0_77/bin/javaw,exe" not found

 

When I rename the folder to

 

"jre1.80.0_77"

 

no error like that comes up

 

Hope that helps :) I'll definitely be keeping an eye on this thread. Will probably still play Skyrim, but I'll start a new game once things are more developed and figured out. But I'll just have to know my save will eventually hit the string cap.

 

 

Posted

Pretty massive reductions all round except for Solutions (still reasonable though, not sure why it's different).

 

Having worked on it, I was wondering the same, but I think Mark's latest post just shed light on the reason: the restringer doesn't support conditional variables yet. And if there's anything Solutions uses truckloads of, it's conditionals. I'm going through the scripts now and some of these aren't even being used anymore, so I'll see about releasing an update to remove them, because they're just eating up strings for no reason.

Posted

I ran it against my entire load order just to see what kind of reduction was theoretically possible. My starting string count was 58K prior. After it was 24K. More than a little impressive..

 

 

 

Posted

I ran it against my entire load order just to see what kind of reduction was theoretically possible. My starting string count was 58K prior. After it was 24K. More than a little impressive..

 

... did Skyrim still run? What did your papyrus logs look like?

Posted

 

I ran it against my entire load order just to see what kind of reduction was theoretically possible. My starting string count was 58K prior. After it was 24K. More than a little impressive..

 

... did Skyrim still run? What did your papyrus logs look like?

 

 

Yes, Skyrim launched.  I was able to create a character and exit abandoned prison without incident. There were some MCM menus that initialized but never populated with data. I didn't do much testing beyond that. But considering I restringed things like USLEEP and SKYUI its amazing anything worked.

 

http://www.modwat.ch/u/whetstone

 

https://www.dropbox.com/s/p65cl21lhdrjn61/Papyrus.0.log?dl=0

Posted

Yes, Skyrim launched. I was able to create a character and exit abandoned prison without incident. There were some MCM menus that initialized but never populated with data. I didn't do much testing beyond that. But considering I restringed things like USLEEP and SKYUI its amazing anything worked.

 

Indeed. Would it be possible for you to make a list of exactly which mods' MCMs didn't populate? Hopefully it's just the ones that keep their scripts in BSA files. That would be a very positive sign.

 

Halfway finished the BSA parsing code. Not looking forward to doing that again for FO4, so I really hope Bethesda already solved this issue in the new file formats. :-)

 

Anyone want to do a performance test? Preferably someone with a slow, ancient computer. I'm curious if shrinking the string table affects performance. String lookups should be quick regardless of size... but every time a script function starts running, it has to add its local variable names and parameter names to the table, check their uniqueness, and update their reference counts if they aren't unique. My suspicion is that the game may run more smoothly with 30000 strings than it does with 60000.

Posted

 

Yes, Skyrim launched. I was able to create a character and exit abandoned prison without incident. There were some MCM menus that initialized but never populated with data. I didn't do much testing beyond that. But considering I restringed things like USLEEP and SKYUI its amazing anything worked.

Indeed. Would it be possible for you to make a list of exactly which mods' MCMs didn't populate? Hopefully it's just the ones that keep their scripts in BSA files. That would be a very positive sign.

 

Halfway finished the BSA parsing code. Not looking forward to doing that again for FO4, so I really hope Bethesda already solved this issue in the new file formats. :-)

 

Anyone want to do a performance test? Preferably someone with a slow, ancient computer. I'm curious if shrinking the string table affects performance. String lookups should be quick regardless of size... but every time a script function starts running, it has to add its local variable names and parameter names to the table, check their uniqueness, and update their reference counts if they aren't unique. My suspicion is that the game may run more smoothly with 30000 strings than it does with 60000.

 

 

The problem was with my methodology not your program. I re-ran this test this time restringing all the mods in one batch.

 

58000 strings > 27000 strings.

 

This time no issues with any MCM menus.

 

https://www.dropbox.com/s/p65cl21lhdrjn61/Papyrus.0.log?dl=0

Posted

i had a merge about ready to go, which is how i learned of this whole string thing. it put me over the limit. so what's the best way to restring a merge? restring the individual mods before the merge, or merge and  then restring the merge itself?

Posted

 

The problem was with my methodology not your program. I re-ran this test this time restringing all the mods in one batch.

 

58000 strings > 27000 strings.

 

This time no issues with any MCM menus.

 

https://www.dropbox.com/s/p65cl21lhdrjn61/Papyrus.0.log?dl=0

 

There's definitely some badness in that Papyrus log, but it's about what I would expect under the circumstances.

 

i had a merge about ready to go, which is how i learned of this whole string thing. it put me over the limit. so what's the best way to restring a merge? restring the individual mods before the merge, or merge and  then restring the merge itself?

 

I'd recommend waiting until Restringer has been tested a bit more.

 

That said, the best way is probably to restring some endpoint mods, and then merge with the patches in place. If you try to restring the entire merge, you have no control over which components get restringed. That will make it much harder to track down problems if you've restringed something that cannot be restrung.

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...