Jump to content

Recommended Posts

Posted

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.

Posted

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. :-)

 

Posted

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?  

 

 

Posted

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.
Posted

 

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.

 

Posted

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.
Posted

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.

Posted

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. :-)

Posted

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.

Posted

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).

Posted

 

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.

Posted

 

 

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

Posted

 

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

 

Posted

 

 

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).

Posted

 

 

 

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.

 

Posted

 

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

Posted

I can't speak for playability, but as for string count...

Without Restringer

post-10712-0-03354800-1461391389.png

With Restringer

post-10712-0-31119900-1461391399.png

 

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.

Posted

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 ??

Posted

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? 

Posted

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.

Archived

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

  • Recently Browsing   0 members

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