The Black Wyrm Lair Forums
The Black Wyrm's Lair Terms of Use Help Search Members Calendar

Welcome Guest ( Log In | Register )

> DEITM049.ITM Error
BeachBum
post Oct 7 2008, 02:23 AM
Post #1





Forum Member
Posts: 4
Joined: 4-September 08




I am in the middle of installing Big World and specifcally the Lost Crossroads Spell Pack for Baldur's Gate 2 = SpellPackB5 and am encountering an error.

When trying to install the Core Files and Graphics it fails with the following error. "DEITM049.ITM: read out of bounds".

Can anyone help resolve this.

Thanks.

Go to the top of the page
 
Quote Post
 
Start new topic
Replies
Baronius
post Oct 7 2008, 04:05 PM
Post #2


Master of energies
Group Icon

Council Member
Posts: 3327
Joined: 9-July 04
From: Magyarország




ToD vs. UB is a wrong example. UB applies a typical antipattern which introduces very serious incompatibility risks. The only case when such errors should be fixed in other mods (rather than in the mod which introduces them) is when the mod which introduces them isn't supported any more.

If FR_ROV isn't supported any more, then you're right that fixing the problem in other mods is okay. In fact, even if it was supported but a quick reaction is required, it's OK to fix bugs like this (as they don't introduce any further risks, the file is corrupt and that's all).

However, ignoring is a completely different matter:
QUOTE(TheBigg)
[..] or ignoring the problem is generally better than having 1,000,000 threads asking "how do I fix that"?

This is exactly the fundamental difference between your and e.g. BWL's Improved Anvil's philosophy. (That is, we find every detail, feature of the mod important, because seamless details are what make a mod really excellent and powerful. Of course, this depends on the mod's type as well -- I'll explain it below -- but to most mods, this is true.)

So, assuming "ELSE 0" was used, even if the file works correctly in-game, there are still two major problems:
(1) If the problem hasn't been revealed yet, such "ELSE 0" instructions just keep in hidden further. This prevents/hinders the detection of corrupt, buggy files in (possibly widely used) mods.
(2) The mod which would have failed without "ELSE 0" tried to do something with the corrupt file, which means it wanted to add/extend/modify content. In other words, modifying that file is supposed to be a feature of the mod, something which belongs to its content.

You rather prefer happy players, who don't complain or possibly put apart the mod due to the negative experience with the installation failure; happy players, who play the mod, even if with missing features of the mod. If the author of the mod is happy with this fact, then OK, it's his or her decision. Of course, it's not a disaster if a mod like SpellPack can't apply its changes to 1-2 files from the thousands of files, but as far as I've noticed, this "ELSE 0" approach has been generally encouraged to be used in TP2 of all WeiDU-based mods. There are many cases where it's totally incorrect, e.g. for mods which apply changes primarily to specific elements (rather than applying general changes to all elements of a given type).

On a side note, there is no problem with a lot of threads, because that is why patches can be released. Once it's done, it can just be linked in every thread (and obviously there won't be hundreds of threads, just a few tens at most). The patch can be added as a pinned topic.

This "ELSE 0" approach (provided it's encouraged for all TP2s, and it is) also fits to the attitude I've noticed in case of certain mod developers/sites:

"Let's suppress, disguise problems rather than undertaking the inconvenience they cause and the effort required to solve them"

It's present at different levels and in different forms (that is, not all modders follow it to the same degree).

In certain special cases, "ELSE 0" can be justified, but not generally (for example, for mods which e.g. read all BAMs in the game, it can be useful). But usually, it's not required at all. Any WeiDU tutorial content (or anything like that, such as sample code) that generally encourages the use of "ELSE 0" should be corrected, or it will be misleading, especially for new modders who search for help material and base source code for their mods.

To sum up: except in special, justified cases, I believe that preventing bugs for the sake of "successful installation" instead of recognizing and fixing them is a strongly incorrect attitude. Of course, in this concrete case (SpellPack), it might be okay (usually, for instructions such as COPY_EXISTING_REGEXP with a predictably high number of matches, it should be OK).


--------------------
Mental harmony dispels the darkness.
Go to the top of the page
 
Quote Post
The Bigg
post Oct 7 2008, 05:04 PM
Post #3





Forum Member
Posts: 165
Joined: 29-January 05
From: Modena (Italy)




QUOTE(Baronius @ Oct 7 2008, 04:05 PM) *
ToD vs. UB is a wrong example. UB applies a typical antipattern which introduces very serious incompatibility risks. The only case when such errors should be fixed in other mods (rather than in the mod which introduces them) is when the mod which introduces them isn't supported any more.

If FR_ROV isn't supported any more, then you're right that fixing the problem in other mods is okay. In fact, even if it was supported but a quick reaction is required, it's OK to fix bugs like this (as they don't introduce any further risks, the file is corrupt and that's all).

I wouldn't call neither UB nor FR_ROV maintained, since their author and maintainer are (almost) retired. True, JC and/or SC could fix them by authority (I'd have done so if I were an admin). The reason why this doesn't happen beats me, but I suppose it's related to a misguided sense of copyright. Incidentally, in the case of FR_ROV, the mod's forum contains the fix as an attachment in a post (not even a pinned one), but it hasn't been applied since forever.

QUOTE
On a side note, there is no problem with a lot of threads, because that is why patches can be released. Once it's done, it can just be linked in every thread (and obviously there won't be hundreds of threads, just a few tens at most). The patch can be added as a pinned topic.
I find your argument misguided. Between threads, bumps, and unrelated bumps, there are at least 300 people who have failed to read the pinned topic before asking about ar0100.bif.

QUOTE
This is exactly the fundamental difference between your and e.g. BWL's Improved Anvil's philosophy.

Even if the file works correctly in-game, there are still two major problems:
(1) If the problem hasn't been revealed yet, such "ELSE 0" instructions just keep in hidden further. This prevents/hinders the detection of corrupt, buggy files in (possibly widely used) mods.

I believe that FR_ROV was made in 2002 with some older teambg tool (not IEEP). I doubt that this type of file corruption is something you must watch out for in newer mods. Also, "Be liberal in what you accept, and conservative in what you send." (Jon Postel, RFC 760).

QUOTE
(2) The mod which would have failed without "ELSE 0" tried to do something with the corrupt file, which means it wanted to add/extend/modify content. In other words, modifying that file is supposed to be a feature of the mod, something which belongs to its content.

I don't understand this from a grammar POV. Do you mean that it's morally wrong for Spellpack to alter FR_ROV, or that Spellpack will have broken features?
In meaning 1, well, it's not really the fault of ELSE 0 for a morally wrong action. In meaning 2, I believe you're misunderstanding what ELSE 0 does. Generally speaking, ITM patching code looks like
CODE
for all effects
  read the opcode
  read another parameter
  if (opcode = X) and (parameter = Y) then
    doSomething()

If an item has 6 effects but states it has 10 (deitm049's situation), then using ELSE 0 will mean that the condition in the 'if' will be automatically false for effects 6-9, whereas it'd be applied normally for effects 0-5. If your code doesn't have the 'if', then the mod will generally fail at the doSomething() step.


--------------------
Please do not contact me for assistance in using BGT, BP, any other of the 'large mods', or a mod I didn't write or contribute to. I'm not your paid support staff, so I'd suggest you to direct your help questions to the forum relative to the mod you're playing.

Thanks for your cooperation.
Go to the top of the page
 
Quote Post

Posts in this topic
BeachBum   DEITM049.ITM Error   Oct 7 2008, 02:23 AM
Galactygon   You are not the first to report an out of bounds e...   Oct 7 2008, 02:27 PM
The Bigg   DEITM049.ITM is a broken file from FR_ROV (has 6 e...   Oct 7 2008, 02:40 PM
Baronius   Why isn't the file fixed in such cases when th...   Oct 7 2008, 03:09 PM
The Bigg   Why isn't the file fixed in such cases when th...   Oct 7 2008, 03:15 PM
Azazello   DEITM049.ITM is a broken file from FR_ROV (has 6 e...   Oct 21 2008, 12:38 AM
Baronius   RE: DEITM049.ITM Error   Oct 7 2008, 04:05 PM
The Bigg   ToD vs. UB is a wrong example. UB applies a typica...   Oct 7 2008, 05:04 PM
Baronius   I don't understand this from a grammar POV. ...   Oct 7 2008, 05:34 PM
The Bigg   I meant that you make a pinned topic about the pat...   Oct 7 2008, 06:47 PM
BeachBum   Here is the file before I did as you suggested. I...   Oct 7 2008, 05:40 PM
BeachBum   Opened the file in Near Infinity and then saved it...   Oct 7 2008, 05:52 PM
Baronius   BeachBum: as far as I can see, the file you attach...   Oct 7 2008, 06:58 PM
BeachBum   Baronius - Thanks for the help. This got me by ...   Oct 8 2008, 05:24 AM
Baronius   Since no one has replied yet: I suppose that if i...   Oct 8 2008, 04:43 PM
Galactygon   Unfortunately, I cannot return to SpellPack until ...   Oct 9 2008, 04:08 PM
Baronius   I think BeachBum was merely wondering whether or n...   Oct 9 2008, 05:05 PM
Galactygon   The file I attached has consistent structure for 1...   Oct 10 2008, 10:50 AM
Baronius   Just to make sure I understand your question: are ...   Oct 10 2008, 12:32 PM
Galactygon   Yes, or more like how is the game able to run smoo...   Oct 10 2008, 01:36 PM
Baronius   RE: DEITM049.ITM Error   Oct 10 2008, 04:49 PM
The Bigg   It ignores the problem if an invalid value is retu...   Oct 10 2008, 05:07 PM
Baronius   Possible. One more reason why I generally don...   Oct 10 2008, 05:42 PM
Baronius   I actually meant that the third-party code (e.g. ...   Oct 21 2008, 02:16 AM
Galactygon   I actually meant that the third-party code (e.g. ...   Oct 21 2008, 06:21 AM
Baronius   Glad to hear that. I hope you will practise that i...   Oct 21 2008, 06:50 AM
Galactygon   Glad to hear that. I hope you will practise that i...   Oct 21 2008, 07:21 AM
Baronius   Where do such corrupt files occur? The algorithm y...   Oct 21 2008, 08:57 AM
Galactygon   Where do such corrupt files occur? The algorythm y...   Oct 21 2008, 10:32 AM
Baronius   I see, but I asked what mods (or perhaps the origi...   Oct 21 2008, 03:55 PM
Galactygon   Filled in by what? A WeiDU installer of a mod? If ...   Oct 21 2008, 07:02 PM
Baronius   So you don't want to reveal where do these ...   Oct 21 2008, 08:32 PM
Galactygon   So you don't want to reveal where do these ...   Oct 23 2008, 05:26 PM
Baronius   Perhaps I'm misinterpreting something, so let...   Oct 23 2008, 05:41 PM
Galactygon   Is this correct? If yes, my question was simple: y...   Oct 23 2008, 05:52 PM
Baronius   First, just a quick note: SOURCE_SIZE in WeiDU re...   Oct 23 2008, 07:06 PM
The Bigg   First, just a quick note: SOURCE_SIZE in WeiDU ret...   Oct 23 2008, 08:30 PM
Baronius   I also meant SOURCE_SIZE in that way (my wording ...   Oct 23 2008, 09:24 PM
Leomar   A nice treasure is hidden in this thread. :) So...   May 17 2009, 03:37 AM
Tervadh   So I'll let you know, that we have included th...   May 18 2009, 10:39 PM
Leomar   So I'll let you know, that we have included th...   May 20 2009, 04:04 AM
Galactygon   This issue has been fixed. -Galactygon   Feb 6 2010, 06:46 PM


Reply to this topicStart new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:



- Lo-Fi Version Time is now: 7th October 2025 - 01:38 AM