// background loading information. /*private idImage _partialImage; // shrunken, space-saving version * private bool _isPartialImage; // true if this is pointed to by another image*/ #endregion #region Constructor public idImage(string name, ImageLoadCallback generator) { _name = name; _generator = generator; _type = TextureType.Disabled; _filter = TextureFilter.Default; _repeat = TextureRepeat.Repeat; _depth = TextureDepth.Default; _cubeFiles = CubeFiles.TwoD; }
/// <summary> /// Images that are procedurally generated are allways specified /// with a callback which must work at any time, allowing the render /// system to be completely regenerated if needed. /// </summary> /// <param name="name"></param> /// <returns></returns> public idImage LoadFromCallback(string name, ImageLoadCallback generator) { if(name == null) { throw new ArgumentNullException("name"); } // strip any .tga file extensions from anywhere in the _name name = name.Replace(".tga", ""); name = name.Replace("\\", "/"); idImage image; // see if the image already exists if(_imageDictionary.TryGetValue(name, out image) == true) { return image; } // create the image and issue the callback image = CreateImage(name, generator); if(idE.CvarSystem.GetBool("image_preload") == true) { // check for precompressed, load is from the front end image.ReferencedOutsideLevelLoad = true; image.ActuallyLoadImage(true, false); } return image; }
private idImage CreateImage(string name, ImageLoadCallback generator) { idImage image = new idImage(name, generator); _images.Add(image); _imageDictionary.Add(name, image); return image; }
// background loading information. /*private idImage _partialImage; // shrunken, space-saving version private bool _isPartialImage; // true if this is pointed to by another image*/ #endregion #region Constructor public idImage(string name, ImageLoadCallback generator) { _name = name; _generator = generator; _type = TextureType.Disabled; _filter = TextureFilter.Default; _repeat = TextureRepeat.Repeat; _depth = TextureDepth.Default; _cubeFiles = CubeFiles.TwoD; }