Skins don't work with chex.wad or chex3.wad

These bugs do plan to be resolved, when they can be.

Moderator: GZDoom Developers

Post Reply
User avatar
cq75
Posts: 1212
Joined: Sun Dec 27, 2009 9:28 pm
Graphics Processor: nVidia with Vulkan support
Location: Just beyond the line horizon

Skins don't work with chex.wad or chex3.wad

Post by cq75 »

Skins only work in Heretic and the Doom IWADs (ultimate doom, doom 2, freedoom, final doom)
ZD_Strife_Guy.wad
Skins file I was testing it with
(121.47 KiB) Downloaded 282 times
This skin works if Doom 2 is the IWAD, but it doesn't work if Chex or Chex Quest 3 is the IWAD


I included the chexplayer definition for reference:
Spoiler: chexplayer

EDIT - I have more information to add. What I did was take the chex player, comment out everything, and add one thing at a time until the skins stopped working.

The property that is causing the problem is Player.ColorRange.

This is what I found out:

1. Any class inheriting from Doomplayer can use skins, but ONLY if it has the same player.ColorRange. If you inherit from doomplayer and change the colorrange, the only skin will be "base".

2. Classes that do not inherit from Doomplayer cannot use skins at all, even if you use the Doom color range property, and everything else is exactly the same.

EDIT2 - I discovered something else, after testing some things in Heretic

The Color range must match the GAME you are playing too.

Playing using a heretic IWAD, using the heretic color range, but inheriting from Doom player will not allow skins

Playing using the doom IWAD, using the heretic color range, and inheriting from heretic player also does not allow skins.

The only combinations that work are:

Playing using a Doom IWAD, using the Doom color range, and inheriting from Doom player

or

Playing using heretic.wad, using the Heretic Color range, and inheriting from Hereticplayer

So, the IWAD, color range, and inherited class must all be from the same game.

Every other combination of IWAD, color range, and inheritance will cause the only skin to be "base"
User avatar
cq75
Posts: 1212
Joined: Sun Dec 27, 2009 9:28 pm
Graphics Processor: nVidia with Vulkan support
Location: Just beyond the line horizon

Re: Skins don't work with chex.wad or chex3.wad

Post by cq75 »

<bump>

I made alternative player classes in my skulltag mod to make "skins" as a workaround.

So... is there anything else I can do to help this get fixed? It would be nice to use skins in games other than Doom and Heretic.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49067
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Skins don't work with chex.wad or chex3.wad

Post by Graf Zahl »

Honestly, the code as it is is not fixable. It's one big mess that tries to match data with insuffient information to the respective player classes.
Since many of ZDoom's features were not present when the skins feature was developed (for Legacy) the engine has to do a lot of guesswork and make certain assumptions.

I guess this eventually needs a complete rewrite.
No idea if a quick band-aid fix is possible to have the Chex player have skins. I don't understand much of what it does.
User avatar
cq75
Posts: 1212
Joined: Sun Dec 27, 2009 9:28 pm
Graphics Processor: nVidia with Vulkan support
Location: Just beyond the line horizon

Re: Skins don't work with chex.wad or chex3.wad

Post by cq75 »

I see. Thanks anyway.
Post Reply

Return to “On Hold Bugs”