Author
|
Topic: Error??
|
Sear999 Squire

Posts: 39 From: California Registered: Jul 2001 |
posted 27 January 2002 13:55
Ok, I've replaced 2 of the Necromancers Golems with other monsters with dcc changing. They work just fine in act 1, no problems what so ever. But a few moments (like 15 seconds) after entering act 5 I get this Error Location: ablo2\source\D2client\Engine\GfxUtil.cpp , line #1352 Expression: eComponent < NUM_COMPONENTS Does anyone have any Idea what this is means?? I haven't tested it in act 2,3, or 4 yet. Any help would be very much appriciated. Thanks

|
Alkalund Honorary Warlord
   
Posts: 964 From: Florianópolis, Santa Catarina, Brazil Registered: Apr 2001 |
posted 27 January 2002 14:04
I had this error myself a few days ago, and while I don't know EXACTLY what is causing it, here goes a couple of suggestions you can try: 1) If you're using Hex Editor to modify animdata.d2, make sure you're in OVERWRITE mode (this is what solved my problem, I was using it on insert mode, so CRASH ) 2) You must use the animdata.d2 that is in d2exp.mpq. If you use the one in d2data.mpq you most likey will get a crash of some sort (specially since you said you problem was in act5)What i find weird with your crash is that you said it works ok in act1... so to me you are using the wrong animdata.d2... could be wrong though  ------------------ Alkalund

|
Apocalypse Demon Moderator
   
Posts: 4023 From: Mississauga, Ontario Registered: Oct 2001 |
posted 28 January 2002 19:17
Well, I just got a weird crash when I killed my Beholder in the game. It seems to happen rarely but only when it dies(it's corpse)Assertion Failure Location : C:\Projects\Diablo2\Source\D2CMP\SRC\FastCmp.cpp, line #1871 Expression : dwStride>=pCel->dwWidth Anyone know what this is? ------------------ God gave me a brain to use but I miserably failed to use it to my advantage

|
Myhrginoc Honorary Warlord
   
Posts: 1326 From: Percussion U Registered: Dec 2001 |
posted 28 January 2002 20:45
Is there an oversized frame in the walk animation?

|
Apocalypse Demon Moderator
   
Posts: 4023 From: Mississauga, Ontario Registered: Oct 2001 |
posted 28 January 2002 21:01
The error is not in the walk, it's in the corpse animation. And the beholder corpse animation is quite small but fits perfectly. ------------------ God gave me a brain to use but I miserably failed to use it to my advantage

|
Alkalund Honorary Warlord
   
Posts: 964 From: Florianópolis, Santa Catarina, Brazil Registered: Apr 2001 |
posted 29 January 2002 06:47
Hmm... I got this error before too, but not with the corpse animation (it was the neutral animation of my Ravager I think), I'm just trying to remember how I solved it  While I can't remember this, I will post something curious here. Apparently the cause for this Assertion Failure Location : C:\Projects\Diablo2\Source\D2Client\Engine\GfxUtil.cpp, line #1352 Expression : eComponent < NUM_COMPONENTS is related to the number of frames of a specific animation, replaced by a specific monster. Let me explain this more clearly: I tried to replace the Yeti with my Skeleton Warrior, did everithing ok, and... CRASH. Then I tried replacing the animations one by one, to see wich one was the problem. All of them passed the test, except the walking animation. Mine had 152 frames, the Yetis' had 96. Hmm, so apparently just modifying animdata.d2 is not enough in some cases. I tried to modify YEWLHTH.cof as well, replacing there also the number of animation frames, and adding the sequence of 01's needed in the end of the file, and CRASH. Same error. Ok, so I deleted 32 frames of my walking animation. Now it had 120, tested and crash. 112 crash, 104 crash, 96 WORKED (of course it had to work, it's the Yetis' framecount ). This gets even more weird when I remembered that the 160-frame walk animation of the lich worked perfectly with the quill rat !! Ok guys, so there's a greater force acting here, not just animdata.d2. I see only one possibility as of now, though it seems very unlikely: for each animation type there are framecounts that are not allowed (in my case the walking crashed with 152, 120, 112, 104). I'm going to do some more tests later, not enough time right now  So, what you guys think of this?? ------------------ Alkalund

|
Myhrginoc Honorary Warlord
   
Posts: 1326 From: Percussion U Registered: Dec 2001 |
posted 29 January 2002 11:18
COF files are a little more complex than that. You were partially right to add to the end of the file as you did. But there are other bytes you need to add too.The first byte gives you the number of layers the animation uses for sprite manipulation. The second byte gives you the number of frames per direction. This value is used in determining the quantities of bytes for the last two parts. The third byte gives you the number of directions, so the total number of frames is Byte 2 * Byte 3. There are then a number of bytes I haven't figured out yet. Fourth, you get a series of nine-byte structures ending with the three-letter weapon class and a zero byte (probably a null-terminated string). You get one structure for each layer. I haven't cracked the entire structure yet, but I think this must identify which DCC files are part of the animation this COF file governs. Fifth is a series of one-byte values equal to the number of frames in the animation. Most values are zero. I suspect this has a synchronizing function between the animation and the gameplay...e.g. a weapon connects on the eighth frame. Lastly is a layer table that is number of layers wide by number of frames long. You edited the layer table without adding bytes to the previous structure. Try inserting some zeros in front of the first layer table byte and see what happens. I uploaded two tables, one for all the COFs I could extract and one for all the DCCs (about 45,000 files). They should be posted on the Keep soon. The DCC table is missing some important information that I haven't figured out how to extract yet, such as frame sizes and offsets. I have seen the source code for CVDCC.DLL (download from the CV website), but I don't know C++ at all---if anybody wants to help me with how those values are stored I'll be happy to expand my table. One warning: I know there is at least one corrupted COF file in my table (amblxbow.cof)...when I look at it in a hex editor it doesn't resemble any other COF. Anybody had any crashes with Amazons using crossbows? Or is this a bad file but an unused mode so it never comes up? Or do I just have a bad copy? I never use crossbows so I don't see anything happening. [This message has been edited by Myhrginoc (edited 29 January 2002).]

| |