If you look at the CPPExtern class, then it should be fairly straightforward to set up the wrappers (either just removing them into some library, or creating something like them with some more power). The main trick is just setting up the #defines to register everything. I have thought of a few more tricks to make the creation of objects even easier using some more #defines, etc...let me know if someone is going to go down this path.
As far as speed, it is fairly irrelevant, even with virtual functions. If you are calling a virtual function per sample or pixel, then it of course is an issue. However, is in this day and age, calling one or two virtual functions per object per message is not going to show up in any profiling.
Later, Mark
============================== = mdanks@stormfront.com = Technical Director PS2/XBox = http://www.danks.org/mark ==============================