sfall-team / sfall

sfall - Engine modifications for Fallout 2
https://sfall-team.github.io/sfall/
GNU General Public License v3.0
346 stars 40 forks source link

Default animation setting #269

Closed burner1024 closed 3 years ago

burner1024 commented 5 years ago

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.

NovaRain commented 5 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.

burner1024 commented 5 years ago

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.

Lexx2k commented 4 years ago

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.

NovaRain commented 4 years ago

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.

Lexx2k commented 4 years ago

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)

FakelsHub commented 4 years ago

You want to be in the normal mode the game just crash and show error?

NovaRain commented 4 years ago

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.

Lexx2k commented 4 years ago

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".

FakelsHub commented 4 years ago

Yes, this

add a dummy file. :)

Lexx2k commented 4 years ago

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.

FakelsHub commented 4 years ago

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.

burner1024 commented 3 years ago

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.

NovaRain commented 3 years ago

I think there should be a message about missing animation frames in the debug log?

burner1024 commented 3 years ago

You won't look in debug log if you don't know that something's wrong.

NovaRain commented 3 years ago

Maybe enable the missing frame log to always display in the message window in game?

burner1024 commented 3 years ago

You mean PDA? I think that'd work. "Error: missing animation XXXXXX.frm" or similar.

egornovivan commented 3 years ago

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)

Lexx2k commented 3 years ago

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.

burner1024 commented 3 years ago

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?

NovaRain commented 3 years ago

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".

burner1024 commented 3 years ago

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.

NovaRain commented 3 years ago

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.

egornovivan commented 3 years ago

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

Lexx2k commented 3 years ago

Spending hours on fixing a problem that isn't one. :D

egornovivan commented 3 years ago

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

FakelsHub commented 3 years ago

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.

Lexx2k commented 3 years ago

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.

burner1024 commented 3 years ago

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.

FakelsHub commented 3 years ago

Проблемы отсутствующих art-файлов и анимаций выводятся в лог.