Jump to content

Various consistency check issues


Magus

Recommended Posts

I get some warnings that might be false positives:

 

1) "Invalid item on creature: 'RNDSCR03'". It's valid, works in game. Random scroll. Same goes for RNDMAG*, I think (but didn't test).

2) For some reason, "SARTEM01 - Value 224 isn't listed in specific.ids". Which is listed in my specific.ids (I can attach it if you want)

 

Link to comment

Edit: 2) still stands

 

3) there's lots of "Description length constraint violated". The constraint seems to be just arbitrary. Items with long descriptions are perfectly fine in game.

Same for "Name length constraint violated" (it always works in game, although it shows only the beginnings of the name)

 

4) "The magic flag and the magic level are inconsistently set" is wrong more often than otherwise. Basically for all bolts and arrows.

Link to comment

However, there's lots of

3) "Description length constraint violated". The constraint seems to be just arbitrary. Items with long descriptions are perfectly fine in game.

Same for "Name length constraint violated" (it always works in game, although it shows only the beginnings of the name)

 

4) "The magic flag and the magic level are inconsistently set" is wrong more often than otherwise. Basically for all bolts and arrows.

4. What mods do you have installed ? It could very well be that, and the vanilla game isn't really that consistent either. And knowing that the level and item flags also have effects that are set for reasons. And mods can have their own interpretation of each of these.

3. What type of game is this ? The dialog.tlk has a limit for the string length, a certain number of characters, but that's a thing that I know very little about, but your answer could give people more to go on.

Link to comment

5) "The magic level is higher than 10." - is there any reason why it can't be?

6) "The THAC0 is bigger than 20 in extended header #1" - same question.

5. Well usually the magic level tries to relate to the level of the spell, at least in dispelling aspect. And zero is 10, to what comes to functionality.

6. Usually the 20 is the minimum Thac0 for the party characters, setting it lower can be done but I would do it with lesser primary stats (STR), not setting weapon proficiency and the like. And the stat is reduce-able, so setting it is no good as you could as well reduce it by 5 and it would do the same thing.

Link to comment

I'm pretty sure he's asking if these things' limits are set by the engine or merely recommended by the people writing the tools/wiki/wtfever.

More specifically he is actually asking why the sanity checks in DLTCEP brings up the facts ... and the use-ability of those stats should give the best clue about it. No ?
Link to comment

No. Maybe it makes sense if you're trying to maintain compatibility with mods, but the question should be addressed on its own merits. If further explanation is warranted, so be it. It's pretty significant if the engine doesn't recognize value outside of the stated range, as opposed to it does but violates some soft-coded assumption (2e rules, mods, etc).

Link to comment

@Fiann I wouldn't bother trying to talk sense to Jarno. It's much easier to just put him on ignore list. Which I did quite a time ago. So I don't know what's he saying, and hopefully never will.

@Jarno, I would tell you to never ever answer my posts or topics, since there's no point, but I know you won't be able to resist your word diarrhea.

 

On topic, though, there's

7) "This item has price but no weight"/"This item has weight but no price"

I'm not sure how are weight and price are supposed to correlate. I'd even understand if it was just checking for 0 price or 0 weight, although I think that would be a stretch. But tying them to each other... am I missing something?

Link to comment

I can't answer most of these, but I'll put forth some guesses:

3) there's lots of "Description length constraint violated". The constraint seems to be just arbitrary. Items with long descriptions are perfectly fine in game.
Same for "Name length constraint violated" (it always works in game, although it shows only the beginnings of the name)

We had a problem with Fixpack v10 where the description length for the Find Familiar spell was so long it crashed the game for German players. I don't know if that's what DLTCEP is complaining about here.

4) "The magic flag and the magic level are inconsistently set" is wrong more often than otherwise. Basically for all bolts and arrows.

I'm guessing this is a disagreement between the enchantment level and the magical flag. Anything flagged as magical should probably have a non-zero enchantment level (and the reverse), even though outside of weapons the enchantment level really doesn't matter.

7) "This item has price but no weight"/"This item has weight but no price"
I'm not sure how are weight and price are supposed to correlate. I'd even understand if it was just checking for 0 price or 0 weight, although I think that would be a stretch. But tying them to each other... am I missing something?

Again guessing, but many weightless items tend to be magically created items like Melf's Minute Meteors, Shillelagh, etc. meaning price would not be relevant for such items.

 

I like DLTCEP, but I have found that most of its error checkers err on the side of false positives.

Link to comment

1. The random item is likely a bug in dltcep if it works in game. But i see you retracted that report?

 

2. Strange, To me sartem01 is just reported because of an invalid store name.

 

3. Spell/Item name Length - it breaks UI, store displays and it is likely a buggy misplaced string. It was written with english in mind, so it might have false positives in German. I don't really care. To me it is more important to find english bugs and the german text will also break the UI anyway. The accepted length is indeed a bit arbitrary.

 

4. What Cam said, i just couldn't be bothered with making a check for weapons. Is there any reason they shouldn't be consistent in non weapons?

 

5. The magic level cannot be legally higher than 9. Use 0 to bypass level resistance. It may or may not cause problem deep inside the engine.

 

6. I think it is a sanity check. You shouldn't have anything > 5 there anyway.

 

7. Yeah, this check came from the times of the Darkest Day. Half of the items in stores had no prices set. Had to figure out something that catches them without producing many false positives. Things advanced since then. We got corpses with weight and no set price and weightless items with a price as well. This check should be optional.

 

All these checks are intentionally on the strict side - most of them are possible to turn off, and item checking is optional itself. These features were designed to make a short list of weird items that i can manually go through. They have caught many bugs that would easily hide for a long time otherwise.

 

@Jarno - uh, actually.... nevermind.

Link to comment

1. No, I thought I'd retract 2), but I didn't.

2. What can be done then? Want to see specific.ids?

3. By breaking UI you mean not displaying the whole string, right?

4. For weapons, it's obviously not the case. Besides arrows, there's Bala's axe, etc. For non-weapons, it's as far as I'm aware, there's no difference. Anyway, I'm just asking to make sure.

5-6. So both these are sanity checks, and "illegal" values do work in game?

7. OK, I understand what's this been added for.

 

The reason I'm posting all this is that I've a pet project going slowsly, which aims to sanitize all game resources. Basically, same checks in weidu form + automatic fixes. It's largely based on lolfixer, which is in turn based on g3 debugging sute, cre fixer, etc.

So I'm trying to separate the "unusual" (but working) from "not working as expected" (a bug), or plain "crashing the game".

Link to comment

...

The reason I'm posting all this is that I've a pet project going slowsly, which aims to sanitize all game resources. Basically, same checks in weidu form + automatic fixes. It's largely based on lolfixer, which is in turn based on g3 debugging sute, cre fixer, etc.

You might wish to PM Lollorian at SHSforums, cause I just saw him a day ago there.
Link to comment

3 - Well, Cam mentioned some german translations caused more than simply truncated text. My main goal was to catch misplaced strings, though. That is a more than common thing with modding.

 

5-6. So both these are sanity checks, and "illegal" values do work in game? - i'm not sure if they work without problem. Asking for a vector index larger than the vector's max size is like asking the engine to please die. Either it listens to you or doesn't. But none of these will really help you.

 

Magic level should never be set higher than 9.

Link to comment

Archived

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

×
×
  • Create New...