Hex Artifact Content
Not logged in

Artifact daf1966c994177a09b6b7fd01b357efe5d2fa1b8:


0000: 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63  (define-sdl-func
0010: 20 76 6f 69 64 20 73 64 6c 2d 6c 6f 63 6b 2d 6a   void sdl-lock-j
0020: 6f 79 73 74 69 63 6b 73 20 28 29 20 22 53 44 4c  oysticks () "SDL
0030: 5f 4c 6f 63 6b 4a 6f 79 73 74 69 63 6b 73 22 29  _LockJoysticks")
0040: 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e  .(define-sdl-fun
0050: 63 20 76 6f 69 64 20 73 64 6c 2d 75 6e 6c 6f 63  c void sdl-unloc
0060: 6b 2d 6a 6f 79 73 74 69 63 6b 73 20 28 29 20 22  k-joysticks () "
0070: 53 44 4c 5f 55 6e 6c 6f 63 6b 4a 6f 79 73 74 69  SDL_UnlockJoysti
0080: 63 6b 73 22 29 0a 28 64 65 66 69 6e 65 2d 73 64  cks").(define-sd
0090: 6c 2d 66 75 6e 63 20 69 6e 74 20 73 64 6c 2d 6e  l-func int sdl-n
00a0: 75 6d 2d 6a 6f 79 73 74 69 63 6b 73 20 28 29 20  um-joysticks () 
00b0: 22 53 44 4c 5f 4e 75 6d 4a 6f 79 73 74 69 63 6b  "SDL_NumJoystick
00c0: 73 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d  s").(define-sdl-
00d0: 66 75 6e 63 20 73 74 72 69 6e 67 20 73 64 6c 2d  func string sdl-
00e0: 6a 6f 79 73 74 69 63 6b 2d 6e 61 6d 65 2d 66 6f  joystick-name-fo
00f0: 72 2d 69 6e 64 65 78 20 28 28 64 65 76 69 63 65  r-index ((device
0100: 5f 69 6e 64 65 78 20 69 6e 74 29 29 20 22 53 44  _index int)) "SD
0110: 4c 5f 4a 6f 79 73 74 69 63 6b 4e 61 6d 65 46 6f  L_JoystickNameFo
0120: 72 49 6e 64 65 78 22 29 0a 3b 3b 62 6c 61 63 6b  rIndex").;;black
0130: 6c 69 73 74 65 64 20 70 72 6f 62 61 62 6c 79 20  listed probably 
0140: 62 65 63 61 75 73 65 20 69 74 20 75 73 65 73 20  because it uses 
0150: 61 20 73 74 72 75 63 74 20 61 73 20 76 61 6c 75  a struct as valu
0160: 65 2e 0a 28 64 65 66 69 6e 65 20 73 64 6c 2d 6a  e..(define sdl-j
0170: 6f 79 73 74 69 63 6b 2d 67 65 74 2d 64 65 76 69  oystick-get-devi
0180: 63 65 2d 67 75 69 64 20 23 66 29 0a 28 64 65 66  ce-guid #f).(def
0190: 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 75 69 6e  ine-sdl-func uin
01a0: 74 31 36 20 73 64 6c 2d 6a 6f 79 73 74 69 63 6b  t16 sdl-joystick
01b0: 2d 67 65 74 2d 64 65 76 69 63 65 2d 76 65 6e 64  -get-device-vend
01c0: 6f 72 20 28 28 64 65 76 69 63 65 5f 69 6e 64 65  or ((device_inde
01d0: 78 20 69 6e 74 29 29 20 22 53 44 4c 5f 4a 6f 79  x int)) "SDL_Joy
01e0: 73 74 69 63 6b 47 65 74 44 65 76 69 63 65 56 65  stickGetDeviceVe
01f0: 6e 64 6f 72 22 29 0a 28 64 65 66 69 6e 65 2d 73  ndor").(define-s
0200: 64 6c 2d 66 75 6e 63 20 75 69 6e 74 31 36 20 73  dl-func uint16 s
0210: 64 6c 2d 6a 6f 79 73 74 69 63 6b 2d 67 65 74 2d  dl-joystick-get-
0220: 64 65 76 69 63 65 2d 70 72 6f 64 75 63 74 20 28  device-product (
0230: 28 64 65 76 69 63 65 5f 69 6e 64 65 78 20 69 6e  (device_index in
0240: 74 29 29 20 22 53 44 4c 5f 4a 6f 79 73 74 69 63  t)) "SDL_Joystic
0250: 6b 47 65 74 44 65 76 69 63 65 50 72 6f 64 75 63  kGetDeviceProduc
0260: 74 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d  t").(define-sdl-
0270: 66 75 6e 63 20 75 69 6e 74 31 36 20 73 64 6c 2d  func uint16 sdl-
0280: 6a 6f 79 73 74 69 63 6b 2d 67 65 74 2d 64 65 76  joystick-get-dev
0290: 69 63 65 2d 70 72 6f 64 75 63 74 2d 76 65 72 73  ice-product-vers
02a0: 69 6f 6e 20 28 28 64 65 76 69 63 65 5f 69 6e 64  ion ((device_ind
02b0: 65 78 20 69 6e 74 29 29 20 22 53 44 4c 5f 4a 6f  ex int)) "SDL_Jo
02c0: 79 73 74 69 63 6b 47 65 74 44 65 76 69 63 65 50  ystickGetDeviceP
02d0: 72 6f 64 75 63 74 56 65 72 73 69 6f 6e 22 29 0a  roductVersion").
02e0: 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63  (define-sdl-func
02f0: 20 73 64 6c 2d 6a 6f 79 73 74 69 63 6b 2d 74 79   sdl-joystick-ty
0300: 70 65 2d 74 20 73 64 6c 2d 6a 6f 79 73 74 69 63  pe-t sdl-joystic
0310: 6b 2d 67 65 74 2d 64 65 76 69 63 65 2d 74 79 70  k-get-device-typ
0320: 65 20 28 28 64 65 76 69 63 65 5f 69 6e 64 65 78  e ((device_index
0330: 20 69 6e 74 29 29 20 22 53 44 4c 5f 4a 6f 79 73   int)) "SDL_Joys
0340: 74 69 63 6b 47 65 74 44 65 76 69 63 65 54 79 70  tickGetDeviceTyp
0350: 65 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d  e").(define-sdl-
0360: 66 75 6e 63 20 73 64 6c 2d 6a 6f 79 73 74 69 63  func sdl-joystic
0370: 6b 2d 69 64 2d 74 20 73 64 6c 2d 6a 6f 79 73 74  k-id-t sdl-joyst
0380: 69 63 6b 2d 67 65 74 2d 64 65 76 69 63 65 2d 69  ick-get-device-i
0390: 6e 73 74 61 6e 63 65 2d 69 64 20 28 28 64 65 76  nstance-id ((dev
03a0: 69 63 65 5f 69 6e 64 65 78 20 69 6e 74 29 29 20  ice_index int)) 
03b0: 22 53 44 4c 5f 4a 6f 79 73 74 69 63 6b 47 65 74  "SDL_JoystickGet
03c0: 44 65 76 69 63 65 49 6e 73 74 61 6e 63 65 49 44  DeviceInstanceID
03d0: 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66  ").(define-sdl-f
03e0: 75 6e 63 20 28 2a 20 73 64 6c 2d 6a 6f 79 73 74  unc (* sdl-joyst
03f0: 69 63 6b 2d 74 29 20 73 64 6c 2d 6a 6f 79 73 74  ick-t) sdl-joyst
0400: 69 63 6b 2d 6f 70 65 6e 20 28 28 64 65 76 69 63  ick-open ((devic
0410: 65 5f 69 6e 64 65 78 20 69 6e 74 29 29 20 22 53  e_index int)) "S
0420: 44 4c 5f 4a 6f 79 73 74 69 63 6b 4f 70 65 6e 22  DL_JoystickOpen"
0430: 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 75  ).(define-sdl-fu
0440: 6e 63 20 28 2a 20 73 64 6c 2d 6a 6f 79 73 74 69  nc (* sdl-joysti
0450: 63 6b 2d 74 29 20 73 64 6c 2d 6a 6f 79 73 74 69  ck-t) sdl-joysti
0460: 63 6b 2d 66 72 6f 6d 2d 69 6e 73 74 61 6e 63 65  ck-from-instance
0470: 2d 69 64 20 28 28 6a 6f 79 69 64 20 73 64 6c 2d  -id ((joyid sdl-
0480: 6a 6f 79 73 74 69 63 6b 2d 69 64 2d 74 29 29 20  joystick-id-t)) 
0490: 22 53 44 4c 5f 4a 6f 79 73 74 69 63 6b 46 72 6f  "SDL_JoystickFro
04a0: 6d 49 6e 73 74 61 6e 63 65 49 44 22 29 0a 28 64  mInstanceID").(d
04b0: 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 73  efine-sdl-func s
04c0: 74 72 69 6e 67 20 73 64 6c 2d 6a 6f 79 73 74 69  tring sdl-joysti
04d0: 63 6b 2d 6e 61 6d 65 20 28 28 6a 6f 79 73 74 69  ck-name ((joysti
04e0: 63 6b 20 28 2a 20 73 64 6c 2d 6a 6f 79 73 74 69  ck (* sdl-joysti
04f0: 63 6b 2d 74 29 29 29 20 22 53 44 4c 5f 4a 6f 79  ck-t))) "SDL_Joy
0500: 73 74 69 63 6b 4e 61 6d 65 22 29 0a 3b 3b 62 6c  stickName").;;bl
0510: 61 63 6b 6c 69 73 74 65 64 20 70 72 6f 62 61 62  acklisted probab
0520: 6c 79 20 62 65 63 61 75 73 65 20 69 74 20 75 73  ly because it us
0530: 65 73 20 61 20 73 74 72 75 63 74 20 61 73 20 76  es a struct as v
0540: 61 6c 75 65 2e 0a 28 64 65 66 69 6e 65 20 73 64  alue..(define sd
0550: 6c 2d 6a 6f 79 73 74 69 63 6b 2d 67 65 74 2d 67  l-joystick-get-g
0560: 75 69 64 20 23 66 29 0a 28 64 65 66 69 6e 65 2d  uid #f).(define-
0570: 73 64 6c 2d 66 75 6e 63 20 75 69 6e 74 31 36 20  sdl-func uint16 
0580: 73 64 6c 2d 6a 6f 79 73 74 69 63 6b 2d 67 65 74  sdl-joystick-get
0590: 2d 76 65 6e 64 6f 72 20 28 28 6a 6f 79 73 74 69  -vendor ((joysti
05a0: 63 6b 20 28 2a 20 73 64 6c 2d 6a 6f 79 73 74 69  ck (* sdl-joysti
05b0: 63 6b 2d 74 29 29 29 20 22 53 44 4c 5f 4a 6f 79  ck-t))) "SDL_Joy
05c0: 73 74 69 63 6b 47 65 74 56 65 6e 64 6f 72 22 29  stickGetVendor")
05d0: 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e  .(define-sdl-fun
05e0: 63 20 75 69 6e 74 31 36 20 73 64 6c 2d 6a 6f 79  c uint16 sdl-joy
05f0: 73 74 69 63 6b 2d 67 65 74 2d 70 72 6f 64 75 63  stick-get-produc
0600: 74 20 28 28 6a 6f 79 73 74 69 63 6b 20 28 2a 20  t ((joystick (* 
0610: 73 64 6c 2d 6a 6f 79 73 74 69 63 6b 2d 74 29 29  sdl-joystick-t))
0620: 29 20 22 53 44 4c 5f 4a 6f 79 73 74 69 63 6b 47  ) "SDL_JoystickG
0630: 65 74 50 72 6f 64 75 63 74 22 29 0a 28 64 65 66  etProduct").(def
0640: 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 75 69 6e  ine-sdl-func uin
0650: 74 31 36 20 73 64 6c 2d 6a 6f 79 73 74 69 63 6b  t16 sdl-joystick
0660: 2d 67 65 74 2d 70 72 6f 64 75 63 74 2d 76 65 72  -get-product-ver
0670: 73 69 6f 6e 20 28 28 6a 6f 79 73 74 69 63 6b 20  sion ((joystick 
0680: 28 2a 20 73 64 6c 2d 6a 6f 79 73 74 69 63 6b 2d  (* sdl-joystick-
0690: 74 29 29 29 20 22 53 44 4c 5f 4a 6f 79 73 74 69  t))) "SDL_Joysti
06a0: 63 6b 47 65 74 50 72 6f 64 75 63 74 56 65 72 73  ckGetProductVers
06b0: 69 6f 6e 22 29 0a 28 64 65 66 69 6e 65 2d 73 64  ion").(define-sd
06c0: 6c 2d 66 75 6e 63 20 73 64 6c 2d 6a 6f 79 73 74  l-func sdl-joyst
06d0: 69 63 6b 2d 74 79 70 65 2d 74 20 73 64 6c 2d 6a  ick-type-t sdl-j
06e0: 6f 79 73 74 69 63 6b 2d 67 65 74 2d 74 79 70 65  oystick-get-type
06f0: 20 28 28 6a 6f 79 73 74 69 63 6b 20 28 2a 20 73   ((joystick (* s
0700: 64 6c 2d 6a 6f 79 73 74 69 63 6b 2d 74 29 29 29  dl-joystick-t)))
0710: 20 22 53 44 4c 5f 4a 6f 79 73 74 69 63 6b 47 65   "SDL_JoystickGe
0720: 74 54 79 70 65 22 29 0a 3b 3b 62 6c 61 63 6b 6c  tType").;;blackl
0730: 69 73 74 65 64 20 70 72 6f 62 61 62 6c 79 20 62  isted probably b
0740: 65 63 61 75 73 65 20 69 74 20 75 73 65 73 20 61  ecause it uses a
0750: 20 73 74 72 75 63 74 20 61 73 20 76 61 6c 75 65   struct as value
0760: 2e 0a 28 64 65 66 69 6e 65 20 73 64 6c 2d 6a 6f  ..(define sdl-jo
0770: 79 73 74 69 63 6b 2d 67 65 74 2d 67 75 69 64 2d  ystick-get-guid-
0780: 73 74 72 69 6e 67 20 23 66 29 0a 3b 3b 62 6c 61  string #f).;;bla
0790: 63 6b 6c 69 73 74 65 64 20 70 72 6f 62 61 62 6c  cklisted probabl
07a0: 79 20 62 65 63 61 75 73 65 20 69 74 20 75 73 65  y because it use
07b0: 73 20 61 20 73 74 72 75 63 74 20 61 73 20 76 61  s a struct as va
07c0: 6c 75 65 2e 0a 28 64 65 66 69 6e 65 20 73 64 6c  lue..(define sdl
07d0: 2d 6a 6f 79 73 74 69 63 6b 2d 67 65 74 2d 67 75  -joystick-get-gu
07e0: 69 64 2d 66 72 6f 6d 2d 73 74 72 69 6e 67 20 23  id-from-string #
07f0: 66 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66  f).(define-sdl-f
0800: 75 6e 63 20 73 64 6c 2d 62 6f 6f 6c 2d 74 20 73  unc sdl-bool-t s
0810: 64 6c 2d 6a 6f 79 73 74 69 63 6b 2d 67 65 74 2d  dl-joystick-get-
0820: 61 74 74 61 63 68 65 64 20 28 28 6a 6f 79 73 74  attached ((joyst
0830: 69 63 6b 20 28 2a 20 73 64 6c 2d 6a 6f 79 73 74  ick (* sdl-joyst
0840: 69 63 6b 2d 74 29 29 29 20 22 53 44 4c 5f 4a 6f  ick-t))) "SDL_Jo
0850: 79 73 74 69 63 6b 47 65 74 41 74 74 61 63 68 65  ystickGetAttache
0860: 64 22 29 0a 3b 3b 62 6c 61 63 6b 6c 69 73 74 65  d").;;blackliste
0870: 64 20 70 72 6f 62 61 62 6c 79 20 62 65 63 61 75  d probably becau
0880: 73 65 20 69 74 20 75 73 65 73 20 61 20 73 74 72  se it uses a str
0890: 75 63 74 20 61 73 20 76 61 6c 75 65 2e 0a 28 64  uct as value..(d
08a0: 65 66 69 6e 65 20 73 64 6c 2d 6a 6f 79 73 74 69  efine sdl-joysti
08b0: 63 6b 2d 69 6e 73 74 61 6e 63 65 2d 69 64 20 23  ck-instance-id #
08c0: 66 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66  f).(define-sdl-f
08d0: 75 6e 63 20 69 6e 74 20 73 64 6c 2d 6a 6f 79 73  unc int sdl-joys
08e0: 74 69 63 6b 2d 6e 75 6d 2d 61 78 65 73 20 28 28  tick-num-axes ((
08f0: 6a 6f 79 73 74 69 63 6b 20 28 2a 20 73 64 6c 2d  joystick (* sdl-
0900: 6a 6f 79 73 74 69 63 6b 2d 74 29 29 29 20 22 53  joystick-t))) "S
0910: 44 4c 5f 4a 6f 79 73 74 69 63 6b 4e 75 6d 41 78  DL_JoystickNumAx
0920: 65 73 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c  es").(define-sdl
0930: 2d 66 75 6e 63 20 69 6e 74 20 73 64 6c 2d 6a 6f  -func int sdl-jo
0940: 79 73 74 69 63 6b 2d 6e 75 6d 2d 62 61 6c 6c 73  ystick-num-balls
0950: 20 28 28 6a 6f 79 73 74 69 63 6b 20 28 2a 20 73   ((joystick (* s
0960: 64 6c 2d 6a 6f 79 73 74 69 63 6b 2d 74 29 29 29  dl-joystick-t)))
0970: 20 22 53 44 4c 5f 4a 6f 79 73 74 69 63 6b 4e 75   "SDL_JoystickNu
0980: 6d 42 61 6c 6c 73 22 29 0a 28 64 65 66 69 6e 65  mBalls").(define
0990: 2d 73 64 6c 2d 66 75 6e 63 20 69 6e 74 20 73 64  -sdl-func int sd
09a0: 6c 2d 6a 6f 79 73 74 69 63 6b 2d 6e 75 6d 2d 68  l-joystick-num-h
09b0: 61 74 73 20 28 28 6a 6f 79 73 74 69 63 6b 20 28  ats ((joystick (
09c0: 2a 20 73 64 6c 2d 6a 6f 79 73 74 69 63 6b 2d 74  * sdl-joystick-t
09d0: 29 29 29 20 22 53 44 4c 5f 4a 6f 79 73 74 69 63  ))) "SDL_Joystic
09e0: 6b 4e 75 6d 48 61 74 73 22 29 0a 28 64 65 66 69  kNumHats").(defi
09f0: 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 69 6e 74 20  ne-sdl-func int 
0a00: 73 64 6c 2d 6a 6f 79 73 74 69 63 6b 2d 6e 75 6d  sdl-joystick-num
0a10: 2d 62 75 74 74 6f 6e 73 20 28 28 6a 6f 79 73 74  -buttons ((joyst
0a20: 69 63 6b 20 28 2a 20 73 64 6c 2d 6a 6f 79 73 74  ick (* sdl-joyst
0a30: 69 63 6b 2d 74 29 29 29 20 22 53 44 4c 5f 4a 6f  ick-t))) "SDL_Jo
0a40: 79 73 74 69 63 6b 4e 75 6d 42 75 74 74 6f 6e 73  ystickNumButtons
0a50: 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66  ").(define-sdl-f
0a60: 75 6e 63 20 76 6f 69 64 20 73 64 6c 2d 6a 6f 79  unc void sdl-joy
0a70: 73 74 69 63 6b 2d 75 70 64 61 74 65 20 28 29 20  stick-update () 
0a80: 22 53 44 4c 5f 4a 6f 79 73 74 69 63 6b 55 70 64  "SDL_JoystickUpd
0a90: 61 74 65 22 29 0a 28 64 65 66 69 6e 65 2d 73 64  ate").(define-sd
0aa0: 6c 2d 66 75 6e 63 20 69 6e 74 20 73 64 6c 2d 6a  l-func int sdl-j
0ab0: 6f 79 73 74 69 63 6b 2d 65 76 65 6e 74 2d 73 74  oystick-event-st
0ac0: 61 74 65 20 28 28 73 74 61 74 65 20 69 6e 74 29  ate ((state int)
0ad0: 29 20 22 53 44 4c 5f 4a 6f 79 73 74 69 63 6b 45  ) "SDL_JoystickE
0ae0: 76 65 6e 74 53 74 61 74 65 22 29 0a 28 64 65 66  ventState").(def
0af0: 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 73 69 6e  ine-sdl-func sin
0b00: 74 31 36 20 73 64 6c 2d 6a 6f 79 73 74 69 63 6b  t16 sdl-joystick
0b10: 2d 67 65 74 2d 61 78 69 73 20 28 28 6a 6f 79 73  -get-axis ((joys
0b20: 74 69 63 6b 20 28 2a 20 73 64 6c 2d 6a 6f 79 73  tick (* sdl-joys
0b30: 74 69 63 6b 2d 74 29 29 20 28 61 78 69 73 20 69  tick-t)) (axis i
0b40: 6e 74 29 29 20 22 53 44 4c 5f 4a 6f 79 73 74 69  nt)) "SDL_Joysti
0b50: 63 6b 47 65 74 41 78 69 73 22 29 0a 28 64 65 66  ckGetAxis").(def
0b60: 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 73 64 6c  ine-sdl-func sdl
0b70: 2d 62 6f 6f 6c 2d 74 20 73 64 6c 2d 6a 6f 79 73  -bool-t sdl-joys
0b80: 74 69 63 6b 2d 67 65 74 2d 61 78 69 73 2d 69 6e  tick-get-axis-in
0b90: 69 74 69 61 6c 2d 73 74 61 74 65 20 28 28 6a 6f  itial-state ((jo
0ba0: 79 73 74 69 63 6b 20 28 2a 20 73 64 6c 2d 6a 6f  ystick (* sdl-jo
0bb0: 79 73 74 69 63 6b 2d 74 29 29 20 28 61 78 69 73  ystick-t)) (axis
0bc0: 20 69 6e 74 29 20 28 73 74 61 74 65 20 28 2a 20   int) (state (* 
0bd0: 73 69 6e 74 31 36 29 29 29 20 22 53 44 4c 5f 4a  sint16))) "SDL_J
0be0: 6f 79 73 74 69 63 6b 47 65 74 41 78 69 73 49 6e  oystickGetAxisIn
0bf0: 69 74 69 61 6c 53 74 61 74 65 22 29 0a 28 64 65  itialState").(de
0c00: 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 75 69  fine-sdl-func ui
0c10: 6e 74 38 20 73 64 6c 2d 6a 6f 79 73 74 69 63 6b  nt8 sdl-joystick
0c20: 2d 67 65 74 2d 68 61 74 20 28 28 6a 6f 79 73 74  -get-hat ((joyst
0c30: 69 63 6b 20 28 2a 20 73 64 6c 2d 6a 6f 79 73 74  ick (* sdl-joyst
0c40: 69 63 6b 2d 74 29 29 20 28 68 61 74 20 69 6e 74  ick-t)) (hat int
0c50: 29 29 20 22 53 44 4c 5f 4a 6f 79 73 74 69 63 6b  )) "SDL_Joystick
0c60: 47 65 74 48 61 74 22 29 0a 28 64 65 66 69 6e 65  GetHat").(define
0c70: 2d 73 64 6c 2d 66 75 6e 63 20 69 6e 74 20 73 64  -sdl-func int sd
0c80: 6c 2d 6a 6f 79 73 74 69 63 6b 2d 67 65 74 2d 62  l-joystick-get-b
0c90: 61 6c 6c 20 28 28 6a 6f 79 73 74 69 63 6b 20 28  all ((joystick (
0ca0: 2a 20 73 64 6c 2d 6a 6f 79 73 74 69 63 6b 2d 74  * sdl-joystick-t
0cb0: 29 29 20 28 62 61 6c 6c 20 69 6e 74 29 20 28 64  )) (ball int) (d
0cc0: 78 20 28 2a 20 69 6e 74 29 29 20 28 64 79 20 28  x (* int)) (dy (
0cd0: 2a 20 69 6e 74 29 29 29 20 22 53 44 4c 5f 4a 6f  * int))) "SDL_Jo
0ce0: 79 73 74 69 63 6b 47 65 74 42 61 6c 6c 22 29 0a  ystickGetBall").
0cf0: 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63  (define-sdl-func
0d00: 20 75 69 6e 74 38 20 73 64 6c 2d 6a 6f 79 73 74   uint8 sdl-joyst
0d10: 69 63 6b 2d 67 65 74 2d 62 75 74 74 6f 6e 20 28  ick-get-button (
0d20: 28 6a 6f 79 73 74 69 63 6b 20 28 2a 20 73 64 6c  (joystick (* sdl
0d30: 2d 6a 6f 79 73 74 69 63 6b 2d 74 29 29 20 28 62  -joystick-t)) (b
0d40: 75 74 74 6f 6e 20 69 6e 74 29 29 20 22 53 44 4c  utton int)) "SDL
0d50: 5f 4a 6f 79 73 74 69 63 6b 47 65 74 42 75 74 74  _JoystickGetButt
0d60: 6f 6e 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c  on").(define-sdl
0d70: 2d 66 75 6e 63 20 76 6f 69 64 20 73 64 6c 2d 6a  -func void sdl-j
0d80: 6f 79 73 74 69 63 6b 2d 63 6c 6f 73 65 20 28 28  oystick-close ((
0d90: 6a 6f 79 73 74 69 63 6b 20 28 2a 20 73 64 6c 2d  joystick (* sdl-
0da0: 6a 6f 79 73 74 69 63 6b 2d 74 29 29 29 20 22 53  joystick-t))) "S
0db0: 44 4c 5f 4a 6f 79 73 74 69 63 6b 43 6c 6f 73 65  DL_JoystickClose
0dc0: 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66  ").(define-sdl-f
0dd0: 75 6e 63 20 73 64 6c 2d 6a 6f 79 73 74 69 63 6b  unc sdl-joystick
0de0: 2d 70 6f 77 65 72 2d 6c 65 76 65 6c 2d 74 20 73  -power-level-t s
0df0: 64 6c 2d 6a 6f 79 73 74 69 63 6b 2d 63 75 72 72  dl-joystick-curr
0e00: 65 6e 74 2d 70 6f 77 65 72 2d 6c 65 76 65 6c 20  ent-power-level 
0e10: 28 28 6a 6f 79 73 74 69 63 6b 20 28 2a 20 73 64  ((joystick (* sd
0e20: 6c 2d 6a 6f 79 73 74 69 63 6b 2d 74 29 29 29 20  l-joystick-t))) 
0e30: 22 53 44 4c 5f 4a 6f 79 73 74 69 63 6b 43 75 72  "SDL_JoystickCur
0e40: 72 65 6e 74 50 6f 77 65 72 4c 65 76 65 6c 22 29  rentPowerLevel")
0e50: 0a                                               .