pointers
when is a pointer not a pointer? when it's created by microsoft. it's true. directx CreateTexture returns a pointer. it works just fine as a pointer to a c++ class. ie you can call all of the class's methods. but if you try to look at the fields in the debugger they're all goofed up. you can create your own pointer to a derived c++ class. and you can use it happily anywhere you wish. except in UpdateTexture. it checks to make sure its pointers are magic mushroom microsoft pointers. otherwise it doesn't even try. weird.