SaveScum / skyrim-plugin-decoding-project

Automatically exported from code.google.com/p/skyrim-plugin-decoding-project
0 stars 0 forks source link

AV when saving subrecords with prefixed arrays #111

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
http://forums.bethsoft.com/topic/1443268-relz-tes5edit/page__view__findpost__p__
22249251

What is the expected output?
Normal save.

What do you see instead?
AV in
wbImplementation  8521 +19 TwbSubRecord.CheckCount
wbImplementation  9107  +1 TwbSubRecord.PrepareSave
wbImplementation  4115  +8 TwbContainer.PrepareSave
wbImplementation  7047 +90 TwbMainRecord.PrepareSave
wbImplementation  4115  +8 TwbContainer.PrepareSave
wbImplementation 10209  +3 TwbGroupRecord.PrepareSave
wbImplementation  4115  +8 TwbContainer.PrepareSave
wbImplementation  2681 +18 TwbFile.PrepareSave

What version of the product are you using? On what operating system?
3.0.28

Please provide any additional information below.
This is an old bug dated back to FNVEdit 3.0.21, so doesn't have anything in 
common with recent "union" changes. Hlp, can you please check it?

Original issue reported on code.google.com by zila...@gmail.com on 14 Feb 2013 at 5:34

GoogleCodeExporter commented 9 years ago
If I am not mistaken, the actual error is trying to update a field that has not 
been changed yet and so is still mapped to the file and readonly. The question 
I need to solve now is why an array that has not been changed went from 7 items 
down to 0.

Original comment by HuguesLe...@gmail.com on 14 Feb 2013 at 11:13

GoogleCodeExporter commented 9 years ago
Seems like happens when subrecord containes only prefixed array and nothing 
else. Those are MO2S, MO3S, MO4S, MO5S in all of the games.

Original comment by zila...@gmail.com on 15 Feb 2013 at 6:24

GoogleCodeExporter commented 9 years ago
For some reasons, the MOxS container element array is still empty when saving, 
so it did not or could get initialized properly.

Original comment by HuguesLe...@gmail.com on 16 Feb 2013 at 12:39

GoogleCodeExporter commented 9 years ago
Tricky bug.

Original comment by zila...@gmail.com on 16 Feb 2013 at 1:23

GoogleCodeExporter commented 9 years ago
Required sleeping over it twice, but I got it. We should not PrepareSave a 
SubRecord that has'nt been modified.

Original comment by HuguesLe...@gmail.com on 17 Feb 2013 at 12:23

GoogleCodeExporter commented 9 years ago
Corrected with r1211

Original comment by HuguesLe...@gmail.com on 17 Feb 2013 at 12:27

GoogleCodeExporter commented 9 years ago
As a workaround until .29 is released, it works if you just edit the MOxS 
field. I modified my script that edits the MOD3 field to also edit the MO3S 
field and then change it back. This flags it as modified and then TES5Edit will 
save fine :)

Original comment by jaycenor...@yahoo.com on 22 Feb 2013 at 7:17

GoogleCodeExporter commented 9 years ago
I'll mail you a link to 3.0.29.
Check that it works for you, so we can close this issue.

Original comment by zila...@gmail.com on 22 Feb 2013 at 8:10

GoogleCodeExporter commented 9 years ago
I guess it works now, can't reproduce myself with 3.0.29.

Original comment by zila...@gmail.com on 6 Mar 2013 at 7:25