Closed burner1024 closed 3 years ago
The reason is that crash messages are cryptic and hard to debug. And missing animations are often the reason. At least that would allow to detect them easily.
Currently the deliberate crash (interruption) from missing art file for critter will print a Error: file not found: (supposed frm file name)
in debug log, so it's not that cryptic. That's also why I can find out which script is the cause quickly.
Also the interruption due to missing frame is added for enabling the debug patch (DebugMode in [Debugging]), for normal gameplay the game just skips something, like the issue about Sulik leather armor frm.
Currently the deliberate crash (interruption) from missing art file for critter will print a
Error: file not found: (supposed frm file name)
in debug log, so it's not that cryptic. That's also why I can find out which script is the cause quickly.
Ah ok, I didn't know that.
Out of curiosity, is the crash "to stay" or will it get fixed at some point? Had the same issue now with the Robobrains and it's kinda shit having to disable DebugMode for that.
It's added deliberately for notifying modders to add missing frames or don't set up incorrect animations for critters. I think if you constantly get the "crash" you need to check the reason behind that.
Well yeah, the reason is obvious. The Robobrain is missing the al.frm because it doesn't exist in vanilla Fo1/2. It's most noticeable on the shotgun wielding critters, because they have to reload after 2 times using the rifle (no idea why that is triggering the al animation, though, as no other critter is doing that / playing an animation when reloading??).
I can't add a .frm file that never existed unless I make my own. :> (which would likely suck ass)
You want to be in the normal mode the game just crash and show error?
You want to be in the normal mode the game just crash and show error?
I think he wants the game not crashing but proceed normally like in non debug mode.
I think he wants the game not crashing but proceed normally like in non debug mode.
Yes, this.
Generally the issue is nothing super serious. I've set DebugMode=0 for now until I'm done with what I'm doing. As AllowUnsafeScripting is now independent of DebugMode, normal players should never notice it either. It's just a bit of a convenience thing not having to disable DebugMode when testing areas with these "crash-critters".
Yes, this
add a dummy file. :)
Did this already, but then the game kept using it, which looked awkward. aa -> al, then the robot swings its arms when reloading. The old "wiggle the rifle for a few frames" looked better. :>
I'll just keep it empty. I know that DebugMode must be disabled, so there's that.
The old "wiggle the rifle for a few frames" looked better. :>
I have no animation reloading, it just continue shoot. Use simply empty FRM without animation.
Please consider this again. It'd be great if there was something distinct, and communicating clearly to the player what the problem is (big red letter error message or whatever), so that we don't have to play the guess game. Here corpses were missing, and the only reason it was noticed is because we know in advance that they are supposed to be there. If not for that, we wouldn't even know there was a bug.
I think there should be a message about missing animation frames in the debug log?
You won't look in debug log if you don't know that something's wrong.
Maybe enable the missing frame log to always display in the message window in game?
You mean PDA? I think that'd work. "Error: missing animation XXXXXX.frm" or similar.
Maybe enable the missing frame log to always display in the message window in game?
then you should probably enable the log for all lost files(acm, etc)
Not sure if that is a good idea. Wasn't this enabled already before? And critters like plants, etc. were then spamming the message log with missing walking animations, etc.
Not sure if that is a good idea. Wasn't this enabled already before? And critters like plants, etc. were then spamming the message log with missing walking animations, etc.
First time I hear about it, got a link?
First time I hear about it, got a link?
I got some ERROR: File not found: art\critters\magunnlb.frm
logs after defeating Frank Horrigan and the combat ends. It seems like the allied turrets try to "walk".
But that's debug log, not message log? And I suppose they always tried to walk, but that never crashed the game? This must be at some other code point.
But that's debug log, not message log?
I got it in both debug log and in-game message window because I enabled the debug patch and sfall's debugging mode.
Well, probably the AI of plants and turrets should be corrected so that they do not try to walk and only then turn on the log with a message
Spending hours on fixing a problem that isn't one. :D
A temporary solution is to make a list of exceptions for the message log. The list of exceptions will come in handy in the future, since problems with animations are not always solved quickly
An exception can be made for Walking animation messages. Since there is no need for these messages. I will not do any other code complications for missing animations.
I really see no point in this. Generic player won't be able to do anything with that, and for us it's not really a mystery.
I feel like we're going in circles...
Turrets or whatever trying to walk is a different issue and is not the point here. They didn't crash the game. This is about about missing animations that crashed the game.
The point is that there was a clear indication that animation is missing: game crash. Now there isn't. Generic player was able to notice and report the issue. Now, unless it's a specific known in advance case like Klamath canyon corpses, they won't even get reported.
Проблемы отсутствующих art-файлов и анимаций выводятся в лог.
This issue got me thinking - maybe it would be useful to add a "default animation" setting? So that if an frm isn't found, the game would fall back to displaying something generic instead, along with an error message? The reason is that crash messages are cryptic and hard to debug. And missing animations are often the reason. At least that would allow to detect them easily.