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)
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
Code: Select all
ACTOR ChexPlayer : DoomPlayer
{
Player.DisplayName "Chex Warrior"
Player.CrouchSprite ""
Player.StartItem "MiniZorcher"
Player.StartItem "Bootspoon"
Player.StartItem "MiniZorchRecharge", 50
Player.DamageScreenColor "60 b0 58"
Player.WeaponSlot 1, Bootspoon, SuperBootspork
Player.WeaponSlot 2, MiniZorcher
Player.WeaponSlot 3, LargeZorcher, SuperLargeZorcher
Player.WeaponSlot 4, RapidZorcher
Player.WeaponSlot 5, ZorchPropulsor
Player.WeaponSlot 6, PhasingZorcher
Player.WeaponSlot 7, LAZDevice
Player.ColorRange 192, 207 //Not perfect, but its better than everyone being blue.
Player.ColorSet 0, "Light Blue", 0xC0, 0xCF, 0xC2
Player.ColorSet 1, "Green", 0x70, 0x7F, 0x72
Player.ColorSet 2, "Gray", 0x60, 0x6F, 0x62
Player.ColorSet 3, "Brown", 0x40, 0x4F, 0x42
Player.ColorSet 4, "Red", 0x20, 0x2F, 0x22
Player.ColorSet 5, "Light Gray", 0x58, 0x67, 0x5A
Player.ColorSet 6, "Light Brown", 0x38, 0x47, 0x3A
Player.ColorSet 7, "Light Red", 0xB0, 0xBF, 0xB2
}
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"
Skins only work in Heretic and the Doom IWADs (ultimate doom, doom 2, freedoom, final doom)
[attachment=0]ZD_Strife_Guy.wad[/attachment]
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][code]ACTOR ChexPlayer : DoomPlayer
{
Player.DisplayName "Chex Warrior"
Player.CrouchSprite ""
Player.StartItem "MiniZorcher"
Player.StartItem "Bootspoon"
Player.StartItem "MiniZorchRecharge", 50
Player.DamageScreenColor "60 b0 58"
Player.WeaponSlot 1, Bootspoon, SuperBootspork
Player.WeaponSlot 2, MiniZorcher
Player.WeaponSlot 3, LargeZorcher, SuperLargeZorcher
Player.WeaponSlot 4, RapidZorcher
Player.WeaponSlot 5, ZorchPropulsor
Player.WeaponSlot 6, PhasingZorcher
Player.WeaponSlot 7, LAZDevice
Player.ColorRange 192, 207 //Not perfect, but its better than everyone being blue.
Player.ColorSet 0, "Light Blue", 0xC0, 0xCF, 0xC2
Player.ColorSet 1, "Green", 0x70, 0x7F, 0x72
Player.ColorSet 2, "Gray", 0x60, 0x6F, 0x62
Player.ColorSet 3, "Brown", 0x40, 0x4F, 0x42
Player.ColorSet 4, "Red", 0x20, 0x2F, 0x22
Player.ColorSet 5, "Light Gray", 0x58, 0x67, 0x5A
Player.ColorSet 6, "Light Brown", 0x38, 0x47, 0x3A
Player.ColorSet 7, "Light Red", 0xB0, 0xBF, 0xB2
}[/code][/spoiler]
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"