Jump to content

Tanar'ri Death Animation


Recommended Posts

Hey has anyone ever found a fix for the bug with the Tanar'ri death animation, for instance I am crashing repeatedly at the planar sphere part of the game after killing it; I have seen a few other reports about it, so I assume it is related to all demons of that nature. I didn't use to have this with previous versions of the pack, though it has been sometime since I installed it, and it happens every death without fail.

 

Is there a way to re-alter demon animations back to their previous version? The other bug I get is mummies occasionally flying (as if walking sideways) across the screen, I think it is when they are hit on occasion.

 

I do have other mods installed but I mostly install NPC or quest mods.

 

Here is the list:

Lastest Patches for Throne of Bhaal

Fixpack

 

NPC's

 

Amber

Angelo

Ariena

Aurena

Chloe

Fade

Haldamir

Hubelpot

Kelsey ToB Version

Keto

Kido

Kindrek

Kivan

Serileth

Solaufein

Valen

Vampire Tales

Yikari

 

Quests

Ascension

Assassinations

Com Encounters

D0QuestPack

G3 Anniversary

Tower of Deception

 

Dialogue

Banter Pack

Crossmod Banters

Imoen Romance

NPC Flirt Packs

Romantic Encounters

 

Any idea's how I could replace the animations back with the default, while keeping the rest of the fixes?

Thanks for any help.

Link to comment

Okay quick update: I watched an onscreen death animation while 3d acceleration was turned off, I didn't take if off the screen, I did actually see it die. However I was facing it at a different angle, I will keep experimenting and post back if I get any more errors - otherwise assume 3d acceleration was the cause of the demon bug.

 

I'll see if that fixes the occasional wayward mummies too.

Link to comment

I have never heard of this animation causing a crash in and of itself, and wasn't aware the Fixpack did anything with actual creature animation graphics (it corrects some animation IDs on creature files but that's different). I've heard of the dragon causing crashes because it's too big to fit on the screen sometimes. Possibly the Bioware patch addressed that though. Might want to make sure your video card driver is up-to-date.

Link to comment

Thanks for the reply.

 

Here are a few posts about it in two separate threads, that I found via search when I was poking about:

 

http://forums.gibberlings3.net/index.php?s...rt=#entry108857

 

http://forums.gibberlings3.net/index.php?s...rt=#entry126685

 

http://forums.gibberlings3.net/index.php?s...rt=#entry124785

 

Like I say it is a rare bug that has come up before, so far turning off acceleration seems to have fixed it. I haven't yet been able to test mummies :blush:. My video card drivers are up to date, and for reference I am running a 5700 series ATI, win xp, at standard game 800x600 res.

Link to comment

Yeah, the dying tanar'ri is an ancient, rare bug. Unfortunately, the fixpack doesn't actually change the animation and doesn't assign many additional creatures to use the animation (actually, most are changed away from this animation: the use of the BIS glabrezu was extended since BioWare didn't add it until ToB, and the use of the Ravager animation was made standard for pit fiends; all the Planar Sphere demons have always used the tanar'ri animation and should remain so with the fixpack); there's not really anything we can do to improve the situation.

 

Make sure you don't have any knockback items (from mod items or the Staff of the Ram) and aren't under the effects of Repel Undead; these can be legitimate sources of the buffet effect (which will knock the target back across the screen). Barring that, it's likely an issue with your setup; it's not something we could resolve.

Link to comment

I have reason to believe both the balor tanar'ri and the big wyvern have some buggered frames and/or offsets. These tend to be tiny frames (1x1 or sometimes 5x5) with little or no real data that are offset typically something like 160 pixels, more than half the dimensions of even the largest possible BAM frame (256x256). It is perhaps no coincidence most (if not all) these occur in the death/twitch/sleep animation sequences. In addition, there are a very small number of frames with a width or height of zero (and non-zero in the other dimension) which should not really be valid for frame data, but maybe that isn't as much of an issue. Both animations are made up of a sequence of 4 frames that are supposed to be coordinated. In some cases, one or more of the 4 frames has no data intentionally (because the creature is falling or whatever). But nevertheless, you could get that frame thrown off the screen due to the excessive offsets.

 

While this is mostly guesswork so far (because I can't reproduce... or haven't tried to :blush:) empirically, it is related to this animation crash. Therefore, the solution (to fix the frame offsets) should also work. These should be easy enough to patch, but it would help to have more data on when exactly it was crashing. Was it near the screen edge, or when the creature was facing a certain direction? If I can't reproduce, I guess I can at least make sure the fix doesn't cause crashes or other issues.

 

I saw no issues with the mummy animation, at least not an offset issue like the tanar'ri. Nor did I see any issues with the death knight, which Nythrun reported as also causing crashes in one of those links. But then, I didn't see any other posts reporting issues with either of those, and there are several reports on the tanar'ri and wyvern.

 

[P.S.: The raver/ravager looks *nothing* like a pit fiend - whose brilliant idea was that?]

Link to comment
[P.S.: The raver/ravager looks *nothing* like a pit fiend - whose brilliant idea was that?]
BioWare. Sim just made sure it was consistent, but BioWare elected to use the ravager animation for most (if not all) of the pit fiends (I don't know if he even had to change any).

 

Art on a budget, my friend. I guess you're required to use just what you can afford to create.

Link to comment

So I got around to trying to reproduce this crash and could not. Spawned a bunch of balors and wyverns, fought them in all different directions on all parts of the screen, 3D acceleration on, 800x600 fullscreen and windowed. Granted, they were just dummy CREs with no special abilities. Maybe that would've made a difference, I dunno. Probably not, since I've never seen the crash before.

 

Anyway, I wrote code to fix it in theory. The offsets of both these animations follow a strict pattern. After the prefix (mtan, mwyv) and series (g1, g2, g3) there's a number corresponding to the 4-part split (1=upper left, 2=upper right, 3=lower left, 4=lower right). These are offset from the frame width and height as follows:

Frame 1: Width-full dimensions; Height-full+40 pixels (so 67x33 => 67x73)

Frame 2: W-0; H-full+40 (so 69x18 => 0x58)

Frame 3: W-full; H-0+40 (so 69x59 => 69x40)

Frame 4: W-0; H-0+40 (so 86x67 => 0x40)

Basically the same pattern as BG1 quartered description BAMs, with an extra 40-pixel vertical offset (maybe accounting for the distance from the selection circle or something, I dunno). Several frames were off even beyond what I mentioned, so I fixed them all with the code below (though copying only the BAMs where I noticed the glaring issues):

//Correct invalid animation frames & offsets
COPY_EXISTING ~mtang21.bam~  ~override~ //Tanar'ri (Balor)
		  ~mtang21e.bam~ ~override~
		  ~mtang22.bam~  ~override~
		  ~mtang22e.bam~ ~override~
		  ~mtang23.bam~  ~override~
		  ~mtang23e.bam~ ~override~
		  ~mwyvg21.bam~  ~override~ //Wyvern
		  ~mwyvg22.bam~  ~override~
		  ~mwyvg23.bam~  ~override~
		  ~mwyvg24.bam~  ~override~
 INNER_PATCH ~%SOURCE_RES%~ BEGIN
READ_ASCII 6 bn (1) //Read BAM series (1-4)
 END
 READ_ASCII 0x0 sg (4) //Signature
 PATCH_IF (~%sg%~ STRING_EQUAL_CASE ~BAMC~ = 1) BEGIN //If compressed
READ_LONG 0x8 dl //Uncompressed data length
DECOMPRESS_REPLACE_FILE 0xc (SOURCE_SIZE - 0xc) dl
sz = dl
 END ELSE BEGIN
sz = SOURCE_SIZE
 END
 READ_SHORT 0x8 fm //Frame count
 READ_LONG 0xc ft //Frame entry offset
 FOR (f1 = 0; f1 < fm; f1 += 1) BEGIN //Frame loop
READ_SHORT (ft + (f1 * 0xc)) fw //Frame width
READ_SHORT (ft + (f1 * 0xc) + 2) fh //Frame height
PATCH_IF ((fw < 1) AND (fh != 0)) OR ((fh < 1) AND (fw != 0)) BEGIN //If invalid dimensions
  WRITE_SHORT (ft + (f1 * 0xc)) 0 //Correct width
  WRITE_SHORT (ft + (f1 * 0xc) + 2) 0 //Correct height
  fw = 0
  fh = 0
END
PATCH_IF bn = 1 BEGIN //If upper left frame
  WRITE_SHORT (ft + (f1 * 0xc) + 4) fw //X coordinate
  WRITE_SHORT (ft + (f1 * 0xc) + 6) (fh + 40) //Y coordinate
END ELSE BEGIN
  PATCH_IF bn = 2 BEGIN //If upper right frame
	WRITE_SHORT (ft + (f1 * 0xc) + 4) 0 //X coordinate
	WRITE_SHORT (ft + (f1 * 0xc) + 6) (fh + 40) //Y coordinate
  END ELSE BEGIN
	PATCH_IF bn = 3 BEGIN //If lower left frame
	  WRITE_SHORT (ft + (f1 * 0xc) + 4) fw //X coordinate
	  WRITE_SHORT (ft + (f1 * 0xc) + 6) 40 //Y coordinate
	END ELSE BEGIN
	  PATCH_IF bn = 4 BEGIN //If lower right frame
		WRITE_SHORT (ft + (f1 * 0xc) + 4) 0 //X coordinate
		WRITE_SHORT (ft + (f1 * 0xc) + 6) 40 //Y coordinate
	  END
	END
  END
END
 END
 COMPRESS_REPLACE_FILE 0 sz 9
 INSERT_BYTES 0x0 0xc
 WRITE_ASCII 0x0 ~BAMCV1  ~
 WRITE_LONG 0x8 dl
BUT_ONLY

Did the same after this with spawning the balors and wyverns, fighting in different directions, still no crashes or glitches. The "fixed" animations might've been marginally smoother, but that could just be my imagination.

 

Something like this should probably be a beta fix (if that) unless and until someone can confirm it helps relieve animation crashes they're otherwise experiencing.

 

Edit: link to mini-mod installer in the absence of this being in the fixpack, for Tutu users, etc.

Link to comment
At least the big wyvern animation still causes crashes on my end when it's facing somewhat north-west with its head.
I don't know which BAM that'd be in - it'd be nice if the game could tell you in an .err log or something. It's possible it's in a series not patched here though, so you could genericise it to patch every BAM for those animations. Not sure if it'll help, but probaby won't hurt.

//Correct invalid animation frames & offsets
COPY_EXISTING ~mtang11.bam~  ~override~ //Tanar'ri (Balor)
		  ~mtang11e.bam~ ~override~
		  ~mtang12.bam~  ~override~
		  ~mtang12e.bam~ ~override~
		  ~mtang13.bam~  ~override~
		  ~mtang13e.bam~ ~override~
		  ~mtang14.bam~  ~override~
		  ~mtang14e.bam~ ~override~
		  ~mtang21.bam~  ~override~
		  ~mtang21e.bam~ ~override~
		  ~mtang22.bam~  ~override~
		  ~mtang22e.bam~ ~override~
		  ~mtang23.bam~  ~override~
		  ~mtang23e.bam~ ~override~
		  ~mtang24.bam~  ~override~
		  ~mtang24e.bam~ ~override~
		  ~mtang31.bam~  ~override~
		  ~mtang31e.bam~ ~override~
		  ~mtang32.bam~  ~override~
		  ~mtang32e.bam~ ~override~
		  ~mtang33.bam~  ~override~
		  ~mtang33e.bam~ ~override~
		  ~mtang34.bam~  ~override~
		  ~mtang34e.bam~ ~override~
		  ~mwyvg11.bam~  ~override~ //Wyvern
		  ~mwyvg12.bam~  ~override~
		  ~mwyvg13.bam~  ~override~
		  ~mwyvg14.bam~  ~override~
		  ~mwyvg21.bam~  ~override~
		  ~mwyvg22.bam~  ~override~
		  ~mwyvg23.bam~  ~override~
		  ~mwyvg24.bam~  ~override~
		  ~mwyvg31.bam~  ~override~
		  ~mwyvg32.bam~  ~override~
		  ~mwyvg33.bam~  ~override~
		  ~mwyvg34.bam~  ~override~

Link to comment

Done. Unfortunately it didn't help.

 

ToBEx.log doesn't help either:

[Mon 01 Nov 2010 22:31:15] AREA-TRANSITION: CGameSprite::AddToArea id = 20646184 ; Name = Wyvern; AreaName = AR8500

[Mon 01 Nov 2010 22:31:15] CreateCreature : CREATURE : (WYVERN) @ ( 1808, 3072 )

[Mon 01 Nov 2010 22:31:15] AREA-TRANSITION: CGameSprite::AddToArea id = 4720937 ; Name = Wyvern; AreaName = AR8500

[Mon 01 Nov 2010 22:31:15] CreateCreature : CREATURE : (WYVERN) @ ( 1760, 3036 )

 

Neither does Baldur.err.

 

Reproduced facing just before crash:

 

crashfacing.jpg

 

With a wyvern facing in this direction I have a 100% immediate CTD guarantee when it dies.

It also happens, when a wyvern is facing in the opposite direction.

If it's facing southwards you'll never get a CTD. Facing anywhere else it CTDs you most of the time. I just wonder why it's happening in BG2, as I don't remember any CTDs at all when fighting wyverns in BG1.

 

Moreover I have more mwyvX.bams than those mentioned above in NI. I also have

mwyvg1.bam

mwyvg1e.bam

mwyvg2.bam

mwyvg2e.bam

mwyvg3.bam

mwyvg3e.bam

 

UPDATE:

At least on my end it could be solved by uninstalling the display driver (catalyst 10.5 in my case), removing any remnants of it from my system, and finally installing the latest catalyst driver (10.10).

 

I discovered this as I deactivated 3D acceleration in my BGConfig. As I had no crashes without 3D acceleration, but a 100% guarantee of CTDs if I enabled it, only my display driver could be the cause. I'd still recommend installing the animation-fix from Miloch.

 

10th

Link to comment
Moreover I have more mwyvX.bams than those mentioned above in NI. I also have

mwyvg1.bam

mwyvg1e.bam

mwyvg2.bam

mwyvg2e.bam

mwyvg3.bam

mwyvg3e.bam

These are for baby wyverns, which should be fine.
At least on my end it could be solved by uninstalling the display driver (catalyst 10.5 in my case), removing any remnants of it from my system, and finally installing the latest catalyst driver (10.10).
Odd, but not unheard of. Usually it points to an animation issue, but I don't know what else it could be for these, unless the engine just doesn't like the odd 4-panel animations.
Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...