47 "md2",
"md3",
"obj",
nullptr
59 Com_Printf(
"Type | #Slot | #Tris | #Meshes | Filename\n");
60 for (i = 0, mod = r_models; i <
r_numModels; i++, mod++) {
94 Com_Printf(
"%4i models loaded\n", r_numModels);
162 if (filename[0] ==
'\0')
210 if (!name || !name[0])
241 Com_Printf(
"R_FindModel: Could not find: '%s'\n", name);
248 for (i = 0, mod = r_models; i <
r_numModels; i++, mod++) {
252 if (i == r_numModels) {
278 if (name[0] ==
'*') {
279 i = atoi(name + 1) - 1;
282 return &r_modelsInline[
i];
286 for (i = 0, mod = r_models; i <
r_numModels; i++, mod++)
292 #define MEM_TAG_STATIC_MODELS 1
315 for (
int k = 0; k < mesh->
num_skins; k++) {
366 Com_Printf(
"R_LoadActorSkinsFromModel: No default skin found for model \"%s\"\n", outMesh->
name);
371 modelSkin->
skin = defaultSkin;
377 Com_Printf(
"R_LoadActorSkinsFromModel: Skin %s_%s not found, defaulting to: %s\n",
378 defaultSkin->
name, skin, defaultSkin->
name);
379 modelSkin->
skin = defaultSkin;
bool R_ModelExists(const char *name)
static bool R_LoadModel(model_t *mod, const char *filename)
Loads in a model for the given name.
int FS_CheckFile(const char *fmt,...)
Just returns the filelength and -1 if the file wasn't found.
memPool_t * vid_modelPool
image_t * R_AliasModelGetSkin(const char *modelFileName, const char *skin)
unsigned int texcoord_buffer
void R_LoadObjModel(model_t *mod, byte *buffer, int bufSize)
const char * Com_GetExtension(const char *path)
const char * va(const char *format,...)
does a varargs printf into a temp buffer, so I don't need to have varargs versions of all text functi...
model_t * r_mapTiles[MAX_MAPTILES]
The world model(s)
bool Com_sprintf(char *dest, size_t size, const char *fmt,...)
copies formatted string with buffer-size checking
void Com_StripExtension(const char *in, char *out, const size_t size)
Removes the file extension from a filename.
void R_ShutdownModels(bool complete)
Frees the model pool.
local graphics definitions
int FS_LoadFile(const char *path, byte **buffer)
Filenames are relative to the quake search path.
void Com_Printf(const char *const fmt,...)
static void R_LoadModelAsync(model_t *mod, byte *buf, int modfilelen)
model_t r_modelsInline[MAX_MOD_KNOWN]
#define Mem_ChangeTag(pool, tagFrom, tagTo)
void Com_Error(int code, const char *fmt,...)
char name[MODEL_MAX_PATH]
static char const *const mod_extensions[]
all supported model formats
void Q_strncpyz(char *dest, const char *src, size_t destsize)
Safe strncpy that ensures a trailing zero.
#define MEM_TAG_STATIC_MODELS
char name[MODEL_MAX_PATH]
unsigned int normal_buffer
model_t * R_AllocModelSlot(void)
void R_ModModellist_f(void)
Prints all loaded models.
unsigned int tangent_buffer
#define MAX_ACTORSKINNAME
void R_ModLoadAliasMD2Model(model_t *mod, byte *buffer, int bufSize, bool loadNormals)
Load MD2 models from file.
model_t * R_FindModel(const char *name)
Tries to load a model.
memPool_t * vid_lightPool
#define Q_strcasecmp(a, b)
#define Mem_FreePool(pool)
unsigned int vertex_buffer
void R_ModLoadAliasMD3Model(model_t *mod, byte *buffer, int bufSize)
Load MD3 models from file.
int R_ModAllocateActorSkin(const char *name)
Register an actorskin name.
#define Mem_PoolAllocTypeN(type, n, pool)
unsigned int lmtexcoord_buffer
void R_ModLoadAnims(mAliasModel_t *mod, const char *animname)
static int r_numModelsStatic
void Com_DefaultExtension(char *path, size_t len, const char *extension)
Sets a default extension if there is none.
#define Mem_FreeTag(pool, tagNum)
void R_SwitchModelMemPoolTag(void)
After all static models are loaded, switch the pool tag for these models to not free them everytime R...
QGL_EXTERN GLuint GLsizei GLsizei GLint GLenum GLchar * name
static int r_numActorSkinName
model_t * R_GetModel(const char *name)
Get a model for the given name already loaded.
static char * r_actorSkinNames[MAX_ACTORSKINNAME]
static model_t r_models[MAX_MOD_KNOWN]
static const char * R_GetActorSkin(int id)
unsigned int index_buffer
void FS_FreeFile(void *buffer)
void R_LoadActorSkinsFromModel(mAliasMesh_t *outMesh, image_t *defaultSkin)
Load actor skins from a default skin to a a mesh.
bool R_UseActorSkin(void)