(glHint GL_PERSPECTIVE_CORRECTION_HINT GL_NICEST)
t)
-(defmacro progn-textures (&body code)
- `(let (values)
- (init-video-mode)
- (glEnable GL_TEXTURE_2D)
- (setq values (multiple-value-list (progn ,@code)))
- (glDisable GL_TEXTURE_2D)
- (apply #'values values)))
-
(defun init-lighting ()
(init-video-mode)
(glEnable GL_LIGHTING))
(make-resource :plist plist
:constructor constructor
:destructor destructor
- :free-function free-function
- :time (if static -1 (SDL_GetTicks)))))
+ :time (if static t (SDL_GetTicks)))))
(defun get-resource (key)
(let ((resource (gethash key resources-table)))
(setf (gethash key resources-table) resource)))
(resource-plist resource)))))
+ (defun free-resource (key)
+ (funcall (resource-destructor (gethash key resources-table)))
+ (setf (resource-time (gethash key resources-table)) nil))
+
(defun free-all-resources ()
- (maphash (lambda (key res) (funcall (resource-free-function res) (resource-address res)))
- resources-table)
- (clrhash resources-table)))
+ (maphash (lambda (key res) (free-resource key)) resources-table)))
;;; Connection with the GUI