Jump to content

Pit Fiend causing Assertion Failed in CGameEffect.cpp at line number 1536


Guest Newb

Recommended Posts

4 hours ago, Guest Newb said:

Reinstalling the Mage AI lead to CTD during the battle with Shangalar's party during the Time Stop by the mage as she was casting another spell.  This time, the readout from TobEX says "ASSERTION FAILED!  Return Address: 0x7FA8C8  File: ObjAnimation.cpp  Line: 400  Expression: FALSE  Message: (null)".  I guess c7obg2spellfixer.tp2 did fix the CTD problem from Assertion Fail at line 1536, and this is a new problem.

That's caused by a creature without a correct animation being summoned... If you can check which spells the mage there has, this is fairly easy to debug I think. Even better if you got to see the string of which spell got cast.

6 hours ago, Guest Newb said:

The c7-fxfix.tp2 code didn't install because of error

  Edit: missed this post. What'd the error say? It'd be very helpful to see the debug file for it, though it's only those two spells that had any EE opcodes in my install, so you should be good regardless.

Edited by CrevsDaak
Link to comment
Guest Newb

Hi DavidW, 

I just want to say don't get stuck of BWS (Big World Setup), it's just a batch mode installation for BGT + a lot of mods, and SPIN890.SPL is indeed in my override folder.   Basically, I am only using BWS for BGT, I manually installed most of my mods, including SCS.       

Link to comment

Okay I figured the bug out, wasn't too hard, seems like Cornugons have an invalid animation value of -1 written to them. It also cries about water elementals but those are working fine, they just seem to be missing from animate.ids on my install, pretty odd.

Attached hotfix appends water elementals' animation code to animate.ids and it gives cornugons the correct animation ID.

c7-animfix.tp2

Link to comment
26 minutes ago, Guest Newb said:

Hi DavidW, 

I just want to say don't get stuck of BWS (Big World Setup), it's just a batch mode installation for BGT + a lot of mods, and SPIN890.SPL is indeed in my override folder.   Basically, I am only using BWS for BGT, I manually installed most of my mods, including SCS.       

Noted - but if SPIN890 is in the override folder I'm not sure how it's being overridden by the SCS version. (It's not a big deal, that version is broken anyway and needs replacing.)

Link to comment
33 minutes ago, CrevsDaak said:

Cornugons have an invalid animation value of -1 written to them

Okay, this is caused by fiend_shared.tph, on line 406, it assigns Cornugons "IC_CORNUGON" while, at least in my game and I assume in this other fella's, their animate.ids entry is IC_CORNUGONSKI. Unsure what would be the "ideal" solution, but that's what's causing this. Should probably check not to write the -1 from a failed IDS_OF_SYMBOL lookup at a library level though.

Link to comment

Hi, CrevsDaak.

Thank you for providing (temporary) fixes for those using SCS on classic BG. About this:

33 minutes ago, CrevsDaak said:

Okay, this is caused by fiend_shared.tph, on line 406, it assigns Cornugons "IC_CORNUGON" while, at least in my game and I assume in this other fella's, their animate.ids entry is IC_CORNUGONSKI.

I checked ANIMATE.IDS in both BG2 and BG2EE and it seems that in the original game the entry is IC_CORNUGONSKI as you reported while BG2:EE shows CORNUGON. I have a simple question though: both entries are preceded by an address (correct me if I'm mistaken) which is the same for both: 0xE0E0. Wouldn't it be possible to reference the address rather than the text in order to avoid compatibility issues?

Cheers!

Link to comment
2 hours ago, Salk said:
3 hours ago, CrevsDaak said:

 

I checked ANIMATE.IDS in both BG2 and BG2EE and it seems that in the original game the entry is IC_CORNUGONSKI as you reported while BG2:EE shows CORNUGON. I have a simple question though: both entries are preceded by an address (correct me if I'm mistaken) which is the same for both: 0xE0E0. Wouldn't it be possible to reference the address rather than the text in order to avoid compatibility issues?

Technically it can. Thing is those are dynamic libraries... and they can be extended by Infinity Animations mod for example, and so it could be possible that the hexadecimal number that eventually would result from making such a change could eventually be unmade ... after all, if they would use the same library, the id NAME would be the exact match.
So this is more about the mismatch of old library references than just simply what SCS does to the BG2 game (alone).
And then there could be terrible things that the old BWS does to the .ids files themselves that could cheese the whole thing. Yes, that's a known thing and there was multiple tried fixes ... but without actually Guest Newb's logs, we have no idea what spagettimonsters tangets it's pulling things with.

Yes, understand that one of the ways the BWS(or BWP, and thus BWFixpack) kept it's .ids files in sync was it kept overwriting them with a master versions of them from an archive. At least that was in the old days. And yes, I understand how irresponsiple that was.

Edited by Jarno Mikkola
Link to comment
6 hours ago, Salk said:

I have a simple question though: both entries are preceded by an address (correct me if I'm mistaken) which is the same for both: 0xE0E0. Wouldn't it be possible to reference the address rather than the text in order to avoid compatibility issues?

It's possible, though not ideal practice, and would probably work since Cornugons are only present in BG2, and will always use that animation number. However, the issue of IA as Jarno says still exists, but EE/IA and oBG2 are handled separately in the code already, and it's not like the oBG2 value can ever be changed, so it'd work well there, but I still think using IC_CORNUGONSKI is a better idea (I can't think of any mods that edit animate.ids without a good reason).

Link to comment
7 hours ago, Salk said:

I checked ANIMATE.IDS in both BG2 and BG2EE and it seems that in the original game the entry is IC_CORNUGONSKI as you reported while BG2:EE shows CORNUGON. I have a simple question though: both entries are preceded by an address (correct me if I'm mistaken) which is the same for both: 0xE0E0. Wouldn't it be possible to reference the address rather than the text in order to avoid compatibility issues?

Generally I look things up through ids reference rather than through the direct number because the resultant code is more readable and easier to debug. There is a case that animate.ids is a particularly awkward case here. That said, the code here was already checking separately for EE, Infinity Animations, and vanilla oBG2 - it's just that I mistyped the old name (IC_CORNUGON rather than IC_CORNUGONSKI). I should probably be throwing a warning when an animate.ids entry can't be found.

Link to comment

OK, version 35.10 will:

  • fix the weird DEMON_FEAR spell (I'm still not sure what pathway gets it into oBG2, but it doesn't matter)
  • correctly patch Cornugon animations on oBG2
  • add the Water Weird animation to oBG2's animate.ids

Did I miss any?

Link to comment
33 minutes ago, DavidW said:

Did I miss any?

As far as oBG2 crashes go, there's also that bug with Yaga-Shura's Lieutenants' fire resistance effect having type=4 instead of power=4, I'm not sure exactly what causes it because the code is correct, but I think if param2 is specified (should be either 1 or 0, for either set or add) maybe it'll work? If anything, it shouldn't do any wrong to add that in.

The timing on it is also (automatically I suppose) set to be permanent despite it being dispellable and having a duration.

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...