MantisBT - Zandronum
View Issue Details
0003004Zandronum[All Projects] Bugpublic2017-02-06 12:342018-09-30 21:48
Cutman 
Torr Samaho 
urgentmajoralways
closedfixed 
3.0-beta 
3.03.0 
0003004: Skins do not work online (3.0-alpha-170205-2117)
Player Skins (no matter how they are loaded) do not function at all online in this build. The client appears to be using a skin but it won't be visible to others.
1. Boot up a server.
2. Join with a second player/client.
3. Pick a player skin that both clients own and check both clients.
No tags attached.
Issue History
2017-02-06 12:34CutmanNew Issue
2017-02-06 13:29WaTaKiDNote Added: 0016778
2017-02-06 13:45WaTaKiDNote Edited: 0016778bug_revision_view_page.php?bugnote_id=16778#r10125
2017-02-06 20:02Torr SamahoNote Added: 0016794
2017-02-06 20:02Torr SamahoAssigned To => Dusk
2017-02-06 20:02Torr SamahoStatusnew => assigned
2017-02-12 14:07Torr SamahoAssigned ToDusk => Torr Samaho
2017-02-12 14:07Torr SamahoNote Added: 0016843
2017-02-12 14:19Torr SamahoNote Added: 0016844
2017-02-12 14:19Torr SamahoStatusassigned => needs testing
2017-02-17 19:09WaTaKiDNote Added: 0016874
2017-02-19 20:06Ru5tK1ngStatusneeds testing => resolved
2017-02-19 20:06Ru5tK1ngResolutionopen => fixed
2017-02-19 20:06Ru5tK1ngFixed in Version => 3.0
2017-02-19 20:06Ru5tK1ngTarget Version => 3.0
2018-09-30 21:48Blzut3Statusresolved => closed

Notes
(0016778)
WaTaKiD   
2017-02-06 13:29   
(edited on: 2017-02-06 13:45)
can confirm the issue, and it was introduced somewhere after changeset c9e3038

edit: ive found this commit to be the culprit: 'https://bitbucket.org/Torr_Samaho/zandronum/commits/a8335806821b23c1d8565211a6e622d5b59918d2 [^]'

(0016794)
Torr Samaho   
2017-02-06 20:02   
Dusk, can you look into this? I had a brief look and noticed in clientcommands_WriteCVarToUserinfo for the cvar skin "cvar->GetGenericRep( CVAR_String ).String" is actually "0" instead of "base".

Looks like ZDoom is not treating all USERINFO variables equally. There are also some hints on this in userinfo_t::Reset(): There is the following block, which suggests that not only the skin is affefted:

            // Some cvars have different types for their shadow copies.
            switch (cvarname.GetIndex())
            {
            case NAME_Skin: type = CVAR_Int; break;
            case NAME_Gender: type = CVAR_Int; break;
            case NAME_PlayerClass: type = CVAR_Int; break;
            default: type = cvar->GetRealType(); break;
(0016843)
Torr Samaho   
2017-02-12 14:07   
I'll have a closer look at this.
(0016844)
Torr Samaho   
2017-02-12 14:19   
Should be fixed now.
(0016874)
WaTaKiD   
2017-02-17 19:09   
'https://www.dropbox.com/s/836ig8yxagju9e8/zandronum-3.0-r170212-1419-beba217-windows.zip?dl=0 [^]' contains the following fix: 'https://bitbucket.org/Torr_Samaho/zandronum/commits/beba217547eade226f51b8a5da5bc229ffab46b6 [^]'

after some quick tests with several clients, cl_skins 1, and disconnecting/reconnecting before and after changing skins, it seems to be working fine now