woohoo! that looks like it''ll work, null_pointer. thank you (and everybody else).
the namespaces are Standard and OGL, each having a basic IObject class. The Standard::IObject defines the interface necessary for 2-stage construction/destruction, and gives all objects deriving from it methods to do this, and the OGL::IObject give all objects methods to upload to the OGL server, unload from it, render, and also gives them access to static methods that retrieve system info such as output (window) width and height, screen width and height,and inverses of these, etc...
I could just rename the IObjects to reflect the namespaces, but thats all they really are, a standard object interface, and an OGL object interface, so using namespaces made more sense... oh well. i''m probably going to rename them, cuz adding the extra couple of typedefs adds more clutter to an already large class (OS::CVideoOutput), but it still makes me mad that msvc makes me do this... oh well, maybe i need to go to borland, code warrior, or hope that Visual.NET fixes this
![](wink.gif)
thanks, again, guys!
-succinct