As a French person I feel like it's my duty to explain strikes to you. - AdrienIer

Create an account  

 
Wizards.exe B877Bh

I've looked through the insecticide bug report threat to make sure there are no known bugs in the game I missed, and I found this one :

Quote:
Quote:By the way, have a look at B877B (when AI cast Subversion or Spell lock etc.). Same fonction, no arg_0. What a mess. That must create a total havoc in game data.
...
And, of couse, this function have to have arg_0.
I checked and confirmed this is true, a function that requires a parameter is called without one.
It's directly after the human player uses a spell that targets a wizard : Spell Blast, Subversion, etc.
I haven't observed any direct problem with these but obviously since the bug is at the end, if it does corrupt memory the problems should manifest after the spell at a random later time.

What I do not know is, what this function call does. It seems to swap around a few bytes of data, which I suspect might be pointers to loaded LBX data entries. It is usually used in pairs, one to move the data from one place to the other, and the other to move it back after the spell was completed and sound/graphics is no longer needed.

Long story short, if anyone is familiar with this function (Asfex, maybe?), is it safe to skip this call? I did so and had no problems casting Spell Blast 5 times in a row, but since I do not know what the procedure is for, there is no guarantee it's stable. Calling it without a parameter is definitely bad though. And there is neither space to add one, nor do I know what should have been there as a parameter. Since the game seemed to work with the call moving unrelated data, I'm tempted to go with the assumption that this call was unnecessary here to begin with and it's safe to entirely disable it.

...something related, the Call Lightning no sound crash was caused by calling the same function : It was called even if the function moving the data the opposite way in sound initialization was skipped due to sound being off in settings. So there is proof calling this where it is not needed causes severe instability.
Reply



Forum Jump: