diff --git a/source/Makefile.am b/source/Makefile.am index d6662bd..53b8e24 100644 --- a/source/Makefile.am +++ b/source/Makefile.am @@ -193,11 +193,11 @@ soft_ASM= d_draw.S d_draw16.S d_parta.S d_polysa.S d_scana.S d_spr8.S \ surf16.S surf8.S endif -soft_SOURCES= cl_trans.c d_edge.c d_fill.c d_init.c d_modech.c \ +soft_SOURCES= d_edge.c d_fill.c d_init.c d_modech.c \ d_part.c d_polyse.c d_scan.c d_sky.c d_sprite.c d_surf.c \ d_vars.c d_zpoint.c draw.c r_aclip.c r_alias.c r_bsp.c \ r_draw.c r_edge.c r_efrag.c r_light.c r_main.c r_misc.c \ - r_part.c r_sky.c r_sprite.c r_surf.c r_vars.c sw_view.c \ + r_part.c r_sky.c r_sprite.c r_surf.c r_vars.c sw_skin.c sw_view.c \ screen.c $(soft_ASM) sw_model_alias.c sw_model_brush.c \ sw_model_sprite.c @@ -255,7 +255,7 @@ qf_client_x11_DEPENDENCIES=libqfnet.a libqfsys_cl.a libqfsnd.a libqfcd.a libqfjs ogl_SOURCES= fractalnoise.c gl_draw.c gl_dyn_fires.c gl_dyn_part.c \ gl_dyn_textures.c gl_mesh.c gl_ngraph.c r_efrag.c \ gl_rlight.c gl_rmain.c gl_rmisc.c gl_rsurf.c gl_screen.c \ - gl_sky.c gl_sky_clip.c gl_trans.c gl_view.c gl_warp.c \ + gl_skin.c gl_sky.c gl_sky_clip.c gl_view.c gl_warp.c \ gl_model_alias.c gl_model_brush.c gl_model_fullbright.c \ gl_model_sprite.c qfgl_ext.c diff --git a/source/gl_rmain.c b/source/gl_rmain.c index 890b369..9847937 100644 --- a/source/gl_rmain.c +++ b/source/gl_rmain.c @@ -43,6 +43,7 @@ #include "bothdefs.h" #include "cl_cam.h" #include "cl_main.h" +#include "cl_parse.h" //FIXME CL_NewTranslation #include "commdef.h" #include "console.h" #include "locs.h" @@ -830,7 +831,7 @@ R_DrawAliasModel (entity_t *e) i = currententity->scoreboard - cl.players; if (!currententity->scoreboard->skin) { Skin_Find (currententity->scoreboard); - R_TranslatePlayerSkin (i); + CL_NewTranslation (i); } if (i >= 0 && i < MAX_CLIENTS) glBindTexture (GL_TEXTURE_2D, playertextures + i); diff --git a/source/gl_rmisc.c b/source/gl_rmisc.c index 964cff8..bed584a 100644 --- a/source/gl_rmisc.c +++ b/source/gl_rmisc.c @@ -244,151 +244,6 @@ R_Init_Cvars (void) gl_smoothdlights = Cvar_Get ("gl_smoothdlights", "1", CVAR_ARCHIVE, "Smooth dynamic lights"); } -/* -=============== -R_TranslatePlayerSkin - -Translates a skin texture by the per-player color lookup -=============== -*/ -void -R_TranslatePlayerSkin (int playernum) -{ - int top, bottom; - byte translate[256]; - unsigned int translate32[256]; - int i, j; - byte *original; - unsigned int pixels[512 * 256], *out; - unsigned int scaled_width, scaled_height; - int inwidth, inheight; - int tinwidth, tinheight; - byte *inrow; - unsigned int frac, fracstep; - player_info_t *player; - extern byte player_8bit_texels[320 * 200]; - char s[512]; - - player = &cl.players[playernum]; - if (!player->name[0]) - return; - - strcpy (s, Info_ValueForKey (player->userinfo, "skin")); - COM_StripExtension (s, s); - if (player->skin && !strequal (s, player->skin->name)) - player->skin = NULL; - - if (player->_topcolor != player->topcolor || - player->_bottomcolor != player->bottomcolor || !player->skin) { - player->_topcolor = player->topcolor; - player->_bottomcolor = player->bottomcolor; - - top = player->topcolor; - bottom = player->bottomcolor; - top = (top < 0) ? 0 : ((top > 13) ? 13 : top); - bottom = (bottom < 0) ? 0 : ((bottom > 13) ? 13 : bottom); - top *= 16; - bottom *= 16; - - for (i = 0; i < 256; i++) - translate[i] = i; - - for (i = 0; i < 16; i++) { - if (top < 128) // the artists made some backwards ranges. sigh. - translate[TOP_RANGE + i] = top + i; - else - translate[TOP_RANGE + i] = top + 15 - i; - - if (bottom < 128) - translate[BOTTOM_RANGE + i] = bottom + i; - else - translate[BOTTOM_RANGE + i] = bottom + 15 - i; - } - - // locate the original skin pixels - tinwidth = 296; // real model width - tinheight = 194; // real model height - - if (!player->skin) - Skin_Find (player); - if ((original = Skin_Cache (player->skin)) != NULL) { - // skin data width - inwidth = 320; - inheight = 200; - } else { - original = player_8bit_texels; - inwidth = 296; - inheight = 194; - } - - // because this happens during gameplay, do it fast - // instead of sending it through GL_Upload8() - glBindTexture (GL_TEXTURE_2D, playertextures + playernum); - - // FIXME deek: This 512x256 limit sucks! - scaled_width = min (gl_max_size->int_val, 512); - scaled_height = min (gl_max_size->int_val, 256); - - // allow users to crunch sizes down even more if they want - scaled_width >>= gl_playermip->int_val; - scaled_height >>= gl_playermip->int_val; - - if (VID_Is8bit ()) { // 8bit texture upload - byte *out2; - - out2 = (byte *) pixels; - memset (pixels, 0, sizeof (pixels)); - fracstep = tinwidth * 0x10000 / scaled_width; - for (i = 0; i < scaled_height; i++, out2 += scaled_width) { - inrow = original + inwidth * (i * tinheight / scaled_height); - frac = fracstep >> 1; - for (j = 0; j < scaled_width; j += 4) { - out2[j] = translate[inrow[frac >> 16]]; - frac += fracstep; - out2[j + 1] = translate[inrow[frac >> 16]]; - frac += fracstep; - out2[j + 2] = translate[inrow[frac >> 16]]; - frac += fracstep; - out2[j + 3] = translate[inrow[frac >> 16]]; - frac += fracstep; - } - } - - GL_Upload8_EXT ((byte *) pixels, scaled_width, scaled_height, false, - false); - return; - } - - for (i = 0; i < 256; i++) - translate32[i] = d_8to24table[translate[i]]; - - out = pixels; - memset (pixels, 0, sizeof (pixels)); - fracstep = tinwidth * 0x10000 / scaled_width; - for (i = 0; i < scaled_height; i++, out += scaled_width) { - inrow = original + inwidth * (i * tinheight / scaled_height); - frac = fracstep >> 1; - for (j = 0; j < scaled_width; j += 4) { - out[j] = translate32[inrow[frac >> 16]]; - frac += fracstep; - out[j + 1] = translate32[inrow[frac >> 16]]; - frac += fracstep; - out[j + 2] = translate32[inrow[frac >> 16]]; - frac += fracstep; - out[j + 3] = translate32[inrow[frac >> 16]]; - frac += fracstep; - } - } - - glTexImage2D (GL_TEXTURE_2D, 0, gl_solid_format, - scaled_width, scaled_height, 0, GL_RGBA, - GL_UNSIGNED_BYTE, pixels); - - glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - } -} - /* =============== R_NewMap diff --git a/source/gl_skin.c b/source/gl_skin.c new file mode 100644 index 0000000..d4f42b1 --- /dev/null +++ b/source/gl_skin.c @@ -0,0 +1,184 @@ +/* + gl_trans.c + + (description) + + Copyright (C) 1996-1997 Id Software, Inc. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to: + + Free Software Foundation, Inc. + 59 Temple Place - Suite 330 + Boston, MA 02111-1307, USA + + $Id$ +*/ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include "glquake.h" +#include "host.h" +#include "protocol.h" +#include "skin.h" +#include "sys.h" + +/* +===================== +CL_NewTranslation +===================== +*/ +void +CL_NewTranslation (int slot) +{ + int top, bottom; + byte translate[256]; + unsigned int translate32[256]; + int i, j; + byte *original; + unsigned int pixels[512 * 256], *out; + unsigned int scaled_width, scaled_height; + int inwidth, inheight; + int tinwidth, tinheight; + byte *inrow; + unsigned int frac, fracstep; + player_info_t *player; + extern byte player_8bit_texels[320 * 200]; + char s[512]; + int playernum = slot; + + if (slot > MAX_CLIENTS) + Host_EndGame ("CL_NewTranslation: slot > MAX_CLIENTS"); + + player = &cl.players[playernum]; + if (!player->name[0]) + return; + + strcpy (s, Info_ValueForKey (player->userinfo, "skin")); + COM_StripExtension (s, s); + if (player->skin && !strequal (s, player->skin->name)) + player->skin = NULL; + + if (player->_topcolor != player->topcolor || + player->_bottomcolor != player->bottomcolor || !player->skin) { + player->_topcolor = player->topcolor; + player->_bottomcolor = player->bottomcolor; + + top = player->topcolor; + bottom = player->bottomcolor; + top = (top < 0) ? 0 : ((top > 13) ? 13 : top); + bottom = (bottom < 0) ? 0 : ((bottom > 13) ? 13 : bottom); + top *= 16; + bottom *= 16; + + for (i = 0; i < 256; i++) + translate[i] = i; + + for (i = 0; i < 16; i++) { + if (top < 128) // the artists made some backwards ranges. sigh. + translate[TOP_RANGE + i] = top + i; + else + translate[TOP_RANGE + i] = top + 15 - i; + + if (bottom < 128) + translate[BOTTOM_RANGE + i] = bottom + i; + else + translate[BOTTOM_RANGE + i] = bottom + 15 - i; + } + + // locate the original skin pixels + tinwidth = 296; // real model width + tinheight = 194; // real model height + + if (!player->skin) + Skin_Find (player); + if ((original = Skin_Cache (player->skin)) != NULL) { + // skin data width + inwidth = 320; + inheight = 200; + } else { + original = player_8bit_texels; + inwidth = 296; + inheight = 194; + } + + // because this happens during gameplay, do it fast + // instead of sending it through GL_Upload8() + glBindTexture (GL_TEXTURE_2D, playertextures + playernum); + + // FIXME deek: This 512x256 limit sucks! + scaled_width = min (gl_max_size->int_val, 512); + scaled_height = min (gl_max_size->int_val, 256); + + // allow users to crunch sizes down even more if they want + scaled_width >>= gl_playermip->int_val; + scaled_height >>= gl_playermip->int_val; + + if (VID_Is8bit ()) { // 8bit texture upload + byte *out2; + + out2 = (byte *) pixels; + memset (pixels, 0, sizeof (pixels)); + fracstep = tinwidth * 0x10000 / scaled_width; + for (i = 0; i < scaled_height; i++, out2 += scaled_width) { + inrow = original + inwidth * (i * tinheight / scaled_height); + frac = fracstep >> 1; + for (j = 0; j < scaled_width; j += 4) { + out2[j] = translate[inrow[frac >> 16]]; + frac += fracstep; + out2[j + 1] = translate[inrow[frac >> 16]]; + frac += fracstep; + out2[j + 2] = translate[inrow[frac >> 16]]; + frac += fracstep; + out2[j + 3] = translate[inrow[frac >> 16]]; + frac += fracstep; + } + } + + GL_Upload8_EXT ((byte *) pixels, scaled_width, scaled_height, false, + false); + return; + } + + for (i = 0; i < 256; i++) + translate32[i] = d_8to24table[translate[i]]; + + out = pixels; + memset (pixels, 0, sizeof (pixels)); + fracstep = tinwidth * 0x10000 / scaled_width; + for (i = 0; i < scaled_height; i++, out += scaled_width) { + inrow = original + inwidth * (i * tinheight / scaled_height); + frac = fracstep >> 1; + for (j = 0; j < scaled_width; j += 4) { + out[j] = translate32[inrow[frac >> 16]]; + frac += fracstep; + out[j + 1] = translate32[inrow[frac >> 16]]; + frac += fracstep; + out[j + 2] = translate32[inrow[frac >> 16]]; + frac += fracstep; + out[j + 3] = translate32[inrow[frac >> 16]]; + frac += fracstep; + } + } + + glTexImage2D (GL_TEXTURE_2D, 0, gl_solid_format, + scaled_width, scaled_height, 0, GL_RGBA, + GL_UNSIGNED_BYTE, pixels); + + glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + } +} diff --git a/source/gl_trans.c b/source/gl_trans.c deleted file mode 100644 index b538f57..0000000 --- a/source/gl_trans.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - gl_trans.c - - (description) - - Copyright (C) 1996-1997 Id Software, Inc. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to: - - Free Software Foundation, Inc. - 59 Temple Place - Suite 330 - Boston, MA 02111-1307, USA - - $Id$ -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include "glquake.h" -#include "host.h" -#include "protocol.h" -#include "sys.h" - -/* -===================== -CL_NewTranslation -===================== -*/ -void -CL_NewTranslation (int slot) -{ - if (slot > MAX_CLIENTS) - Host_EndGame ("CL_NewTranslation: slot > MAX_CLIENTS"); - - R_TranslatePlayerSkin (slot); -} diff --git a/source/makefile.mgw b/source/makefile.mgw index 4ec9e56..6375d41 100644 --- a/source/makefile.mgw +++ b/source/makefile.mgw @@ -90,7 +90,7 @@ client_SOURCES= cl_cam.c cl_cmd.c cl_cvar.c cl_demo.c cl_ents.c cl_input.c \ ogl_SOURCES= fractalnoise.c gl_draw.c gl_dyn_fires.c gl_dyn_part.c \ gl_dyn_textures.c gl_mesh.c gl_ngraph.c r_efrag.c \ gl_rlight.c gl_rmain.c gl_rmisc.c gl_rsurf.c gl_screen.c \ - gl_sky.c gl_sky_clip.c gl_trans.c gl_view.c gl_warp.c \ + gl_sky.c gl_sky_clip.c gl_skin.c gl_view.c gl_warp.c \ gl_model_alias.c gl_model_brush.c gl_model_fullbright.c \ gl_model_sprite.c qfgl_ext.c @@ -105,7 +105,7 @@ soft_ASM= d_draw.S d_draw16.S d_parta.S d_polysa.S d_scana.S d_spr8.S \ surf16.S surf8.S #endif -soft_SOURCES= cl_trans.c d_edge.c d_fill.c d_init.c d_modech.c \ +soft_SOURCES= sw_skin.c d_edge.c d_fill.c d_init.c d_modech.c \ d_part.c d_polyse.c d_scan.c d_sky.c d_sprite.c d_surf.c \ d_vars.c d_zpoint.c draw.c r_aclip.c r_alias.c r_bsp.c \ r_draw.c r_edge.c r_efrag.c r_light.c r_main.c r_misc.c \ diff --git a/source/qf-client-sdl.mak b/source/qf-client-sdl.mak index 7420d8d..ec0f8f2 100644 --- a/source/qf-client-sdl.mak +++ b/source/qf-client-sdl.mak @@ -149,7 +149,7 @@ DEPEND = \ $(OBJS)\teamplay.obj\ $(SDLSDK)\lib\sdl.lib\ $(OBJS)\vid_sdl.obj\ - $(OBJS)\cl_trans.obj\ + $(OBJS)\sw_skin.obj\ $(OBJS)\sw_view.obj\ $(OBJS)\r_view.obj\ $(OBJS)\r_sprite.obj\ @@ -272,7 +272,7 @@ $(OBJS)\sw_model_brush.obj+ $(OBJS)\sw_model_sprite.obj+ $(OBJS)\teamplay.obj+ $(OBJS)\vid_sdl.obj+ -$(OBJS)\cl_trans.obj+ +$(OBJS)\sw_skin.obj+ $(OBJS)\sw_view.obj+ $(OBJS)\r_view.obj+ $(OBJS)\r_sprite.obj+ @@ -460,9 +460,9 @@ $(OBJS)\sdl_main.obj : $(SDLSDK)\src\main\win32\sdl_main.c $(COMPOPTS) -I$(INCLUDES) -D$(DEFINES) -o$@ $(SDLSDK)\src\main\win32\sdl_main.c | -$(OBJS)\cl_trans.obj : $(QFROOT)\source\cl_trans.c +$(OBJS)\sw_skin.obj : $(QFROOT)\source\sw_skin.c $(BCC32) -P- -c @&&| - $(COMPOPTS) -I$(INCLUDES) -D$(DEFINES) -o$@ $(QFROOT)\source\cl_trans.c + $(COMPOPTS) -I$(INCLUDES) -D$(DEFINES) -o$@ $(QFROOT)\source\sw_skin.c | $(OBJS)\sw_view.obj : $(QFROOT)\source\sw_view.c diff --git a/source/qf-client-sgl.mak b/source/qf-client-sgl.mak index 39bd2e2..4227801 100644 --- a/source/qf-client-sgl.mak +++ b/source/qf-client-sgl.mak @@ -168,7 +168,7 @@ DEPEND = \ $(QFROOT)\opengl32.lib\ $(SDLSDK)\lib\sdl.lib\ $(OBJS)\gl_draw.obj\ - $(OBJS)\gl_trans.obj\ + $(OBJS)\gl_skin.obj\ $(OBJS)\gl_screen.obj\ $(OBJS)\gl_rsurf.obj\ $(OBJS)\gl_rmisc.obj\ @@ -268,7 +268,7 @@ $(OBJS)\r_view.obj+ $(OBJS)\gl_view.obj+ $(OBJS)\vid_sgl.obj+ $(OBJS)\gl_draw.obj+ -$(OBJS)\gl_trans.obj+ +$(OBJS)\gl_skin.obj+ $(OBJS)\gl_screen.obj+ $(OBJS)\gl_rsurf.obj+ $(OBJS)\gl_rmisc.obj+ @@ -482,9 +482,9 @@ $(OBJS)\gl_draw.obj : $(QFROOT)\source\gl_draw.c $(COMPOPTS) -I$(INCLUDES) -D$(DEFINES) -o$@ $(QFROOT)\source\gl_draw.c | -$(OBJS)\gl_trans.obj : $(QFROOT)\source\gl_trans.c +$(OBJS)\gl_skin.obj : $(QFROOT)\source\gl_skin.c $(BCC32) -P- -c @&&| - $(COMPOPTS) -I$(INCLUDES) -D$(DEFINES) -o$@ $(QFROOT)\source\gl_trans.c + $(COMPOPTS) -I$(INCLUDES) -D$(DEFINES) -o$@ $(QFROOT)\source\gl_skin.c | $(OBJS)\gl_screen.obj : $(QFROOT)\source\gl_screen.c diff --git a/source/qf-client-wgl.mak b/source/qf-client-wgl.mak index 78aa295..685445b 100644 --- a/source/qf-client-wgl.mak +++ b/source/qf-client-wgl.mak @@ -162,7 +162,7 @@ DEPEND = \ $(OBJS)\vid_wgl.obj\ $(QFROOT)\opengl32.lib\ $(OBJS)\gl_draw.obj\ - $(OBJS)\gl_trans.obj\ + $(OBJS)\gl_skin.obj\ $(OBJS)\gl_screen.obj\ $(OBJS)\gl_rsurf.obj\ $(OBJS)\gl_rmisc.obj\ @@ -259,7 +259,7 @@ $(OBJS)\r_view.obj+ $(OBJS)\gl_view.obj+ $(OBJS)\vid_wgl.obj+ $(OBJS)\gl_draw.obj+ -$(OBJS)\gl_trans.obj+ +$(OBJS)\gl_skin.obj+ $(OBJS)\gl_screen.obj+ $(OBJS)\gl_rsurf.obj+ $(OBJS)\gl_rmisc.obj+ @@ -464,9 +464,9 @@ $(OBJS)\gl_draw.obj : $(QFROOT)\source\gl_draw.c $(COMPOPTS) -I$(INCLUDES) -D$(DEFINES) -o$@ $(QFROOT)\source\gl_draw.c | -$(OBJS)\gl_trans.obj : $(QFROOT)\source\gl_trans.c +$(OBJS)\gl_skin.obj : $(QFROOT)\source\gl_skin.c $(BCC32) -P- -c @&&| - $(COMPOPTS) -I$(INCLUDES) -D$(DEFINES) -o$@ $(QFROOT)\source\gl_trans.c + $(COMPOPTS) -I$(INCLUDES) -D$(DEFINES) -o$@ $(QFROOT)\source\gl_skin.c | $(OBJS)\gl_screen.obj : $(QFROOT)\source\gl_screen.c diff --git a/source/qf-client-win.mak b/source/qf-client-win.mak index adc9946..c040548 100644 --- a/source/qf-client-win.mak +++ b/source/qf-client-win.mak @@ -147,7 +147,7 @@ DEPEND = \ $(OBJS)\sw_model_sprite.obj\ $(OBJS)\teamplay.obj\ $(OBJS)\vid_mgl.obj\ - $(OBJS)\cl_trans.obj\ + $(OBJS)\sw_skin.obj\ $(OBJS)\sw_view.obj\ $(OBJS)\r_view.obj\ $(OBJS)\r_sprite.obj\ @@ -269,7 +269,7 @@ $(OBJS)\sw_model_brush.obj+ $(OBJS)\sw_model_sprite.obj+ $(OBJS)\teamplay.obj+ $(OBJS)\vid_mgl.obj+ -$(OBJS)\cl_trans.obj+ +$(OBJS)\sw_skin.obj+ $(OBJS)\sw_view.obj+ $(OBJS)\r_view.obj+ $(OBJS)\r_sprite.obj+ @@ -449,9 +449,9 @@ $(OBJS)\vid_mgl.obj : $(QFROOT)\source\vid_mgl.c $(COMPOPTS) -I$(INCLUDES) -D$(DEFINES) -o$@ $(QFROOT)\source\vid_mgl.c | -$(OBJS)\cl_trans.obj : $(QFROOT)\source\cl_trans.c +$(OBJS)\sw_skin.obj : $(QFROOT)\source\sw_skin.c $(BCC32) -P- -c @&&| - $(COMPOPTS) -I$(INCLUDES) -D$(DEFINES) -o$@ $(QFROOT)\source\cl_trans.c + $(COMPOPTS) -I$(INCLUDES) -D$(DEFINES) -o$@ $(QFROOT)\source\sw_skin.c | $(OBJS)\sw_view.obj : $(QFROOT)\source\sw_view.c diff --git a/source/qw_client.dsp b/source/qw_client.dsp index 014b094..2740586 100644 --- a/source/qw_client.dsp +++ b/source/qw_client.dsp @@ -218,7 +218,7 @@ SOURCE=.\cl_tent.c # End Source File # Begin Source File -SOURCE=.\cl_trans.c +SOURCE=.\sw_skin.c !IF "$(CFG)" == "qw_client - Win32 Release" @@ -854,7 +854,7 @@ SOURCE=.\gl_sky_clip.c # End Source File # Begin Source File -SOURCE=.\gl_trans.c +SOURCE=.\gl_skin.c !IF "$(CFG)" == "qw_client - Win32 Release" diff --git a/source/cl_trans.c b/source/sw_skin.c similarity index 100% rename from source/cl_trans.c rename to source/sw_skin.c