Realm667/WolfenDoom

Tank morphs don't work properly with current GZDoom

Closed this issue · 16 comments

With map c3m5_a:

  1. With gzdoom-x64-g4.12pre-463-g7f8ce13d2
    After exiting the first tank, you can't switch weapons anymore.

Screenshot_Doom_20240413_000039

  1. With gzdoom-x64-g4.12pre-489-g0328eca7f
    You can't even leave the tank anymore. You just get the text to exit the tank.

Screenshot_Doom_20240413_000331

There are no such issues with v4.11.3. Everything seems to work as expected.
Seems there are more issues w/ the engine than anticipated. This might not be all, so some more testing is needed.

See also: #1370

We should stick to the latest official version for 3.2 in my eyes - these mod-breaking changes start to get pretty frustrating... :(

Well, you better know these issues now. If you wanna release 3.2, gzdoom 4.12 or 4.13 might be out and it's already too late (too many commits) to do anything about it.

This happened when the morph code in GZDoom was refactored. I think the new engine-side code isn't properly calling the EndEffect function for the morph inventory item, but need to do more testing and create a minimal example for a bug fix request...

Thanks for investigating and reporting

The engine morph code changes have been reverted until they can be fixed.

It seems to work as expected again.

It worked again w/ the reverted code. With the new morph code, only exiting the tank works. Switching weapons after exiting isn't working. ¯_ಠ_ಠ_/¯

edit: with the new 4.13 pre release, it's even worse, it's crashing....
Seems w/ every update they break something else.

I've added a null pointer check which should fix the crashing - if not, please give me a screenshot of the error.

The weapon switch is still not working - I've posted about it on the original bug thread; will post a separate bug if I need to.

I've tested MorphTest.pk3 with Hexen, and it is possible to switch weapons after un-morphing.

Yeah, true - but something was missed in the morph code rewrite...

In the latest case for the tanks, when the player unmorphs, the cannon weapon is removed but no other weapons given back. If you 'give all', the player is still limited to using the weapon set defined for the morph - so can only use the tank cannon.

It's not crashing anymore, but you still can't select another weapon.

I think I've narrowed down the latest problem... Player weapon slots aren't being restored properly when a player unmorphs.

Posted a new bug report on GZDoom forums here, and added a workaround for the bug in the current codebase.

Please test to make sure normal behavior has been restored!

Works perfectly for me with the panzer on e3m5_a. Haven't tested with a sherman. Question ... is there a way that the "hold down to exit tank" not show when you have exited the tank ?

Done in e988288. Message fades out as soon as you exit the tank now.

weapon slot changing when unmorph works again in gzdoom [master].