Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Thanks for the suggestion. Unfortunately the windows binary with wine did not work; it had opengl errors.

When I tried running from source, I was missing the assets dir, but even with that added I get the same error as trying to run the linux binary.

Here’s the output, fyi:

boom
Unhandled SIMPLE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                    {1002C18003}>:
  519 is not defined as a value for enum type #<CFFI::FOREIGN-ENUM SDL2/EVENTS:EVENT-TYPE>.

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {1002C18003}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SIMPLE-ERROR "~S is not defined as a value for enum type ~S." {1004D771E3}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK *INVOKE-DEBUGGER-HOOK* #<SIMPLE-ERROR "~S is not defined as a value for enum type ~S." {1004D771E3}>)
2: (INVOKE-DEBUGGER #<SIMPLE-ERROR "~S is not defined as a value for enum type ~S." {1004D771E3}>)
3: (ERROR "~S is not defined as a value for enum type ~S." 519 #<CFFI::FOREIGN-ENUM SDL2/EVENTS:EVENT-TYPE>)
4: (CFFI::%FOREIGN-ENUM-KEYWORD #<CFFI::FOREIGN-ENUM SDL2/EVENTS:EVENT-TYPE> 519 :ERRORP T)
5: (RACERDEMO::HANDLE-INPUT)
6: (RACERDEMO::FRAME 16)
7: (RACERDEMO::RUN)
8: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
9: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
10: (SB-IMPL::START-LISP)

Thanks for the stacktrace,

Looks like my bad - a bug in the lisp-side SDL bindings (missing event type). That's interesting... have to dig into SDL source how that can happen.

Do you have maybe some unusual hardware such as joystick/foot pedals? (Trying to see if such an event type could be coming from).

For now this could be the quickest fix (pushed that to gitlab too):

--- a/lisp/racerdemo.lisp
+++ b/lisp/racerdemo.lisp
@@ -95,7 +95,7 @@
   (let ((event (sdl2:make-event)))
     (unwind-protect
          (loop while (plusp (sdl2:poll-event event)) do
-           (let ((event-type (cffi:mem-ref event 'sdl2:event-type)))
+           (let ((event-type (ignore-errors (cffi:mem-ref event 'sdl2:event-type))))
              (handle event-type event)))
       (cffi:foreign-free event))))

The most unusual hardware I have is an old Logitech G13. I also have a Logitech G633 headset but, other than that, just a mouse and keyboard.

I pulled the latest source and it works! I hope it was helpful to learn about this bug :)

Woohoo (-:

Yup, in a way it's good it popped up.

Going to pack the assets into exe next time as well. Maybe gracefully handle missing ones, too...