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

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: Skins don't work with chex.wad or chex3.wad

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

by cq75 » Mon May 21, 2012 6:39 pm

I see. Thanks anyway.

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

by Graf Zahl » Thu May 17, 2012 5:23 am

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.

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

by cq75 » Thu May 26, 2011 12:45 pm

<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.

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

by cq75 » Fri May 20, 2011 2:02 pm

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 294 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"

Top