DEF FN_loadtexture(D%,f$) LOCAL B%,F%,G%,H%,I%,J%,K%,L%,M%,O%,P%,R%,S%,T%,W% DIM S% LOCAL LEN(f$)*2+3,M% LOCAL 86,F% LOCAL 42,R% LOCAL 7 M%=(M%+3)AND-4 F%=(F%+3)AND-4 SYS"LoadLibrary","OLEAUT32.DLL" TO O% SYS"GetProcAddress",O%,"OleLoadPicturePath" TO O% IF O%=0 THEN=0 I%=&7BF80980 J%=&101ABF32 K%=&AA00BB8B L%=&AB0C3000 SYS"MultiByteToWideChar",0,0,f$,-1,S%,256 SYSO%,S%,0,0,0,^I%,^G% IF G%=0 THEN=0 SYS!(!G%+12),G%,^B%:REM get_Handle SYS"GetObject",B%,84,M% W%=M%!4 H%=M%!8 SYS!(!D%+80),D%,W%,H%,0,0,21,1,^T%:REM CreateTexture IF T%=0 THEN=0 SYS!(!T%+64),T%,0,R%,0,0:REM LockRect F%!0=40 F%!4=W% F%!8=-H% F%!12=&200001 P%=R%!4 FOR I%=0 TO H%-1 SYS"GetDIBits",@memhdc%,B%,I%,1,P%,F%,0 P%+=!R% NEXT SYS!(!T%+68),T%,0:REM UnlockRect SYS!(!G%+8),G%:REM Release =T%