Michael-wigontherun / ESLifyEverything

https://www.nexusmods.com/skyrimspecialedition/mods/75248
27 stars 4 forks source link

Compile Error #3

Closed CineManiac93 closed 2 years ago

CineManiac93 commented 2 years ago

Hey, I was instructed to post this on here. The script is from Immersive Interactions as you can see below.

ESLify Compile Error

Immersive Interactions

Michael-wigontherun commented 2 years ago

I need you to send me the source script and your log with the error sent as text through something like https://pastebin.com.

Michael-wigontherun commented 2 years ago

Yey, I need your script. Mine compiled perfectly fine. With skse and skyUI. If you don't have either one of those the MCM script is unimportant and wont do anything in skyrim. It is an MCM for SkyUI.

CineManiac93 commented 2 years ago

Apologies, I deactivated the mod and ran the program again so the log was overwritten. I didn't save it, unfortunately.

I'm not sure if you wanted the script in a pastebin as well.

https://pastebin.com/2cdx1xrF

Michael-wigontherun commented 2 years ago

Its been quarantined which version of Immersive interactions are you using.

CineManiac93 commented 2 years ago

1.67

Michael-wigontherun commented 2 years ago

Ensure that you fix any CompactedModData files outputted by ESLify Everything, there was an error with the import. See the top sticky post on the ESLify Everything's Nexus Page. And try again. If that doesn't fix the issue, are you using 3.3.0? And what SKSE and SkyUI version are you using? It compiled fine on SE's SKSE and SkyUI.

Morribyte commented 2 years ago

I have the mod downloaded so I decided to give it a shot. I got the same error but on a different script (_camp_InstinctsEffects.psc). here's what happened:

The original script has a call to GetFormFromFile(0x0A0AA13), which translates to decimal as 167815699 in the decompiled script, which is the correct number. However, after the compilation failed in ESLifyEverything despite succeeding in PCA (using the non-changed script) I decided to look at the script in the ChangedScripts folder to see if anything was amiss. The number in the CallFormFromFile was 0xa00000813 (42949675027 in decimal), far too large to be an Int32 number.

I also uninstalled and reinstalled all of the required scripts and nothing's different other than ESLifyEverything seems to only take the last 6 digits, ignoring whatever comes before them -- which, if a mod author such as the guy who wrote Immersive Interactions writes the load order slot of the FormID at the time of writing the script ESLify Everything's FormID swapper function seems to mess up. I have no idea why your ESLifyEverything would compile and ours wouldn't though.

I am currently checking to see if anything else could be causing it. Here's the image from below showing the changes to the FormIDs:

image
Michael-wigontherun commented 2 years ago

0xa00000813 does not matter it can be how ever large it will only keep the last 6 digits

Morribyte commented 2 years ago

Huh, interesting. Well, I don't know then. Le me do some more investigating around the sources.

Morribyte commented 2 years ago

I honestly can't find anything mucked up with our sources. I've doubly-verified everything. So I decided to run it again this time looking directly at how the FormID calls are changed in the scripts with an experiment to see if my hunch about the 0A part of the FormID is correct.

The numbers come directly from the scripts.

For comparison:

(Original Source Script) > (Original Script Decompiled) > ESLifyEverything > (ChangedScript Folder script) > (Decompiled Script from Output Folder)

0A00AA13 > 167,815,699 > a00000813 > 42,949,675,027

Compile failed: _Camp_InstinctsEffects.psc(0,0): error while attempting to read script _Camp_InstinctsEffects: Value was either too large or too small for an Int32. No output generated for _Camp_InstinctsEffects.psc, compilation failed.

Then I ran it again but this time using the base script instead of leaving the 0A at the start, I cut it off so that there were only 6 digits left as you talked about which led to this:

00AA13 > 4,353 > 000813 > 2,067 Compile succeeded

Interestingly, it compiles in PCA and gives me the number for the old script (0A00AA13 > 167,815,699),

Line from ChangedScript:

image

Line from Output Script decompiled

image

however when I compiled it using a command line for the default Bethesda compiler, the same error occurred:

image

So I really think there's something going on here. I have no idea why it'd fail in one case but not the other. It's especially confusing that PCA is outputting the old FormID in Decimal form instead of the new one.

Michael-wigontherun commented 2 years ago

I'm going to try adding a check and remove for the extra hex and we will see. Its possible it is the issue. I don't know what though, mine compiles fine after eslifing Immersive Interactions.

Of course I am using the Papyrus compiler from Bethesda Launcher and not Steam. I haven't updated my game ever, nor let Steam try it.

Michael-wigontherun commented 2 years ago

Can one of you try it with this build and see if the actual issue is fixed and you can compile and decompile with the FormID intact.

https://github.com/Michael-wigontherun/ESLifyEverything/releases/tag/V3.3.1

Morribyte commented 2 years ago

I'm going to try adding a check and remove for the extra hex and we will see. Its possible it is the issue. I don't know what though, mine compiles fine after eslifing Immersive Interactions.

Of course I am using the Papyrus compiler from Bethesda Launcher and not Steam. I haven't updated my game ever, nor let Steam try it.

That might be it. I think the steam version of the CK is a newer version and that might have done something with the compiler.

I am currently busy but I will give it a shot when I get home -- thanks!

CineManiac93 commented 2 years ago

Hey, just ran the new build. Now getting compilation fail on Immersive Interactions "simplyknockmainscript.psc".

Command output https://pastebin.com/QQsniQ76

It's the same Immersive Interactions mod. I just reinstalled it.

If you need anything else please let me know.

I couldn't post the ESLifyEverything log on Pastebin as it exceed the 512 kb limit.

WindowsTerminal_m1sL1VRhiK

Michael-wigontherun commented 2 years ago

Try running it again it doesn't give any kind of error its just no output generated.

I don't even know where to go from that.

CineManiac93 commented 2 years ago

Did you see the last photo? It's the same error but also simplyknockmainscript.

Will be running it again.

Michael-wigontherun commented 2 years ago

Yey I was taking about the "No output generated for simplyknockmainscript.psc, compilation failed."

CineManiac93 commented 2 years ago

Same result.

WindowsTerminal_HelJAubmKu

Michael-wigontherun commented 2 years ago

Check to see if you have SkyUI's plugin and BSA loaded. Delete the ChangedScripts folder and then let it decompile everything and let it process all of it.

If that still doesn't work you need to try to compile it using a compiler program from inside your Data folder. That should tell you a lot more about what is wrong.

CineManiac93 commented 2 years ago

Will do, thank you for taking your time to help me.

Morribyte commented 2 years ago

I just got home so let me try it and take a look at the output scripts and stuff

Morribyte commented 2 years ago

Same error. Looks like it didn't pull off any of the digits necessary.

Michael-wigontherun commented 2 years ago

Show me

Morribyte commented 2 years ago
image

The log showing the changes in FormID so it's a bit more clear what's happening hopefully:

image

According to the compacted mod files they are writing the correct compacted FormIDs, just for some reason it's not properly trimming the numbers on the left and in some cases it seems to actually be adding digits for whatever reason.

I DID forget to correct the typo from the existing compacted mod data for my old folder of ESLify Everything which is the one I overwrote with the new build on accident lol so I just did that and am re-running it.

Michael-wigontherun commented 2 years ago

Did you update?

Morribyte commented 2 years ago

Oh, you know what it is, I think it's only trimming right-to-left up to the first zero then adding the 6 digits.

You see with the first formID, it goes 0xa042525, then it trims off the 42525, leaving 0xa0, then added on the 000824 -- 0xa042525 > 0xa0000824

You can see the same thing here with the other one: 0xa00aa13, trimmed to the first 0 is 0xa00, then add on the 6 digits is 0xa00000824.

Morribyte commented 2 years ago

Did you update?

I did, but I'll overwrite it again just in case I messed it up.

Michael-wigontherun commented 2 years ago

Its not the one that says latest, its a prerelease, it wont show up on the side bar you have to open releases then select the one with prerelease on it

or use this link https://github.com/Michael-wigontherun/ESLifyEverything/releases/tag/V3.3.1

Morribyte commented 2 years ago

Yeah, looks like I must've downloaded the wrong one -- my bad. It did compile this time but I think the formIDs still might be wrong.I don't know if Skyrim needs to have the preceeding numbers though, so it might be fine.

simplyknockmainscript.psc from changedscripts:

image

_camp_InstinctsEffect.psc

image
Michael-wigontherun commented 2 years ago

plug that 00813 into hex to dec it will be the same as if you used 813. and the same with 0824. I don't like loosing characters unless I have to.

Michael-wigontherun commented 2 years ago

I really don't know why his isn't working tho its weird.

Morribyte commented 2 years ago

I really don't know why his isn't working tho its weird.

From his log, looks like he's missing some sources for MCM Recorder. I advice he checks for JContainers / PapyrusUtil / SkyUI (sometimes SkyUI really hates compiling without the SDK sources too, not sure why) / UIExtensions.

CineManiac93 commented 2 years ago

I will reinstall those, too

Michael-wigontherun commented 2 years ago

Yey but it should have no effect on simplyknockmainscript.psc as its not a MCM script.

Morribyte commented 2 years ago

Yey but it should have no effect on simplyknockmainscript.psc as its not a MCM script.

Yeah true. I do know that SkyUI is listed on simply knock's requirements, so I'm not sure how it's required. He might need the SDK to get SkyUI to cooperate..

Michael-wigontherun commented 2 years ago

@CineManiac93 make sure you have all of MCM Recorders requirements decompiled and loaded as well

CineManiac93 commented 2 years ago

I did fresh installs of MCM Recorder and its requirements. Same result.

Morribyte commented 2 years ago

I did fresh installs of MCM Recorder and its requirements. Same result.

Can you provide a log of your ESLifyEverything output and your modlist please?

CineManiac93 commented 2 years ago

How would you like the log since it exceeds pastebin's limit?

Morribyte commented 2 years ago

Just the script compilation errors is fine!

CineManiac93 commented 2 years ago

chrome_0eICEuIH8g .......

https://pastebin.com/u4mDZ117

Morribyte commented 2 years ago

chrome_0eICEuIH8g .......

https://pastebin.com/u4mDZ117

try https://pst.klgrth.io/ ? I think that site is supposed to be more friendly to code.

CineManiac93 commented 2 years ago

Thank you!

https://pst.klgrth.io/paste/e5pxb

Morribyte commented 2 years ago

Sorry, I wanted the modlist not load order -- if you're using MO2 you can find it in the profile folder under the modlist folder.

CineManiac93 commented 2 years ago

Here's the AR MCMScript

https://pst.klgrth.io/paste/9v4wj

simplyknock

https://pst.klgrth.io/paste/hd5yq

CineManiac93 commented 2 years ago

I use Vortex but MO should have the list as well

Modlist https://pst.klgrth.io/paste/8ynnq

Morribyte commented 2 years ago

Everything looks ok, seems like. Can you verify that you can find .pex that starts with ski_ inside the ExtractedBSAModData\scripts folder?

Morribyte commented 2 years ago

Also, can you see if you can share the whole ESLify Everything log now using the Spectre paste site

CineManiac93 commented 2 years ago

Log lol chrome_k7OFbxWDIJ

ski_ in scripts

explorer_XBWkHdIvmw

Morribyte commented 2 years ago

Huh...and there wasn't any log lines that had compile errors? Without those errors it's hard for me to know what's going on. The only thing I can think of would be to download Papyrus Compilation App and try compiling the scripts from the ESLifyEverything\ChangedScripts folder by running the program through Vortex. If it works, just shove them into a folder that's super low in the mod order called "scripts" and then if it doesn't it'll give you some logs that should be helpful.