Quote Originally Posted by Clootie
Back to original topic...

Couple of days ago when testing how D3DX9 loading of .X meshes with embedded hierachy working in FreePascal I've stumbled the same problem as Ultra: details of FreePascal implementation of VMT are different to C++ / TurboPascal / Delphi ones. In Delphi/C++ first virtual method is allocated in VMT with Offset == 0, but in FreePascal it has positive offset of 80 bytes. :twisted:
This is a known incompability, and there is not much that can be done about it, since it is a limitation of the GNU linker, to not be able to use negative offsets to a symbol.

I understand how the workaround works, but I have no idea how general it is.