Expose vileghosts to CVAR/MAPINFO

Moderator: GZDoom Developers

User avatar
3saster
Posts: 199
Joined: Fri May 11, 2018 2:39 pm
Location: Canada

Expose vileghosts to CVAR/MAPINFO

Post by 3saster »

I understand that Graf is against new maps using ghost monsters which is why it hasn't been exposed yet. However, it can be replicated fairly easily using an event handler and the WorldThingGround event. Given that ZScript allows hacking in the vileghosts behaviour (and you even have to use MAPINFO anyway to add the eventhandler), might it not be time to just expose this parameter to MAPINFO and the compat options as a CVAR? The flag already exists and is used in GZDoom's own automatic compatibility, so it should be fairly trivial to just expose it.
User avatar
inkoalawetrust
Posts: 36
Joined: Mon Aug 26, 2019 9:18 pm
Discord: inkoalawetrust #9783
Github ID: inkoalawetrust
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: Expose vileghosts to CVAR/MAPINFO

Post by inkoalawetrust »

I think the compatflag should be exposed already, the code for it already exists internally, but is simply hardcoded. And exposing it would be pretty trivial. Why should this compatflag be any different than all the rest of the dozens of flags that you can toggle on your own ?

I seriously doubt any new GZDoom maps would ever use this flag, or most of them for that matter. So in practice, this just makes it so users can't have maps work properly, if they run the map in GZDoom, and the map isn't in the list of maps that turn this flag on automatically.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 47976
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Expose vileghosts to CVAR/MAPINFO

Post by Graf Zahl »

The difference here is that this isn't a real compatflag that gets checked at runtime.
To make this work, certain engine features need to be disabled for the entire map.
Gez
 
 
Posts: 17633
Joined: Fri Jul 06, 2007 3:22 pm

Re: Expose vileghosts to CVAR/MAPINFO

Post by Gez »

That shouldn't be a problem for MAPINFO, though.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 47976
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Expose vileghosts to CVAR/MAPINFO

Post by Graf Zahl »

TBH, the entire logic there was some ill-conceived change. The workaround to spawn a new gib actor was only needed for players, but is being used for everything and only complicates matters.

I wouldn't hesitate reverting the entire system back to how Doom originally did it and just define the gib state as a commonly accessible 'crush' state in Actor and use the separate gib actor only for players then.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 47976
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Expose vileghosts to CVAR/MAPINFO

Post by Graf Zahl »

All done. This is now a lot closer to the original behavior. Crushing a non-player will never spawn a RealGibs actor so the vileghosts flag can now be made a user settable flag.

AsI suspected, there is no need at all to apply this actor replacement to non-players.
User avatar
3saster
Posts: 199
Joined: Fri May 11, 2018 2:39 pm
Location: Canada

Re: Expose vileghosts to CVAR/MAPINFO

Post by 3saster »

Any MAPINFO lump using the compat_corpsegibs parameter previously will now throw an error (though this doesn't prevent the game or level from starting up). Minor concern, but since previous mapsets have used this flag and it was correct at the time, this particular parameter should either not give an error, or function as an alias for compat_vileghosts. I've only ever seen compat_corpsegibs used to either set vileghosts in GZDoom's internal compatibility, or for MAPINFOs that appear to be trying to force a particular compat setting like Doom/Boom (iirc Deus Vult 2 does this). Since GZDoom didn't expose the vileghosts setting til know, I can't think of any reason you would set that variable unless you were trying to set old Doom compatibility (which would expect vileghosts), so maybe it should be used as an alias? Maybe it might be worth asking on Doomworld?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 47976
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Expose vileghosts to CVAR/MAPINFO

Post by Graf Zahl »

Yeah, it should be added back for those as a no-op.

Return to “Closed Feature Suggestions”