(New Level Refactor) VM Abort on 20 Heretics Credits map

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!

(New Level Refactor) VM Abort on 20 Heretics Credits map

Postby Rachael » Sun Feb 10, 2019 8:02 am

https://www.doomworld.com/idgames/level ... orts/20hcc

To reproduce, simply use the console and do "map credits" - then look for Gutawer's avatar, and step on the platform underneath it.

This is the avatar to look for:
Image

The expected result (and what previous versions of GZDoom did) is it should activate a ripple shader.

Instead, it VM aborts with a null pointer.
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle

Re: (New Level Refactor) VM Abort on 20 Heretics Credits map

Postby Marisa Kirisame » Sun Feb 10, 2019 8:22 am

Looks like Gutawer made the same silly mistake I made in a couple other mods. He's using EventHandler.Find to look for a StaticEventHandler.

Edit: Fixed it. Was just a single line change anyway.
User avatar
Marisa Kirisame
ZScript Magician
 
 
 
Joined: 08 Feb 2008
Location: Vigo, Galicia
Discord: Marisa Kirisame#4689
Twitch ID: magusmarisa
Github ID: OrdinaryMagician
Operating System: Other Linux 64-bit
Graphics Processor: nVidia with Vulkan support

Re: (New Level Refactor) VM Abort on 20 Heretics Credits map

Postby Graf Zahl » Sun Feb 10, 2019 8:39 am

Those Find functions were extremely sloppy coding. Why have two when they do the exact same thing with no safeguards present that what they return is correct?
Of course, not checking the return of a function call is also a source of problems.
User avatar
Graf Zahl
Lead GZDoom Developer
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: (New Level Refactor) VM Abort on 20 Heretics Credits map

Postby Rachael » Sun Feb 10, 2019 8:54 am

It's really not going to bother me that much if this simply becomes incompatible with newer versions of GZDoom. The thing is - this is the released version and I don't really want to update it, at least not to /idgames, at least until Zero X. Diamond finishes his super-super-secret map that he had been working on prior to its release.

If this must stay broken (except for the repository version that Marisa just updated) - so be it.
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle

Re: (New Level Refactor) VM Abort on 20 Heretics Credits map

Postby Graf Zahl » Sun Feb 10, 2019 9:27 am

I think I am just deprecating these functions.
What this needs is a Level.FindEventHandler function and one StaticEventHandler.FindHandler function that exclusively search their respective list, not two functions with different names that both so the same thing, both wrong.
User avatar
Graf Zahl
Lead GZDoom Developer
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: (New Level Refactor) VM Abort on 20 Heretics Credits map

Postby Major Cooke » Mon Feb 11, 2019 9:37 am

Amusingly, that bug also affects D4D's upgrade cases. No wonder why people aren't getting upgrades whenever they walked over the cases, but I can work around this by having the handler assign itself as a variable at least.
User avatar
Major Cooke
The road to Hell is paved in the carrion she leaves behind.
 
Joined: 28 Jan 2007
Discord: Major Cooke#0846


Return to Bugs

Who is online

Users browsing this forum: No registered users and 2 guests