Jump to content


Photo

[BUG] ShadowKeeper destroys my mod and I'm going insane....


  • Please log in to reply
11 replies to this topic

#1 Ulb

Ulb
  • Modder
  • 373 posts

Posted 01 April 2013 - 07:50 PM

Hey there,

 

I discovered a strange bug and I fear I'll go insane if I don't get an explanation soon.. :crazy:

 

I did some minor changes to my werebear kit today and as usual did some testing with the new version afterward, to ensure everything works fine.

 

So I created a new Bear Walker, did some testing and after everything seemed to work as intended, I logged and used ShadowKeeper to create some alternate level versions, so I could check the level dependent component of the spell.

 

Now here is the strange thing: In every saved game created by ShadowKeeper, the werebear spell would bug out. (The spell wouldn't remove itself properly and would 'stack up' after resting, so that the character would gain more and more instances of the spell, over time.)

 

The thing is, it seems to have nothing to do with what I edit. I did some parallel testing with Near Infinity (e.g I edited the exact same thing once in Near Infinity and once in ShadowKeeper) and the Near Infinity saved games work perfectly fine. I even did a saved game where I just added a single point of experience and still, the NI version worked like a charm, the SK version bugged out.

 

What really boggles my mind is, that I just don't understand how Shadowkeeper would be able to bug out my spell in such a strange way. (As far as I can tell everything else works fine...)

 

So I would really, really appreciate some explain.



#2 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5150 posts

Posted 01 April 2013 - 11:21 PM

Hmm, how did you level up the character ? As far as I remember, the only reliable way is to add XP and thus gain the levels,

-as only then the character's ability table is actually used...

-not just set the level & add the abilities etc nonsense.


Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#3 Ulb

Ulb
  • Modder
  • 373 posts

Posted 02 April 2013 - 01:37 AM

Nope, it hasn't anything to do with the level. Even if I just open a working saved game with SK and then save it, without changing ANYTHING AT ALL, the spell will be broken.

I just don't get it... :WTF:



#4 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5150 posts

Posted 02 April 2013 - 01:50 AM

Nope, it hasn't anything to do with the level. Even if I just open a working saved game with SK and then save it, without changing ANYTHING AT ALL, the spell will be broken.

Is the character in a normal state at the save... as the shadowkeeper might be zeroing somethings.

But to actually verify the reason why this happens, I would need the files. :P


Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#5 Ulb

Ulb
  • Modder
  • 373 posts

Posted 02 April 2013 - 02:00 AM

There you go :)

 

As for SK, I have already downloaded it a few times now, so I'm pretty sure I don't have a corrupted version or anything.

 

The file contains both, the original (working) save and the sk save, in  which I didn't change anything at all, just resaved it.

 

 

*Edit*

 

To further clarify things,

 

I use saved games where I haven't cast the werebear spell even once. That way, there should be no way SK is messing things but by refreshing the memorization or something like that.

When I load the game, I even rest a few times before casting the spell, but it still bugs out.


It really drives me crazy, the spell file itself obviously can't be corrupted by SK and even in the corrupted saved games, the spell works fine, except for the part where it is supposed to delete itself...

Attached Files

  • Attached File  save.7z   17.14K   90 downloads

Edited by Ulb, 02 April 2013 - 02:07 AM.


#6 Ulb

Ulb
  • Modder
  • 373 posts

Posted 02 April 2013 - 02:26 AM

I just compared both saved games, side by side, and noticed something odd: SK seems to re-order the spells in  the .cre file. E.g the original saved game lists: spell1 - spell2 - spellN while the SK one might list them as: spell2 - spellN - spell1.

 

My very unprofessional guess would be, that by this, my spell is somehow 'unable to find and remove itself'?



#7 Argent77

Argent77
  • Administrator
  • 1398 posts

Posted 02 April 2013 - 04:16 AM

I can't find any differences in the contents of both saved games either except for some reordering of the spell lists and global variables. But that surely isn't the cause for the malfunctions.

 

You've mentioned that you have problems removing the spell from the innate spell list? I have experienced the same behavior if the spell name is 8 characters long. Try shortening it to 7 or less characters.

 

Edit: I see that you have added the Remove Spell/Add Ability opcodes into the 'spell effect' sections. This can be dangerous because if the spell is interrupted for whatever reasons, it will mess up your innate spell list. Add it to the 'Casting Features' section instead (if you use DLTCEP, in NI it's a global effect). That way the spell is removed and added in a secure fashion and you can even increase the casting speed value without problems (the Pocket Plane ability (SPIN649) uses this method, for example).


Edited by Argent77, 02 April 2013 - 04:23 AM.


#8 Ulb

Ulb
  • Modder
  • 373 posts

Posted 02 April 2013 - 04:47 AM

I just did a test with renamed spell versions (7characters) but the result was the same, works perfectly fine as long as I don't save with SK, once SK gets involved the spell is broken.

 

The 'Casting Features' solution sounds interesting. I haven't used DLTCEP for spell creation yet, but I'll look into it later. Maybe it will resolve my problem. (Thought I'd still like to know how SK is bugging out my spell, really bad. :mellow: )

 

Thanks for you advice :)



#9 Ulb

Ulb
  • Modder
  • 373 posts

Posted 02 April 2013 - 04:55 AM

Didn't help.

 

I just moved the remove/give effects to the global level (just like spin649 does) but it is still the same: No SK good - SK very bad.

 

Thought moving the effects up will still solve the problem regarding interrupted spells.. so it wasn't all invain. :)



#10 Ulb

Ulb
  • Modder
  • 373 posts

Posted 02 April 2013 - 03:57 PM

There must be someone who's got an idea, what the problem might be.... :(



#11 Argent77

Argent77
  • Administrator
  • 1398 posts

Posted 03 April 2013 - 05:27 AM

I have found out why your spell goes wonky after you save a game in ShadowKeeper. It is a very subtle error which isn't even shown if you compare the saved games in Near Infinity.

 

SK seems to write the spell filenames into the savegame as they are stored in the override directory without checking for case-sensitivity. However, the game will act funny if the names are not stored in upper-case only. The spells your mod provides are written in a mix of lower- and upper-case characters, which are copied without change into the saved game by SK, effectively creating a corrupted savegame.

 

You can fix the savegame if you load and save it again in Near Infinity.



#12 Ulb

Ulb
  • Modder
  • 373 posts

Posted 03 April 2013 - 11:00 PM

Thank you so much for your help Argent, you saved me from insanity :)!

 

So if I get this right, changing my file names to upper-case only should fix the 'SK incompatibility'...

 

*edit* Just tested it, works like a charm!

 

Again, thank you so much for taking the time to look into this!


Edited by Ulb, 03 April 2013 - 11:13 PM.