diff options
| author | zakk <zakk@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-08-26 04:48:05 +0000 | 
|---|---|---|
| committer | zakk <zakk@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-08-26 04:48:05 +0000 | 
| commit | 952c5c128f9efaea89d41d882c4ea3ade7df4591 (patch) | |
| tree | 91b84d9be7afad7e99ac64a640a65b6cb5081900 /q3radiant/IShaders.cpp | |
| parent | c2c2e0d25d6cdb7d42d7dc981a863f65f94f281d (diff) | |
| download | ioquake3-aero-952c5c128f9efaea89d41d882c4ea3ade7df4591.tar.gz ioquake3-aero-952c5c128f9efaea89d41d882c4ea3ade7df4591.zip | |
Itsa me, quake3io!
git-svn-id: svn://svn.icculus.org/quake3/trunk@2 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'q3radiant/IShaders.cpp')
| -rwxr-xr-x | q3radiant/IShaders.cpp | 86 | 
1 files changed, 86 insertions, 0 deletions
| diff --git a/q3radiant/IShaders.cpp b/q3radiant/IShaders.cpp new file mode 100755 index 0000000..b68f2d4 --- /dev/null +++ b/q3radiant/IShaders.cpp @@ -0,0 +1,86 @@ +/* +=========================================================================== +Copyright (C) 1999-2005 Id Software, Inc. + +This file is part of Quake III Arena source code. + +Quake III Arena source code 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. + +Quake III Arena source code 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 Foobar; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA +=========================================================================== +*/ +//-----------------------------------------------------------------------------
 +//
 +// $LogFile$
 +// $Revision: 1.1.2.2 $
 +// $Author: ttimo $
 +// $Date: 2000/02/24 22:24:45 $
 +// $Log: IShaders.cpp,v $
 +// Revision 1.1.2.2  2000/02/24 22:24:45  ttimo
 +// RC2
 +//
 +// Revision 1.1.2.1  2000/02/11 03:52:30  ttimo
 +// working on the IShader interface
 +//
 +//
 +// DESCRIPTION:
 +// implementation of the shaders / textures interface
 +//
 +
 +#include "stdafx.h"
 +
 +//++timo NOTE: this whole part is evolving on a seperate branch on SourceForge
 +// will eventually turn into a major rewrite of the shader / texture code
 +
 +// this is a modified version of Texture_ForName
 +qtexture_t* WINAPI QERApp_TryTextureForName(const char* name)
 +{
 +	qtexture_t *q;
 +	char filename[1024];
 +	for (q=g_qeglobals.d_qtextures ; q ; q=q->next)
 +	{
 +		if (!strcmp(name,  q->filename))
 +				return q;
 +	}
 +	// try loading from file .. this is a copy of the worst part of Texture_ForName
 +	char cWork[1024];
 +	sprintf (filename, "%s/%s.tga", ValueForKey (g_qeglobals.d_project_entity, "texturepath"), name);
 +	QE_ConvertDOSToUnixName( cWork, filename );
 +	strcpy(filename, cWork);
 +	unsigned char* pPixels = NULL;
 +	int nWidth;
 +	int nHeight;
 +	LoadImage(filename, &pPixels, &nWidth, &nHeight);
 +	if (pPixels == NULL)
 +	{
 +		// try jpg
 +		// blatant assumption of .tga should be fine since we sprintf'd it above
 +		int nLen = strlen(filename);
 +		filename[nLen-3] = 'j';
 +		filename[nLen-2] = 'p';
 +		filename[nLen-1] = 'g';
 +		LoadImage(filename, &pPixels, &nWidth, &nHeight);
 +	}
 +	if (pPixels)
 +	{
 +		q = Texture_LoadTGATexture(pPixels, nWidth, nHeight, NULL, 0, 0, 0);
 +		//++timo storing the filename .. will be removed by shader code cleanup
 +		// this is dirty, and we sure miss some places were we should fill the filename info
 +		strcpy( q->filename, name );
 +		SetNameShaderInfo(q, filename, name);
 +		Sys_Printf ("done.\n", name);
 +		free(pPixels);
 +		return q;
 +	}
 +	return NULL;
 +}
 | 
