|  | 
|  | Quake3ShaderManager () | 
|  | 
| virtual | ~Quake3ShaderManager () | 
|  | 
| void | clear (void) | 
|  | Clear all the current shaders. 
 | 
|  | 
| Quake3Shader * | create (const String &name) | 
|  | Create implementation. 
 | 
|  | 
| Quake3Shader * | getByName (const String &name) | 
|  | Retrieve a Quake3Shader by name. 
 | 
|  | 
| Real | getLoadingOrder (void) const | 
|  | Gets the relative loading order of scripts of this type. 
 | 
|  | 
| const StringVector & | getScriptPatterns (void) const | 
|  | Gets the file patterns which should be used to find scripts for this class. 
 | 
|  | 
| void | operator delete (void *ptr) | 
|  | 
| void | operator delete (void *ptr, const char *, int, const char *) | 
|  | 
| void | operator delete (void *ptr, void *) | 
|  | 
| void | operator delete[] (void *ptr) | 
|  | 
| void | operator delete[] (void *ptr, const char *, int, const char *) | 
|  | 
| void * | operator new (size_t sz) | 
|  | 
| void * | operator new (size_t sz, const char *file, int line, const char *func) | 
|  | operator new, with debug line info 
 | 
|  | 
| void * | operator new (size_t sz, void *ptr) | 
|  | placement operator new 
 | 
|  | 
| void * | operator new[] (size_t sz) | 
|  | 
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) | 
|  | array operator new, with debug line info 
 | 
|  | 
| void | parseScript (DataStreamPtr &stream, const String &groupName) | 
|  | Parse a script file. 
 | 
|  | 
Class for managing Quake3 custom shaders. 
Quake3 uses .shader files to define custom shaders, or Materials in Ogre-speak. When a surface texture is mentioned in a level file, it includes no file extension meaning that it can either be a standard texture image (+lightmap) if there is only a .jpg or .tga file, or it may refer to a custom shader if a shader with that name is included in one of the .shader files in the scripts/ folder. Because there are multiple shaders per file you have to parse all the .shader files available to know if there is a custom shader available. This class is designed to parse all the .shader files available and save their settings for future use. I choose not to set up Material instances for shaders found since they may or may not be used by a level, so it would be very wasteful to set up Materials since they load texture images for each layer (apart from the lightmap). Once the usage of a shader is confirmed, a full Material instance can be set up from it. Because this is a subclass of ScriptLoader, any files mentioned will be searched for in any path or archive added to the ResourceGroupManager::WORLD_GROUP_NAME group. See ResourceGroupManager for details.