Plaster

text
(in-package #:pac-tut11-optimized-surfaces) (defun optimized-surface (File-Path Window-Surface) (let* ((SURFACE (sdl2:load-bmp File-Path)) (OPT-SURFACE (sdl2:convert-surface SURFACE (cffi:foreign-array-to-lisp (sdl2:surface-pixels Window-Surface) '(:array :int32 nbpixels))))) (sdl2:free-surface SURFACE) OPT-SURFACE)) (defun main () (sdl2:with-init (:video) (sdl2:with-window (WINDOW :title "SDL CodingMadeEasy Series" :w 640 :h 480 :flags '(:shown)) (let* ((WIN-SURFACE (sdl2:get-window-surface WINDOW)) (CURRENT-IMAGE (optimized-surface "/home/huseyin/quicklisp/local-projects/sdl2-made-easy/assets/gods.bmp" WIN-SURFACE)) (DRAWING-RECT (sdl2:make-rect 0 0 640 480))) (sdl2:with-event-loop (:method :poll) (:quit () t) (:idle () (sdl2:blit-scaled CURRENT-IMAGE (cffi:null-pointer) WIN-SURFACE DRAWING-RECT) (sdl2-ffi.functions:sdl-update-window-surface WINDOW))))))) =>The value PAC-TUT11-OPTIMIZED-SURFACES::NBPIXELS is not of type SB-INT:INDEX [Condition of type TYPE-ERROR]