Skip to content

Instantly share code, notes, and snippets.

@joelreymont
Created December 31, 2009 18:39
Show Gist options
  • Save joelreymont/266842 to your computer and use it in GitHub Desktop.
Save joelreymont/266842 to your computer and use it in GitHub Desktop.
(defun cocoa-build-sprite (sprite image mask size)
(declare #.*optimize*
(type fixnum size))
(fli:with-coerced-pointer
(sp :type '(:foreign-array :byte (10000000))) sprite
(fli:with-coerced-pointer
(ip :type '(:foreign-array :byte (10000000))) image
(loop for i fixnum from 0 below (* size 3) by 3
for j from 3 by 3
for alpha from 3 by 4 do
(fli:replace-foreign-array sp ip
:start1 i :end1 j
:start2 i :end2 j)
(setf (fli:dereference sprite :index alpha)
(fli:dereference mask :index i))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment