Small bug regarding artifacts in Heretic/Hexen

Is there something that doesn't work right in the latest GZDoom? Post about it here.

Moderator: GZDoom Developers

Forum rules
Please construct and post a simple demo whenever possible for all bug reports. Please provide links to everything.

If you can include a wad demonstrating the problem, please do so. Bug reports that include fully-constructed demos have a much better chance of being investigated in a timely manner than those that don't.

Please make a new topic for every bug. Don't combine multiple bugs into a single topic. Thanks!

Small bug regarding artifacts in Heretic/Hexen

Postby Plucky » Tue Jan 05, 2021 11:50 pm

During deathmatch in vanilla Heretic and Hexen, the Ring of Invulnerability and Icon of the Defender do not respawn when picked up during play, in contrast to the other artifacts in the level.
However, in GZDOOM and it's derivatives, this is not the case. They will respawn with the other artifacts after a cooldown. Even when having sv_respawnsuper set to false, they will do so anyway.

I'm guessing the engine doesn't view them as super items?
Plucky
 
Joined: 15 Aug 2015

Re: Small bug regarding artifacts in Heretic/Hexen

Postby Player701 » Thu Jan 07, 2021 1:25 am

It looks like these items don't have the INVENTORY.BIGPOWERUP flag.
User avatar
Player701
 
 
 
Joined: 13 May 2009
Location: Russia
Discord: Player701#8214
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Small bug regarding artifacts in Heretic/Hexen

Postby Rachael » Thu Jan 07, 2021 4:31 am

Looking at Heretic's source code, at the very least, it appears that there is code preventing the Ring of Invincibility from respawning, but it's not in quite as obvious a place.

However, looking at Hexen's source code it appears to be a whole different story - I actually don't even know what to make of this. https://github.com/videogamepreservatio ... #L878-L901

It suggests that there are actually respawn "states" where it respawns said artifacts after a period of time as defined by their wait state.

How deep does this rabbit hole go? Well, I went and looked up the actual state the artifact goes in (in-world) when it is picked up. https://github.com/videogamepreservatio ... #L411-L431

What conclusion to draw from this? It comes back after 10 minutes, plus a short amount of animation time. Furthermore, the other artifacts as defined near the links I gave above, have different periods of respawn time, and if not specifically defined, do not respawn at all.

I kind of figured fixing this would not be as simple as adding flags. Some more evaluation and discussion is merited for how to handle this.
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Small bug regarding artifacts in Heretic/Hexen

Postby drfrag » Sat Jan 09, 2021 12:19 pm

So it's okay to add the INVENTORY.BIGPOWERUP flag to the ring of invincibility?
User avatar
drfrag
Os voy a romper a pedazos!
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain
Discord: drfrag#3555
Github ID: drfrag666

Re: Small bug regarding artifacts in Heretic/Hexen

Postby Rachael » Sat Jan 09, 2021 12:53 pm

Maybe, I haven't done that yet because I don't know how to handle Hexen's. The issue with Hexen's is no artifact respawns - except 4 specific ones and those are on a timer. And that's a big issue because it doesn't work that way in Heretic, and those artifacts share the same actor class.
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support


Return to Bugs

Who is online

Users browsing this forum: No registered users and 1 guest