   IDirect3DTexture9
  All the functions for dealing with IDirect3DTexture9* seem to have a "level" parameter. Is this for animated textures(if so how) or diffrent levels of detail or something entierly diffrent? I looked around at the documentation for this but I just find stuff like "Identifies a level of the texture resource. This method returns a surface for the level specified by this parameter. The top-level surface is denoted by 0." which doesn't really tell me what this does :(   
  The levels are mip-map levels.  A texture is merely a collection of surfaces, with the "0" level representing the largest of the bunch.  So if you load mip-map levels from a file or generate them at load time, each successive mip level gets it's own level in the texture.  You have to specify a level index so that the texture knows which level you want to deal with (which typically is 0 in most cases).   