first element"
(let ((plane-info (nth number (cdr (assoc :planes map-info)))))
(values
- (make-instance 'rulp.layers:screen
- :image (merge-pathnames map-path (cdr (assoc :image-path plane-info))))
+ (make-instance 'rulp.layers:plane
+ :background (merge-pathnames map-path (cdr (assoc :image-path plane-info))))
(cdr (assoc :grid-dimension plane-info))
)
;; FIXME: generalize... somehow
:collect
(make-instance 'entity
:image (merge-pathnames map-path (cdr (assoc :image-path entity-info)))
+ :size (if (assoc :size entity-info) (cdr (assoc :size entity-info)) 1)
:name (assoc :name entity-info)
)
)
DEBUG-INFO can be used to display the content on screen for test and debug purposes."
(declare (ignore fps))
(sdl2:with-init (:video)
- (with-playground (window *renderer* :title title)
+ (with-playground (window rulp.render:*renderer* :title title)
(setf *tr-texture* (let* ((font (sdl2-ttf:open-font "media/IBMPlex.ttf" 100)) ;; FIXME: this crashes the program under windows, throws error on linux but works anyway
(font-surface (sdl2-ttf:render-utf8-solid font *tr-string* 0 0 0 0))
- (font-texture (sdl2:create-texture-from-surface *renderer* font-surface)))
+ (font-texture (sdl2:create-texture-from-surface rulp.render:*renderer* font-surface)))
(sdl2:free-surface font-surface)
font-texture))
(multiple-value-bind (p g) (create-plane *map-info* *map-path*)
(setf *plane-grid* g))
(setf *entities-list* (create-entities *map-info* *map-path*))
(let (;; (mouse-button-previous nil)
- (window-texture (sdl2:get-render-target *renderer*))
- (viewpoint-texture (sdl2:create-texture *renderer* (sdl2:get-window-pixel-format window)
+ (window-texture (sdl2:get-render-target rulp.render:*renderer*))
+ (viewpoint-texture (sdl2:create-texture rulp.render:*renderer* (sdl2:get-window-pixel-format window)
2 (width *plane*) (height *plane*))) ;camping into the ramhog
(viewpoint-rectangle (sdl2:make-rect 0 0 10 10)))
(sdl2:with-event-loop (:method :poll)
(mouse-event *mouse-position* :dragp t))
;; trick to avoid functions to change the global draw-color
- (sdl2:set-render-draw-color *renderer* 0 0 0 255)
+ (sdl2:set-render-draw-color rulp.render:*renderer* 0 0 0 255)
;; local viewpoint
;; NOTE: generalize
(when *changep*
(sdl2:destroy-texture viewpoint-texture)
- (setf viewpoint-texture (sdl2:create-texture *renderer*
+ (setf viewpoint-texture (sdl2:create-texture rulp.render:*renderer*
(sdl2:get-window-pixel-format window)
2
(width *plane*)
(height *plane*)))
- (sdl2:set-render-target *renderer* viewpoint-texture)
- (sdl2:render-clear *renderer*)
- (render-plane-and-entities *renderer*)
+ (sdl2:set-render-target rulp.render:*renderer* viewpoint-texture)
+ (sdl2:render-clear rulp.render:*renderer*)
+ (render-plane-and-entities rulp.render:*renderer*)
(when *is-grid*
- (grid-render *renderer* 0 0 (width *plane*) (height *plane*))
+ (grid-render rulp.render:*renderer* 0 0 (width *plane*) (height *plane*))
)
(when *is-indexes*
- (indexes-render *renderer* 0 0 (width *plane*) (height *plane*)))
- (sdl2:set-render-draw-color *renderer* 0 0 0 255)
+ (indexes-render rulp.render:*renderer* 0 0 (width *plane*) (height *plane*)))
+ (sdl2:set-render-draw-color rulp.render:*renderer* 0 0 0 255)
(setf *changep* nil)
;; pointer section
(when *pointer* ;; NOTE: to test this out
- (sdl2:set-render-draw-color *renderer* 128 250 33 255)
+ (sdl2:set-render-draw-color rulp.render:*renderer* 128 250 33 255)
(multiple-value-bind (coordinates size) (grid-layout (car (coordinate (nth *pointer* *entities-list*)))
(cdr (coordinate (nth *pointer* *entities-list*)))
:size (size (nth *pointer* *entities-list*)))
(let ((select-rectangle (sdl2:make-rect (car coordinates) (cdr coordinates) size size)))
- (sdl2:render-draw-rect *renderer* select-rectangle)
+ (sdl2:render-draw-rect rulp.render:*renderer* select-rectangle)
(sdl2:free-rect select-rectangle)))
- (sdl2:set-render-draw-color *renderer* 0 0 0 255)
+ (sdl2:set-render-draw-color rulp.render:*renderer* 0 0 0 255)
))
;; display viewpoint on window
- (sdl2:set-render-target *renderer* window-texture)
- (sdl2:render-clear *renderer*)
+ (sdl2:set-render-target rulp.render:*renderer* window-texture)
+ (sdl2:render-clear rulp.render:*renderer*)
(setf (sdl2:rect-x viewpoint-rectangle) (car *viewpoint-offset*))
(setf (sdl2:rect-y viewpoint-rectangle) (cdr *viewpoint-offset*))
(setf (sdl2:rect-width viewpoint-rectangle) (floor (* (width *plane*) *viewpoint-zoom*)))
(setf (sdl2:rect-height viewpoint-rectangle) (floor (* (height *plane*) *viewpoint-zoom*)))
- (sdl2:render-copy *renderer* viewpoint-texture
+ (sdl2:render-copy rulp.render:*renderer* viewpoint-texture
:source-rect nil
:dest-rect viewpoint-rectangle)
;; entries visualization
(loop :for entry :in rulp.entries:*entries-list*
- :do (rulp.entries:render-entry
- *renderer*
- (rulp.entries:make-plist entry)))
+ :do (rulp.entries:render-entry rulp.render:*renderer* entry))
;; (loop :for entry :in *active-entries*
- ;; :do (display-entry *renderer* entry))
+ ;; :do (display-entry rulp.render:*renderer* entry))
;; debug infos
(when debug-info
- (tr-write (format nil "~A" debug-info) 0 0 10 15 *renderer*))
- (sdl2:render-present *renderer*)
+ (tr-write (format nil "~A" debug-info) 0 0 10 15 rulp.render:*renderer*))
+ (sdl2:render-present rulp.render:*renderer*)
;; updating grids and dimension
;; FIXME: i hate this, find a better way to dinamically change the window dimension
(multiple-value-bind (new-width new-height) (sdl2:get-window-size window)