Good news: I asked on the Irrlicht board, and their very helpfull answer was, use some obsucre conversation function:
void setWindowCaption(SV* classname, char* caption) PREINIT: wchar_t mytitle[512]; CODE: // TODO: find out length of scalar and alloc memory for myTitle? mbstowcs(mytitle, caption, 512); device->setWindowCaption(mytitle);
This works! :) However, whoever thought up the name of these conversion functions should be shot. Honestly, who can remember these cryptic garbage names like mbscwsomethingfoobar? Glad that I have to write it only once as macro in XS :)
Multi-Byte String TO Wide Character String. I don't think that function is portable though, but I could be wrong. And it doesn't seem like the right conversion function to convert ascii to wide char, but I could be wrong about that too - I know almost nothing about wide strings :(.
Randy.