EpitomyofShyness Posted April 13, 2016 Posted April 13, 2016 Ok I was doing the route that markdf explains on how many strings per mod. Immersive Wenches = 50 Hateful Wenches = 110 Deadly Wenches = 0 Forgotten Wenches = 25 I will try to add those mods on spreadsheet. Already added them in. Thanks for testing them out and posting your results.
merryMalfunctioning Posted April 15, 2016 Author Posted April 15, 2016 The postprocessor is about halfway to a working proof-of-concept. I hope to post a prototype by Sunday. :-)
Twycross448 Posted April 17, 2016 Posted April 17, 2016 The current version of the "Captured Dreams Shop" mod from here (version 3.84) seems to be a heavy hitter as well. In my test, it upped my stringscount by roughly 2k.
merryMalfunctioning Posted April 18, 2016 Author Posted April 18, 2016 For anyone interested, here's an update on the status of my tool. It can successfully load, disassemble, edit, and rewrite PEX files (compiled scripts). It can strip out docstrings. It can remap all local variables in a script. It can remap all function parameters in a script. It can remap function names. It can remap property names (but not the corresponding ESP file entries). Still to do: Remap state names. Build a list of function names to NOT remap. Figure out what the heck to do with Script Fragments. Edit ESP files. Add a user interface of some sort. Long term goals: Automatically rewrite scripts to use JContainers. I'm pretty sure it's possible. :-)
crusher Posted April 18, 2016 Posted April 18, 2016 That's awesome. If an MO plugin, this pex management could get handled 'virtually' in virtual file structure. Any pex in MO gets updated; a plugin to create the .json co-save dynamically. Suppose, just adding these re-map mechanics to skse co-save, or an additional skse co-save, might be the clearest path. SKSE source code available?
merryMalfunctioning Posted April 18, 2016 Author Posted April 18, 2016 That's awesome. If an MO plugin, this pex management could get handled 'virtually' in virtual file structure. Any pex in MO gets updated; a plugin to create the .json co-save dynamically. Suppose, just adding these re-map mechanics to skse co-save, or an additional skse co-save, might be the clearest path. SKSE source code available?It's neither an MO plugin nor an SKSE plugin. It's a program that loads a set of compiled scripts, changes some of the strings (like function names and property names) so that they are reused, and then makes sure that they are all consistent with each other. It will then output a "patch" consisting of patched ESP files and patched PEX files.
Earen Posted April 18, 2016 Posted April 18, 2016 For anyone interested, here's an update on the status of my tool. It can successfully load, disassemble, edit, and rewrite PEX files (compiled scripts). It can strip out docstrings. It can remap all local variables in a script. It can remap all function parameters in a script. It can remap function names. It can remap property names (but not the corresponding ESP file entries). Still to do: Remap state names. Build a list of function names to NOT remap. Figure out what the heck to do with Script Fragments. Edit ESP files. Add a user interface of some sort. Long term goals: Automatically rewrite scripts to use JContainers. I'm pretty sure it's possible. :-) Won't it may cause property name conflicts (base script property name vs derived script property name)? Also, if you ever going to use JC, look at domain feature, I think it's more that wise to use separate domain to store string arrays.
merryMalfunctioning Posted April 18, 2016 Author Posted April 18, 2016 Won't it may cause property name conflicts (base script property name vs derived script property name)? Also, if you ever going to use JC, look at domain feature, I think it's more that wise to use separate domain to store string arrays. If the base script and derived script are both being processed, they'll receive different names for their properties. If the base script isn't being processed, then a conflict is nearly impossible. If the derived script isn't being processed, it will stop working completely -- but that's expected, and represents a misuse of the tool.
FoxFingers Posted April 19, 2016 Posted April 19, 2016 I'm going through the process of Re-Stringing my own mod, which is a decent size quest mod I guess. It's currently on your spreadsheet at 350 strings or so, and I imagine I'll cut that number in half, anyway, when it's done. Point being it's completely counter intuitive. The code goes from being self documenting because, naturally, you name things so you know what it is. It turns into a mess the developer must document with comments to know what the same named things are doing at any point in time. I don't know that I would hold out a lot of hope many modders would go through that. I was just curious, myself, the minimum number of strings I could get by with. It's fairly unnatural, though, to develop that way.
merryMalfunctioning Posted April 19, 2016 Author Posted April 19, 2016 I'm going through the process of Re-Stringing my own mod, which is a decent size quest mod I guess. It's currently on your spreadsheet at 350 strings or so, and I imagine I'll cut that number in half, anyway, when it's done. Point being it's completely counter intuitive. The code goes from being self documenting because, naturally, you name things so you know what it is. It turns into a mess the developer must document with comments to know what the same named things are doing at any point in time. I don't know that I would hold out a lot of hope many modders would go through that. I was just curious, myself, the minimum number of strings I could get by with. It's fairly unnatural, though, to develop that way. That's precisely why I'm making my re-stringing tool (great name!). The idea is that developers can write whatever works for them, and then users can patch the PEX files if they need to reduce the string count. :-)
D_ManXX2 Posted April 19, 2016 Posted April 19, 2016 or people needs to live with the fact that playing skyrim with less mods active == better.
sidfu Posted April 19, 2016 Posted April 19, 2016 or people needs to live with the fact that playing skyrim with less mods active == better. u do know if every modder had that mindset we wouldnt have such complex mods and would be stuck with mostly texture replacers. so with my tests looks like 50-53k strings a start is perfectly fine depending on the mods used. 53-57k strings is super dependent on the mods but can be safe if not alot of mods that add extra strings as u play are used and anything over 57k at start u looking at 100% of save file not loading eventually. @foxfingers thats perfectly fine. like anything in moodding it should be a choice not manditory.
Veladarius Posted April 19, 2016 Posted April 19, 2016 The current version of the "Captured Dreams Shop" mod from here (version 3.84) seems to be a heavy hitter as well. In my test, it upped my stringscount by roughly 2k. V 3.84 of CD has 878 scripts, the last version of v4 I gave to a few testers had 1600 scripts and that was a month ago. I still run a large number of mods, usually near 250 esp/esm's including a number of sexlab and DD mods in that. My string count typically starts at about 56k and stays at about that point (+/- 2k).
Centrophy Posted April 19, 2016 Posted April 19, 2016 The current version of the "Captured Dreams Shop" mod from here (version 3.84) seems to be a heavy hitter as well. In my test, it upped my stringscount by roughly 2k. V 3.84 of CD has 878 scripts, the last version of v4 I gave to a few testers had 1600 scripts and that was a month ago. I still run a large number of mods, usually near 250 esp/esm's including a number of sexlab and DD mods in that. My string count typically starts at about 56k and stays at about that point (+/- 2k). Do you use any trainwiz mods? I suspect that a lot of strings are added when doing those quests.
Veladarius Posted April 19, 2016 Posted April 19, 2016 The current version of the "Captured Dreams Shop" mod from here (version 3.84) seems to be a heavy hitter as well. In my test, it upped my stringscount by roughly 2k. V 3.84 of CD has 878 scripts, the last version of v4 I gave to a few testers had 1600 scripts and that was a month ago. I still run a large number of mods, usually near 250 esp/esm's including a number of sexlab and DD mods in that. My string count typically starts at about 56k and stays at about that point (+/- 2k). Do you use any trainwiz mods? I suspect that a lot of strings are added when doing those quests. No. This is my entire load order: 00 Skyrim.esm 01 Update.esm 02 Unofficial Skyrim Patch.esp [Version 2.0.7] 03 HearthFires.esm 04 Unofficial Hearthfire Patch.esp [Version 2.0.7] 05 Dawnguard.esm 06 Unofficial Dawnguard Patch.esp [Version 2.0.7] 07 Dragonborn.esm 08 Unofficial Dragonborn Patch.esp [Version 2.0.7] 09 SMPC.esp 0A SMPC Overwrite Fixes.esp [Version erts] 0B Skyrim Project Optimization - Full Version.esm 0C ClimatesOfTamriel.esm 0D daymoyl.esm 0E ApachiiHair.esm 0F ApachiiHairFemales.esm 10 ApachiiHairMales.esm 11 SGHairPackBase.esm 12 JSwords.esm 13 SPIKE.esm 14 3rdEraWeaponsMoS.esm 15 hdtHighHeel.esm 16 Schlongs of Skyrim - Core.esm 17 TravellersOfSkyrim.esm 18 CreatureFramework.esm [Version 1.0.0] 19 Lanterns Of Skyrim - All In One - Main.esm 1A Heels Sound.esm 1B RaceCompatibility.esm [Version 1.60a] 1C SexLab.esm [Version 1.61] 1D Devious Devices - Assets.esm [Version 2.8.3] 1E HentaiPregnancy.esm 1F Children+SoulGems.esm 20 notice board.esp 21 ZaZAnimationPack.esm 22 Complete Crafting Overhaul_Remade.esp 23 SexLabAroused.esm [Version 2.6] 24 Devious Devices - Integration.esm 25 Devious Devices - Expansion.esm 26 HighResTexturePack01.esp 27 HighResTexturePack02.esp 28 HighResTexturePack03.esp 29 Unofficial High Resolution Patch.esp [Version 1.1.7] 2A Uncapped Perks - Combat + Stealth.esp 2B Uncapped Perks - Magic.esp 2C Customizable Camera.esp 2D FNIS.esp 2E iHUD.esp 2F UIExtensions.esp 30 AddItemMenu.esp 31 SkyUI.esp 32 Map Markers Complete.esp 33 Auto Unequip Ammo.esp 34 Nausicaa's Tweaker.esp 35 AOS.esp 36 AOS2_CoT3_1_patch.esp 37 Beautiful Cities.esp 38 The Dance of Death - Ultimate Edition.esp 39 Brawl Bugs CE.esp 3A RaceCompatibilityUSKPOverride.esp 3B Climates of Tamriel Combined.esp 3C Relighting Skyrim Combined.esp 3D Realistic Lighting.esp 3E Realistic Lighting Overhaul - Merged.esp 3F Realistic Lighting Patcher.esp 40 ELE-Interior Lighting Merged.esp 41 ankoENBBETA3.esp 42 TrueStorms.esp 43 TrueStorms-ClimatesOfTamriel.esp 44 AmazingFollowerTweaks.esp 45 Lanterns Of Skyrim - All In One - Climates of Tamriel - lvl-1.esp 46 Lanterns Of Skyrim - All In One - RLO.esp 47 Purewaters.esp 48 AMatterOfTime.esp [Version 1.00] 49 SMIM-Merged-All.esp 4A mcCampingLite.esp 4B Dead Body Collision.esp 4C BetterQuestObjectives.esp 4D BetterQuestObjectives-Dawnguard.esp 4E ERSO 30 - Better Enemy AI Dawnguard&Dragonborn.esp 4F fFastTravelSpeedMult_4.esp [Version 1.0] 50 Guard Dialogue Overhaul.esp 51 People Have Torches.esp 52 Better Sorting Merged.esp 53 RealisticNeedsandDiseases.esp 54 RND_DLCs_Patches.esp 55 SleepTight.esp 56 TTYM - Think to Yourself Messages.esp 57 SkyrimToyStory.esp 58 Convenient Horse Herding.esp 59 My Home Is Your Home.esp 5A BetterMagic_FULL.esp 5B CrimeDecay.esp 5C HearthfireMultiKid.esp 5D HearthfireMultiKid_LastName.esp 5E ItemRewardsForBounties.esp 5F no_essential_COs.esp 60 dD - Realistic Ragdoll Force - Reduced.esp 61 Run For Your Lives.esp [Version 1.0] 62 Skyrim Immersive Creatures.esp [Version v6.5.2a] 63 Skyrim Immersive Creatures - DLC2.esp [Version v6.5.2a] 64 Rebirth Monster.esp 65 Rebirth Monster - SIC Patch.esp [Version v1] 66 BarenziahQuestMarkers.esp 67 TradeBarter.esp 68 When Vampires Attack.esp [Version 1.0.1] 69 Inconsequential NPCs.esp 6A Supreme Fog - CoT.esp 6B Apocalypse - The Spell Package.esp 6C NoHelmet.esp 6D Enchanting Freedom.esp 6E UnlockUniqueEnchantments.esp 6F ApachiiHelmetWigs.esp 70 MarieRose Wig.esp 71 TheEyesOfBeauty.esp 72 AzarHair.esp 73 doahair.esp 74 Hair Physics Project.esp 75 HepsyHair.esp 76 HHairstyles.esp 77 KS Hairdo's.esp 78 MeridaHair.esp 79 numenume Hair.esp 7A OblHairsCombined.esp 7B SGHairPackAIO.esp 7C _NewHair.esp 7D EnhancedCharacterEdit.esp 7E USKP Patcher for RaceCompatibility.esp 7F KS Hairdos - HDT.esp 80 HF-MoveSpouse.esp 81 Brows.esp 82 Skyrim Expanded Loot Tables.esp 83 Craftable and Placeable Havok-enabled Bedrolls .esp 84 12FemaleBrows.esp 85 Unbelievable Grass Two - Ultra Edition.esp 86 Cherry's Eyes.esp 87 mslZaZArachnophobia.esp 88 DeadlyDragons.esp 89 LaFemmeLycana.esp 8A WerewolfPerksExpanded_1.6b.esp 8B Better Vampires.esp 8C Vampirelordroyal.esp 8D BVandRB_Formlist.esp 8E Brevi_MoonlightTales.esp 8F LFox No Werewolf Form Cooldown.esp 90 Scriptless werewolf bonus.esp 91 Iris.esp 92 TravelMounts.esp 93 Clothing & Clutter Fixes.esp 94 Convenient Horses.esp 95 Schlongs of Skyrim.esp 96 SOS - VectorPlexus Regular Addon.esp 97 MF_RadiantProstitution.esp 98 GagSFX.esp 99 SexLabDefeat.esp 9A Children+SoulGemsDragonborn.esp 9B mslDeviousCaptures.esp 9C xazPrisonOverhaul.esp 9D DeviouslyHelpless.esp 9E SC07SexLabRandomAttack.esp 9F SkyrimBound.esp A0 EstrusChaurus.esp A1 SexLab Romance.esp A2 MoreNastyCritters.esp A3 SexLabNudeCreatures.esp A4 SexLabNudeCreaturesDB.esp A5 SexLabNudeCreaturesDG.esp A6 Captured Dreams.esp A7 Deviously Cursed Loot.esp A8 Deviously Cursed Loot Patch For Him.esp A9 Devious Deviants.esp AA NonSexLabAnimationPack.esp AB Devious Devices - Equip.esp AC Alternate Start - Live Another Life.esp [Version 3.1.0] AD xazPrisonOverhaul - Patch.esp AE sr_FillHerUp.esp AF Lanterns.esp B0 Werewolf Loot- Dawnguard version.esp B1 Stormcloaks_n_Guards_with_Face.esp B2 CrossbowsRevamped.esp B3 Populated Lands Roads Paths.esp B4 JSwordsDistributionBalancePlugin.esp B5 TravellersOfSkyrim - Vanilla.esp B6 3rdEraWeapMoS-lvlList.esp B7 3rdEraWeapMoS-rareCraft.esp B8 Lineage 2 Crossbows.esp B9 Book Covers Skyrim.esp BA Craft, Temper, Smelt.esp BB Hothtrooper44_ArmorCompilation.esp BC Hothtrooper44_Armor_Ecksstra.esp BD PrinceandPauper.esp BE Gatti14Yumiko.esp BF XiNafay - Shoes.esp C0 Skyrim_Strap_Ons.esp C1 LadyKdCirclets.esp C2 Piercings_EC.esp C3 Babette.esp C4 Tes4mod.esp C5 tumblr gifts.esp C6 HDT Havok Object.esp C7 TERAArmors_CBBE.esp C8 BAMM.esp C9 BnS Combined Vel.esp CA blessarmors.esp CB HentaisJamellaArmor.esp CC More shiny catsuits.esp CD SamuraiBlades.esp CE Neo's Slave Leia Renewal.esp CF Misc Jewelry.esp D0 TERA Weapons.esp D1 Catsuits and Boots.esp D2 CraftablePantysCBBEv3M.esp D3 HISCwa39.esp D4 CombinedArmorWeaponsGen.esp D5 ElvenWeaponry.esp D6 HSxHorseStablingCities+HF.esp D7 TS_GimpHood.esp D8 Osare Panty.esp D9 Terapack2015.esp DA SOS - B3lisario UNP Addon.esp DB FX117 Chainmail Pack.esp DC TZ_LockingLatexHoods - CD Edition.esp DD SC_Shiny Catsuits - CD Edition.esp ++ FullBootForKKSA.esp ++ LFox Blacksmiths Have Metals.esp ++ Proper Aiming.esp ++ LFox Vendors Have Arrows.esp ++ Steel Bolts For All.esp ++ CD - TeraCBBE Standalone addon.esp ++ DD For Him - Captured Dreams patch.esp ++ CD - Slave Leai renewal addon.esp ++ CD - Skyrim Strapon addon.esp ++ CD - TS Gimp Hood addon.esp ++ CD - D.D. Equip.esp DE Strap.esp DF XiNafay - Kitty Corset.esp E0 DorothyRobes.esp E1 DarkStandalone.esp E2 zzArmormashups.esp E3 LingerieSetCBBE3_2ByNausicaa.esp E4 XPMSE.esp E5 FNISspells.esp E6 Dolls.esp E7 SimplyKnock.esp E8 notice board - dragonborn patch.esp E9 HDTTailsEquipable.esp EA ProType - LC Kore_wa_Zombie_Desu_ka.esp EB CharacterMakingExtender.esp EC mintylightningmod.esp ED MintyLightningMod_COT_Patch.esp EE CCO_SIC_Patch.esp EF FtM_3 - CCOR.esp F0 Devious Devices For Him.esp F1 enb_reference.esp F2 Bashed Patch, 0.esp
Mookeylama Posted April 20, 2016 Posted April 20, 2016 I'm going through the process of Re-Stringing my own mod, which is a decent size quest mod I guess. It's currently on your spreadsheet at 350 strings or so, and I imagine I'll cut that number in half, anyway, when it's done. Point being it's completely counter intuitive. The code goes from being self documenting because, naturally, you name things so you know what it is. It turns into a mess the developer must document with comments to know what the same named things are doing at any point in time. I don't know that I would hold out a lot of hope many modders would go through that. I was just curious, myself, the minimum number of strings I could get by with. It's fairly unnatural, though, to develop that way. That's precisely why I'm making my re-stringing tool (great name!). The idea is that developers can write whatever works for them, and then users can patch the PEX files if they need to reduce the string count. :-) that is a great name! if u need someone to help test it let me know
merryMalfunctioning Posted April 21, 2016 Author Posted April 21, 2016 I'm going through the process of Re-Stringing my own mod, which is a decent size quest mod I guess. It's currently on your spreadsheet at 350 strings or so, and I imagine I'll cut that number in half, anyway, when it's done. Point being it's completely counter intuitive. The code goes from being self documenting because, naturally, you name things so you know what it is. It turns into a mess the developer must document with comments to know what the same named things are doing at any point in time. I don't know that I would hold out a lot of hope many modders would go through that. I was just curious, myself, the minimum number of strings I could get by with. It's fairly unnatural, though, to develop that way. That's precisely why I'm making my re-stringing tool (great name!). The idea is that developers can write whatever works for them, and then users can patch the PEX files if they need to reduce the string count. :-) that is a great name! if u need someone to help test it let me know Just two features to finish before I can post an alpha test version: Automatically updating the ESP files to reflect changes to the scripts. A simple command line interface for testing. Reading and writing ESP files is harder than I expected... which is weird, because I assumed that read PEX files would be the hard part (but it's actually super easy).
slvsaris Posted April 22, 2016 Posted April 22, 2016 I'm going through the process of Re-Stringing my own mod, which is a decent size quest mod I guess. It's currently on your spreadsheet at 350 strings or so, and I imagine I'll cut that number in half, anyway, when it's done. Point being it's completely counter intuitive. The code goes from being self documenting because, naturally, you name things so you know what it is. It turns into a mess the developer must document with comments to know what the same named things are doing at any point in time. I don't know that I would hold out a lot of hope many modders would go through that. I was just curious, myself, the minimum number of strings I could get by with. It's fairly unnatural, though, to develop that way. That's precisely why I'm making my re-stringing tool (great name!). The idea is that developers can write whatever works for them, and then users can patch the PEX files if they need to reduce the string count. :-) that is a great name! if u need someone to help test it let me know Just two features to finish before I can post an alpha test version: Automatically updating the ESP files to reflect changes to the scripts. A simple command line interface for testing. Reading and writing ESP files is harder than I expected... which is weird, because I assumed that read PEX files would be the hard part (but it's actually super easy). See if mator will lend a hand.
merryMalfunctioning Posted April 23, 2016 Author Posted April 23, 2016 that is a great name! if u need someone to help test it let me know I actually do need some testers. The tool itself isn't quite ready for alpha testing... but some of its parts work. I tested those parts on the Skyrim base scripts, and created a patch for the main game. This patch requires you to have the following things installed: Skyrim Legendary Edition SKSE 1.7.3 Unofficial Skyrim Legendary Edition Patch 3.02b Mod Organizer The patch should be installed using Mod Organizer, and placed right below the Unofficial Patch. The Restringer patch has no ESP files, just scripts. :-) Start a new game with the Restringer patch installed, see how it functions, look for weird behaviour (that wasn't there before), etc. Try it with lots of mods, or try it with just a few mods. It shouldn't make any difference since it only patches the base game. If you're satisfied that the game is working relatively normally, create a few savegames and check the string count. Hopefully you will see some improvement... RestringerSkyrimPatch.7z
zippy57 Posted April 23, 2016 Posted April 23, 2016 I can't speak for playability, but as for string count... Without Restringer With Restringer So "some" improvement = understatement. (Other possible things of note: ess save drops in size by 0.6MB, skse gains 11KB) EDIT: Original post has the screenshots mislabeled. Whoops.
toastman3 Posted April 23, 2016 Posted April 23, 2016 Anyone know how many strings being female adds?
D_ManXX2 Posted April 23, 2016 Posted April 23, 2016 i was wondering if too much strings also could cause the the random crashes from happening in skyrim ?? if so then this should also fix the random crashes ??
Monoman1 Posted April 23, 2016 Posted April 23, 2016 Seems substantial! Vanilla load order. DLC + SkyUI + Alternate start. Without patch: 28,500. With patch: 6,656. Yikes. I also can not vouch for functionality at this time but I'm hoping to start a new play through soon and will use the patch for it. I'm curious though as how no esp file is needed?
spoonsinger Posted April 23, 2016 Posted April 23, 2016 Seems substantial! Vanilla load order. DLC + SkyUI + Alternate start. Without patch: 28,500. With patch: 6,656. Yikes. I also can not vouch for functionality at this time but I'm hoping to start a new play through soon and will use the patch for it. I'm curious though as how no esp file is needed? It's extremely clever script mangling(*) via redirection to reduce the probette, so no need for an esp. (forgive me if I'm wrong, but it's a really well done achievement in any case) (*) Yes I know it's not mangling if you find the term offensive.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.