Code Monkey home page Code Monkey logo

cepl.sdl2's Introduction

Cepl.SDL2

This package lets SDL2 act as a host for cepl

cepl.sdl2's People

Contributors

arbv avatar cbaggers avatar nja avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cepl.sdl2's Issues

SDL_GL_SetAttribute needs to be called before window open

Hello!

I was using CEPL & wasn't getting a stencil buffer. After playing around with cepl.sdl2, to get a stencil buffer this needs moving to the make-sdl-surface function

(sdl2:gl-set-attr :stencil-size stencil-size)

Unless I've misunderstood something, all the other calls to gl-set-attr probably need moving as well

Cannot compile on Mac

macOS 10.12.3 SBCL 1.3.14

I started with cepl from quicklisp and went on to clone cepl and cepl.sdl2 to quicklisp/local-projects, which did not help.

Are there dependencies other than OpenGL that I must install?

COMPILE-FILE-ERROR while
compiling #<CL-SOURCE-FILE "sdl2" "syswm">
   [Condition of type UIOP/LISP-BUILD:COMPILE-FILE-ERROR]

Restarts:
 0: [RETRY] Retry compiling #<CL-SOURCE-FILE "sdl2" "syswm">.
 1: [ACCEPT] Continue, treating compiling #<CL-SOURCE-FILE "sdl2" "syswm"> as having been successful.
 2: [RETRY] Retry ASDF operation.
 3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration.
 4: [ABORT] Give up on "cepl.sdl2"
 5: [ABORT] Exit debugger, returning to top level.

Backtrace:
  0: (UIOP/LISP-BUILD:CHECK-LISP-COMPILE-RESULTS NIL T T "~/asdf-action::format-action/" ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "sdl2" "syswm">)))
      Locals:
        CONTEXT-ARGUMENTS = ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "sdl2" "syswm">))
        CONTEXT-FORMAT = "~/asdf-action::format-action/"
        FAILURE-P = T
        OUTPUT = NIL
        WARNINGS-P = T
  1: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unavailable argument> #<unavailable argument> #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "sdl2" "syswm">)
      Locals:
        SB-DEBUG::ARG-2 = #<ASDF/LISP-ACTION:COMPILE-OP >
        SB-DEBUG::ARG-3 = #<ASDF/LISP-ACTION:CL-SOURCE-FILE "sdl2" "syswm">
  2: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "sdl2" "syswm">) [fast-method]
      Locals:
        SB-DEBUG::ARG-1 = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS (T T))> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (2))
        SB-DEBUG::ARG-2 = #<ASDF/LISP-ACTION:COMPILE-OP >
        SB-DEBUG::ARG-3 = #<ASDF/LISP-ACTION:CL-SOURCE-FILE "sdl2" "syswm">
  3: ((:METHOD ASDF/PLAN:PERFORM-PLAN (LIST)) ((#1=#<ASDF/LISP-ACTION:PREPARE-OP > . #2=#<ASDF/SYSTEM:SYSTEM "uiop">) (#3=#<ASDF/LISP-ACTION:COMPILE-OP > . #2#) (#<ASDF/LISP-ACTION:LOAD-OP > . #2#) (#1# . ..
      Locals:
        #:.DEFAULTING-TEMP. = NIL
        ASDF/PLAN::STEPS = ((#<ASDF/LISP-ACTION:PREPARE-OP > . #<ASDF/SYSTEM:SYSTEM "uiop">) (#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/SYSTEM:SYSTEM "uiop">) (#<ASDF/LISP-ACTION:LOAD-OP > . #<ASDF/SYSTEM:SYSTEM "uiop">) ..)
  4: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
      [No Locals]
  5: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) ((#1=#<ASDF/LISP-ACTION:PREPARE-OP > . #2=#<ASDF/SYSTEM:SYSTEM "uiop">) (#3=#<ASDF/LISP-ACTION:COMPILE-OP > . #2#) (#<ASDF/LISP-ACTION:LOAD-OP > . #2#) (#..
      Locals:
        SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL ..)
        SB-PCL::.REST-ARG. = (:VERBOSE NIL)
        ASDF/PLAN:PLAN = ((#<ASDF/LISP-ACTION:PREPARE-OP > . #<ASDF/SYSTEM:SYSTEM "uiop">) (#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/SYSTEM:SYSTEM "uiop">) (#<ASDF/LISP-ACTION:LOAD-OP > . #<ASDF/SYSTEM:SYSTEM "uiop">) ..)
  6: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
      [No Locals]
  7: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {100519D1E3}> :VERBOSE NIL) [fast-method]
      Locals:
        SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD ASDF/PLAN:PERFORM-PLAN (T))> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (1 . T))
        SB-PCL::.REST-ARG. = (:VERBOSE NIL)
        ASDF/PLAN:PLAN = #<ASDF/PLAN:SEQUENTIAL-PLAN {100519D1E3}>
  8: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "cepl.sdl2"> :VERBOSE NIL) [fast-method]
      Locals:
        #:.DEFAULTING-TEMP. = NIL
        ASDF/COMPONENT:COMPONENT = #<ASDF/SYSTEM:SYSTEM "cepl.sdl2">
        ASDF/OPERATION:OPERATION = #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL>
        SB-DEBUG::MORE = (:VERBOSE NIL)
  9: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "cepl.sdl2"> :VERBOSE NIL)
      Locals:
        SB-PCL::.ARG0. = #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL>
        SB-PCL::.ARG1. = #<ASDF/SYSTEM:SYSTEM "cepl.sdl2">
        SB-DEBUG::MORE = (:VERBOSE NIL)
 10: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
      [No Locals]
 11: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "cepl.sdl2"> :VERBOSE NIL) [fast-method]
      Locals:
        SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<CLOSURE (SB-PCL::EMF ASDF/OPERATE:OPERATE) {1002274BFB}> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (2 . T))
        SB-PCL::.REST-ARG. = (:VERBOSE NIL)
        ASDF/COMPONENT:COMPONENT = #<ASDF/SYSTEM:SYSTEM "cepl.sdl2">
        ASDF/OPERATION:OPERATION = #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL>
 12: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:LOAD-OP "cepl.sdl2" :VERBOSE NIL)
      Locals:
        SB-PCL::.ARG0. = ASDF/LISP-ACTION:LOAD-OP
        SB-PCL::.ARG1. = "cepl.sdl2"
        SB-DEBUG::MORE = (:VERBOSE NIL)
 13: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
      [No Locals]
 14: (ASDF/CACHE:CALL-WITH-ASDF-CACHE #<CLOSURE (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {100517AA0B}> :OVERRIDE NIL :KEY NIL)
      Locals:
        #:.DEFAULTING-TEMP. = NIL
        #:.DEFAULTING-TEMP.#1 = NIL
        THUNK = #<CLOSURE (LAMBDA () :IN ASDF/OPERATE:OPERATE) {100517AA0B}>
 15: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "cepl.sdl2" :VERBOSE NIL) [fast-method]
      Locals:
        SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<CLOSURE (SB-PCL::EMF ASDF/OPERATE:OPERATE) {1002274C9B}> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (2 . T))
        SB-PCL::.REST-ARG. = (:VERBOSE NIL)
        ASDF/COMPONENT:COMPONENT = "cepl.sdl2"
        ASDF/OPERATION:OPERATION = ASDF/LISP-ACTION:LOAD-OP
 16: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "cepl.sdl2" :VERBOSE NIL) [fast-method]
      Locals:
        SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<CLOSURE (SB-PCL::EMF ASDF/OPERATE:OPERATE) {1002274C9B}> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (2 . T))
        SB-PCL::.REST-ARG. = (:VERBOSE NIL)
        ASDF/COMPONENT:COMPONENT = "cepl.sdl2"
        ASDF/OPERATION:OPERATION = ASDF/LISP-ACTION:LOAD-OP
 17: (ASDF/OPERATE:LOAD-SYSTEM "cepl.sdl2" :VERBOSE NIL)
      Locals:
        SYSTEM = "cepl.sdl2"
        SB-DEBUG::MORE = (:VERBOSE NIL)
 18: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {100515A0FB}>)
      Locals:
        SB-DEBUG::ARG-0 = #<CLOSURE (LAMBDA () :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {100515A0FB}>
 19: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "cepl.sdl2" :PROMPT NIL)
      Locals:
        #:.DEFAULTING-TEMP. = NIL
        NAME = "cepl.sdl2"
 20: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T)) #<unavailable argument> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1005031EDB}>) [fast-method]
      Locals:
        SB-DEBUG::ARG-3 = #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1005031EDB}>
 21: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION :AROUND (QL-IMPL:SBCL T)) #<QL-IMPL:SBCL {1002120F03}> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1005031EDB}>) [fast-me..
      Locals:
        SB-DEBUG::ARG-1 = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T))> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (2))
        SB-DEBUG::ARG-2 = #<QL-IMPL:SBCL {1002120F03}>
        SB-DEBUG::ARG-3 = #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1005031EDB}>
 22: ((:METHOD QUICKLISP-CLIENT:QUICKLOAD (T)) #<unavailable argument> :PROMPT NIL :SILENT NIL :VERBOSE NIL) [fast-method]
      Locals:
        #:.DEFAULTING-TEMP. = NIL
        #:.DEFAULTING-TEMP.#1 = NIL
        #:.DEFAULTING-TEMP.#2 = NIL
        #:N-SUPPLIED-10 = 0
        #:N-SUPPLIED-11 = 0
 23: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT:QUICKLOAD) {100501CE8B}>)
      Locals:
        SB-DEBUG::ARG-0 = #<CLOSURE (LAMBDA () :IN QUICKLISP-CLIENT:QUICKLOAD) {100501CE8B}>
 24: (SB-INT:SIMPLE-EVAL-IN-LEXENV (QUICKLISP-CLIENT:QUICKLOAD "cepl.sdl2") #<NULL-LEXENV>)
      Locals:
        SB-DEBUG::ARG-0 = (QUICKLISP-CLIENT:QUICKLOAD "cepl.sdl2")
        SB-DEBUG::ARG-1 = #<NULL-LEXENV>
 25: (EVAL (QUICKLISP-CLIENT:QUICKLOAD "cepl.sdl2"))
      Locals:
        SB-DEBUG::ARG-0 = (QUICKLISP-CLIENT:QUICKLOAD "cepl.sdl2")
 26: (INTERACTIVE-EVAL (QUICKLISP-CLIENT:QUICKLOAD "cepl.sdl2") :EVAL NIL)
      Locals:
        #:.DEFAULTING-TEMP. = NIL
        SB-KERNEL:FORM = (QUICKLISP-CLIENT:QUICKLOAD "cepl.sdl2")
        #:N-SUPPLIED-51 = 0
 27: (SB-IMPL::REPL-FUN NIL)
      Locals:
        SB-DEBUG::ARG-0 = NIL
 28: ((LAMBDA NIL :IN SB-IMPL::TOPLEVEL-REPL))
      [No Locals]
      Catch-tags:
        SB-INT:TOPLEVEL-CATCHER
 29: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA NIL :IN SB-IMPL::TOPLEVEL-REPL) {10021939DB}>)
      Locals:
        SB-DEBUG::ARG-0 = #<CLOSURE (LAMBDA () :IN SB-IMPL::TOPLEVEL-REPL) {10021939DB}>
 30: (SB-IMPL::TOPLEVEL-REPL NIL)
      Locals:
        SB-DEBUG::ARG-0 = NIL
 31: (SB-IMPL::TOPLEVEL-INIT)
      [No Locals]
 32: ((FLET #:WITHOUT-INTERRUPTS-BODY-77 :IN SAVE-LISP-AND-DIE))
      [No Locals]
      Catch-tags:
        SB-IMPL::%END-OF-THE-WORLD
 33: ((LABELS SB-IMPL::RESTART-LISP :IN SAVE-LISP-AND-DIE))
      [No Locals]
; file: /Users/username/quicklisp/dists/quicklisp/software/cl-sdl2-20170227-git/src/syswm.lisp
; in: DEFUN GET-WINDOW-WM-INFO
;     (SDL2::INFO :INFO :WIN :WINDOW)
; ==>
;   (PLUS-C:C-REF #:TMP0 SDL2-FFI:SDL-SYSWM-INFO :INFO :WIN :WINDOW)
; 
; caught ERROR:
;   during macroexpansion of (C-REF #:TMP0 SDL2-FFI:SDL-SYSWM-INFO ...). Use
;   *BREAK-ON-SIGNALS* to intercept.
;   
;    Unknown field :WINDOW for foreign-record type:
;   #<AUTOWRAP:FOREIGN-RECORD ANON-TYPE-670 {10063B1A43}>
;   Valid fields:
;     :HDC (SDL2-FFI:HDC)
;   
; 
; caught ERROR:
;   during macroexpansion of (C-REF #:TMP0 SDL2-FFI:SDL-SYSWM-INFO ...). Use
;   *BREAK-ON-SIGNALS* to intercept.
;   
;    Unknown field :WINDOW for foreign-record type:
;   #<AUTOWRAP:FOREIGN-RECORD ANON-TYPE-670 {10063B1A43}>
;   Valid fields:
;     :HDC (SDL2-FFI:HDC)
;   
.; 
; caught ERROR:
;   during macroexpansion of (C-REF #:TMP0 SDL2-FFI:SDL-SYSWM-INFO ...). Use
;   *BREAK-ON-SIGNALS* to intercept.
;   
;    Unknown field :WINDOW for foreign-record type:
;   #<AUTOWRAP:FOREIGN-RECORD ANON-TYPE-670 {10063B1A43}>
;   Valid fields:
;     :HDC (SDL2-FFI:HDC)
;   

Initializing with :everything by default causing issues with light-weight SDL2 builds.

Quickloading cepl.sdl2 and calling (cepl:repl) gets me the following error:

SDL Error (-1): SDL not built with haptic (force feedback) support
   [Condition of type SDL2::SDL-RC-ERROR]

The issue seems to be that sdl-init is called without any arguments, which then defaults to enabling the :everything flag. This enables all SDL modules, including ones that may not be included in the SDL build, and causes an error. Considering a CEPL host does not require force feedback, joystick support, etc, I think it would be best if sdl-init defaulted to only the flags the host needs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.