REM > JLibraries:Sprite.2 REM JB 19 Nov 1997 created DEF PROCSprite_LoadFile(Path$, Fixd%, Name$) LOCAL Buff%, Type%, Siz1%, Siz2%, Siz3%, Sqsh%, Work% SYS"OS_File", 17, Path$ TO File%,, Type%,, Siz1% IF File% = 0 THEN ERROR 1, FNMess_Global1("NoFile", Path$) IF File% <> 1 THEN ERROR 1, FNMess_Global1("IsntFil", Path$) Type% = (Type% AND &FFF00) / &100 CASE Type% OF WHEN &FF9 Siz2% = Siz1% WHEN &FCA Sqsh% = FNHeap_Safe(Siz1%, 0, "_Sqsh") SYS"OS_File", 16, Path$, Sqsh% Siz2% = Sqsh%!04 OTHERWISE ERROR 1, "'" + Path$ + "' is not a sprite file or squashed sprite file" ENDCASE IF Fixd% THEN DIM Buff% Siz2% + 8 !Buff% = Buff% + 4 ELSE Buff% = FNHeap_Alloc(Siz2% + 4) IF Buff% = 0 THEN ERROR Erro_Memo%, "" ENDIF BuffB% = !Buff% !BuffB% = Siz2% + 4 CASE Type% OF WHEN &FF9 SYS"OS_SpriteOp", 265, BuffB% SYS"OS_SpriteOp", 266, BuffB%, Path$ WHEN &FCA SYS"Squash_Decompress", %1000, -1 TO Siz3% Work% = FNHeap_Safe(Siz3%, 0, "_Work") SYS"Squash_Decompress", %100, Work%, Sqsh% + 20, Siz1% - 20, BuffB% + 4, Siz2% PROCHeap_Lose(0, "_Sqsh") PROCHeap_Lose(0, "_Work") ENDCASE PROCObject_Add(6, Buff%, 0, Name$) SYS"WimpExt_Heap", 6 ENDPROC