[CK:SE] Persisting script engine bugs

Post » Wed Nov 02, 2016 12:00 pm

Since kindergarten escapees appear to have made a complete pig's breakfast of the new forum with their mod requests, I'll post this here just to get it done, before I retire from posting.



Great news for anybody, who is concerned about maintaining the Creation Kit documentation: There seems to be no need for any SE-related updates. At least two script engine bugs remain unfixed, even if they may have been fixed for Fallout 4 (as far as I can tell, as they apparently have not been documented for that game, which I don't have myself).



1. GetItemCount() in SSE still refuses to include items, that have been defined in the CK to be in a container. The function only registers in-game inventory changes, which means, that one can get negative item counts after removing CK-defined items from a container.



2. The compiler for SSE is still unable to properly manage temporary variables, when it compiles a nested function call inside an array index evaluation. Such a statement is compiled in a way, which causes temporary variable corruption during execution. This is the issue of 'myArray[myArray.Find(none)] = newValue' not working properly (although the same issue would actually affect a larger range of possible cases). Unfortunately, as the forum search functionality is still unavailable, I am unable to find and link to the thread, where this was originally discussed.



I am disappointed with the first bug persisting. But I am extremely disappointed with the second bug also persisting, because at the time I received a PM from SmkViper, indicating, that even if the bug would not be fixed for Skyrim at that time, it would get fixed in the next iteration of the Creation Kit. And here we are, years later. The bug has been fixed for Fallout 4 (apparently, I have no way of checking), and yet it persists in the very latest Papyrus Compiler for Skyrim Special Edition.

User avatar
Kristina Campbell
 
Posts: 3512
Joined: Sun Oct 15, 2006 7:08 am

Post » Wed Nov 02, 2016 10:00 pm

First bug is fixed in Fallout 4.

No idea on the second one.
User avatar
Lyd
 
Posts: 3335
Joined: Sat Aug 26, 2006 2:56 pm

Post » Wed Nov 02, 2016 10:25 am

To find out if the second bug is fixed in Fallout 4, you would have to compile any simple test script, containing ,e.g., the Array statement quoted above, preferably as the only line inside a separate function for easy isolation. Then disassemble the compiled script using the PapyrusAssembler (-D option), and examine the disassembled output using Wordpad. Just looking at the resulting lines of "execution code" should fairly easily indicate to a reasonable observer, whether there is any temporary variable corruption.



This would have been demonstrated in the old thread I am unable to link to. Well, I guess that's that, then.

User avatar
P PoLlo
 
Posts: 3408
Joined: Wed Oct 31, 2007 10:05 am


Return to V - Skyrim