Change variable name virtual to _virtual to avoid conflict
Add explicit casts for MSVC
re-add source files
Rename local variable new to _new for MSVC
Rename member variable virtual to virtualf for MSVC, explicit type casting
Define strcasecmp as _stricmp for MSVC
Add cast to byte*