public static void Dispose(Texture tex) { if (tex == null) { return; } if (texmap.ContainsKey(tex)) { RCTexture rctex = texmap[tex]; if (--rctex.refcount > 0) { return; } strmap.Remove(rctex.name); texmap.Remove(tex); } tex.Dispose(); }
public static Texture Get(Device device, string fileName, int width, int height, int levelCount, Usage usage, Format format, Pool pool, Filter filter, Filter mipFilter, int colorKey) { RCTexture rctex; if (!strmap.ContainsKey(fileName)) { rctex = new RCTexture(fileName, Texture.FromFile(device, fileName, width, height, levelCount, usage, format, pool, filter, Filter.Default, colorKey)); ApplyFilter(ref rctex.tex); strmap[fileName] = rctex; texmap[rctex.tex] = rctex; } else { rctex = strmap[fileName]; } ++rctex.refcount; return(rctex.tex); }
public static void Hook06000032(ComObject obj) { RCTexture.Dispose(obj as Texture); }
public static Texture Hook06000030(Device device, string fileName, int width, int height, int levelCount, Usage usage, Format format, Pool pool, Filter filter, Filter mipFilter, int colorKey) { return(RCTexture.Get(device, fileName, width, height, levelCount, usage, format, pool, filter, Filter.Default, colorKey)); }