diff --git a/source/src/clientgame.cpp b/source/src/clientgame.cpp index a550b6c3..f710977d 100644 --- a/source/src/clientgame.cpp +++ b/source/src/clientgame.cpp @@ -35,11 +35,12 @@ char *getclientmap() { return clientmap; }; extern bool c2sinit; extern int dblend; -void setskin(playerent *pl, int skin) +void setskin(playerent *pl, uint skin) { if(!pl) return; - int maxskin = team_int(pl->team) == TEAM_CLA ? 3 : 5; - pl->skin = max(0, skin % (maxskin+1)); + if(pl == player1) c2sinit=false; + const int maxskin[2] = { 3, 5 }; + pl->skin = skin % (maxskin[team_int(pl->team)]+1); }; void playerdeath(playerent *pl) @@ -60,11 +61,7 @@ void spawnstate(playerent *d) // reset player state not persistent if(d==player1) { gun_changed = true; - if(player1->skin!=player1->nextskin) - { - c2sinit=false; - setskin(player1, player1->nextskin); - } + if(player1->skin!=player1->nextskin) setskin(player1, player1->nextskin); setscope(false); }; equip(d); diff --git a/source/src/protos.h b/source/src/protos.h index 3ac9244b..ec17abb6 100644 --- a/source/src/protos.h +++ b/source/src/protos.h @@ -112,7 +112,7 @@ extern playerent *newclient(int cn); extern void timeupdate(int timeremain); extern void fixcamerarange(physent *cam = camera1); extern void respawnself(); -extern void setskin(playerent *pl, int skin); +extern void setskin(playerent *pl, uint skin); //game mode extras extern void flagpickup(); extern void tryflagdrop(); diff --git a/source/vcpp/cube.suo b/source/vcpp/cube.suo index 09df4939..17b2a8f4 100644 Binary files a/source/vcpp/cube.suo and b/source/vcpp/cube.suo differ