/* Copyright (C) 1999-2006 Id Software, Inc. and contributors. For a list of contributors, see the accompanying CONTRIBUTORS file. This file is part of GtkRadiant. GtkRadiant 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. GtkRadiant 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 GtkRadiant; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ // qdata.h #include #include #include #include #include #include "cmdlib.h" #include "inout.h" #include "scriplib.h" #include "mathlib.h" #include "trilib.h" #include "lbmlib.h" #include "her2_threads.h" #include "l3dslib.h" #include "bspfile.h" #ifndef _WIN32 #define stricmp strcasecmp #define strcmpi strcasecmp #endif #define MODEL_AUTO 0 #define MODEL_MD2 1 #define MODEL_FM 2 // Model cover functions (to allow the forcing of a model type) void MODELCMD_Modelname( int modeltype ); void MODELCMD_Cd( int modeltype ); void MODELCMD_Origin( int modeltype ); void MODELCMD_Jointed( int modeltype ); void MODELCMD_Cluster( int modeltype ); void MODELCMD_Base( int modeltype ); void MODELCMD_BaseST( int modeltype ); void MODELCMD_ScaleUp( int modeltype ); void MODELCMD_Frame( int modeltype ); void MODELCMD_Skin( int modeltype ); void MODELCMD_Skinsize( int modeltype ); void MODELCMD_Skeleton( int modeltype ); void MODELCMD_SkeletalFrame( int modeltype ); void MODELCMD_BeginGroup( int modeltype ); void MODELCMD_EndGroup( int modeltype ); void MODELCMD_Referenced( int modeltype ); void MODELCMD_NodeOrder( int modeltype ); void Cmd_Modelname( void ); void Cmd_Base( void ); void Cmd_Cd( void ); void Cmd_Origin( void ); void Cmd_ScaleUp( void ); void Cmd_Frame( void ); void Cmd_Skin( void ); void Cmd_Skinsize( void ); void FinishModel( void ); void Cmd_Cluster( void ); // Flexible Models //void Cmd_FMModelname (void); void Cmd_FMBase( qboolean GetST ); void Cmd_FMCd( void ); //void Cmd_FMOrigin (void); void Cmd_FMCluster(); void Cmd_FMSkeleton(); //void Cmd_FMScaleUp (void); void Cmd_FMFrame( void ); void Cmd_FMSkeletalFrame(); void Cmd_FMSkin( void ); //void Cmd_FMSkinsize (void); void Cmd_FMBeginGroup( void ); void Cmd_FMEndGroup( void ); void Cmd_FMReferenced(); void Cmd_FMNodeOrder( void ); void FMFinishModel( void ); void GenSkin( char *ModelFile, char *OutputName, int Width, int Height ); void NewGen( char *ModelFile, char *OutputName, int width, int height ); void Cmd_Inverse16Table( void ); void Cmd_SpriteName( void ); void Cmd_Load( void ); void Cmd_SpriteFrame( void ); void Cmd_Sprdir( void ); void FinishSprite( void ); void Cmd_Grab( void ); void Cmd_Raw( void ); void Cmd_Mip( void ); void Cmd_Environment( void ); void Cmd_Colormap( void ); void Cmd_File( void ); void Cmd_Dir( void ); void Cmd_StartWad( void ); void Cmd_EndWad( void ); void Cmd_Mippal( void ); void Cmd_Mipdir( void ); void Cmd_Alphalight( void ); void Cmd_Picdir( void ); void Cmd_Pic( void ); void Cmd_Bookdir( void ); void Cmd_Book( void ); void Cmd_TextureMix( void ); void Cmd_Video( void ); //void RemapZero (byte *pixels, byte *palette, int width, int height); void ReleaseFile( char *filename ); extern byte *byteimage, *lbmpalette; extern int byteimagewidth, byteimageheight; extern qboolean TrueColorImage; extern unsigned *longimage; extern int longimagewidth, longimageheight; extern qboolean g_release; // don't grab, copy output data to new tree extern char g_releasedir[1024]; // c:\quake2\baseq2, etc extern qboolean g_archive; // don't grab, copy source data to new tree extern qboolean do3ds; extern char g_only[256]; // if set, only grab this cd extern qboolean g_skipmodel; // set true when a cd is not g_only extern qboolean g_no_opimizations; extern int g_forcemodel; extern qboolean g_verbose; extern qboolean g_allow_newskin; extern qboolean g_ignoreTriUV; //from qdata.c extern qboolean g_dokeypress; extern char *trifileext; extern char g_materialFile[256]; extern unsigned total_x; extern unsigned total_y; extern unsigned total_textures; miptex_t *CreateMip( byte *data, unsigned width, unsigned height, byte *palette, int *FinalSize, qboolean mip ); miptex32_t *CreateMip32( unsigned *data, unsigned width, unsigned height, int *FinalSize, qboolean mip );