Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
96b8e24
sdl3_video: fixed EGLAttribArrayCallback return type, added missing p…
VoidStarCaster Jan 6, 2026
7456579
sdl_version: Update to 3.4.0
VoidStarCaster Jan 6, 2026
aedc513
sdl3_tray: Fix type in GetTrayMenu return type
VoidStarCaster Jan 6, 2026
0c46117
sdl3_render: DestroyGPURenderState: fix parameter type (#6098), Rende…
VoidStarCaster Jan 6, 2026
39ef86d
sdl3_rect: Added #force_inline for macros, added missing FRect operat…
VoidStarCaster Jan 6, 2026
897653d
sdl3_pixels: Add missing BYTESPERPIXEL, add #force_inline for each macro
VoidStarCaster Jan 6, 2026
0cea20c
sdl3_mutex: Add missing structs and functions for Condition and InitS…
VoidStarCaster Jan 6, 2026
e668c65
sdl3_hints: Add missing hints (#6102)
VoidStarCaster Jan 6, 2026
2538f51
sdl3_gpu: Add missing function GetGPUDeviceProperties
VoidStarCaster Jan 6, 2026
3a9e177
sdl3_gamepad: Add GAMECUBE in GamepadType
VoidStarCaster Jan 6, 2026
21b198c
sdl3_audio: Add #force_inline for all macros
VoidStarCaster Jan 6, 2026
bf96344
sdl3_error: Add #force_inline for macros
VoidStarCaster Jan 6, 2026
2734cfd
sdl3_main: main_func type missing return value and "c" calling conven…
VoidStarCaster Jan 7, 2026
d32c7ac
sdl3_system: "c" calling convention for WindowsMessageHook, AndroidEx…
VoidStarCaster Jan 7, 2026
780c20d
sdl_mutex: strict-style fix
VoidStarCaster Jan 8, 2026
e44b37d
sdl3_mutex: use space for alignment
VoidStarCaster Jan 9, 2026
4cdaf65
sdl3_joyticks: GetJoystickPowerInfo(): missing pointer for percent
VoidStarCaster Jan 10, 2026
f0d1ac7
Add Maybe() around parameters that can be nil
VoidStarCaster Jan 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion vendor/sdl3/sdl3_assert.odin
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ AssertionHandler :: #type proc "c" (data: ^AssertData, userdata: rawptr) -> Asse
foreign lib {
ReportAssertion :: proc(data: ^AssertData, func, file: cstring, line: c.int) -> AssertState ---

SetAssertionHandler :: proc(handler: AssertionHandler, userdata: rawptr) ---
SetAssertionHandler :: proc(handler: Maybe(AssertionHandler), userdata: rawptr) ---
GetDefaultAssertionHandler :: proc() -> AssertionHandler ---
GetAssertionReport :: proc() -> AssertData ---
ResetAssertionReport :: proc() ---
Expand Down
50 changes: 25 additions & 25 deletions vendor/sdl3/sdl3_audio.odin
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,14 @@ AudioFormat :: enum c.int {
F32 = F32LE when BYTEORDER == LIL_ENDIAN else F32BE,
}

@(require_results) AUDIO_BITSIZE :: proc "c" (x: AudioFormat) -> Uint16 { return (Uint16(x) & AUDIO_MASK_BITSIZE) }
@(require_results) AUDIO_BYTESIZE :: proc "c" (x: AudioFormat) -> Uint16 { return AUDIO_BITSIZE(x) / 8 }
@(require_results) AUDIO_ISFLOAT :: proc "c" (x: AudioFormat) -> bool { return (Uint16(x) & AUDIO_MASK_FLOAT) != 0 }
@(require_results) AUDIO_ISBIGENDIAN :: proc "c" (x: AudioFormat) -> bool { return (Uint16(x) & AUDIO_MASK_BIG_ENDIAN) != 0 }
@(require_results) AUDIO_ISLITTLEENDIAN :: proc "c" (x: AudioFormat) -> bool { return !AUDIO_ISBIGENDIAN(x) }
@(require_results) AUDIO_ISSIGNED :: proc "c" (x: AudioFormat) -> bool { return (Uint16(x) & AUDIO_MASK_SIGNED) != 0 }
@(require_results) AUDIO_ISINT :: proc "c" (x: AudioFormat) -> bool { return !AUDIO_ISFLOAT(x) }
@(require_results) AUDIO_ISUNSIGNED :: proc "c" (x: AudioFormat) -> bool { return !AUDIO_ISSIGNED(x) }
@(require_results) AUDIO_BITSIZE :: #force_inline proc "c" (x: AudioFormat) -> Uint16 { return (Uint16(x) & AUDIO_MASK_BITSIZE) }
@(require_results) AUDIO_BYTESIZE :: #force_inline proc "c" (x: AudioFormat) -> Uint16 { return AUDIO_BITSIZE(x) / 8 }
@(require_results) AUDIO_ISFLOAT :: #force_inline proc "c" (x: AudioFormat) -> bool { return (Uint16(x) & AUDIO_MASK_FLOAT) != 0 }
@(require_results) AUDIO_ISBIGENDIAN :: #force_inline proc "c" (x: AudioFormat) -> bool { return (Uint16(x) & AUDIO_MASK_BIG_ENDIAN) != 0 }
@(require_results) AUDIO_ISLITTLEENDIAN :: #force_inline proc "c" (x: AudioFormat) -> bool { return !AUDIO_ISBIGENDIAN(x) }
@(require_results) AUDIO_ISSIGNED :: #force_inline proc "c" (x: AudioFormat) -> bool { return (Uint16(x) & AUDIO_MASK_SIGNED) != 0 }
@(require_results) AUDIO_ISINT :: #force_inline proc "c" (x: AudioFormat) -> bool { return !AUDIO_ISFLOAT(x) }
@(require_results) AUDIO_ISUNSIGNED :: #force_inline proc "c" (x: AudioFormat) -> bool { return !AUDIO_ISSIGNED(x) }


AudioDeviceID :: distinct Uint32
Expand All @@ -60,7 +60,7 @@ AudioSpec :: struct {
}

@(require_results)
AUDIO_FRAMESIZE :: proc "c" (x: AudioSpec) -> c.int {
AUDIO_FRAMESIZE :: #force_inline proc "c" (x: AudioSpec) -> c.int {
return c.int(AUDIO_BYTESIZE(x.format)) * x.channels
}

Expand All @@ -78,12 +78,12 @@ foreign lib {
GetNumAudioDrivers :: proc() -> c.int ---
GetAudioDriver :: proc(index: c.int) -> cstring ---
GetCurrentAudioDriver :: proc() -> cstring ---
GetAudioPlaybackDevices :: proc(count: ^c.int) -> [^]AudioDeviceID ---
GetAudioRecordingDevices :: proc(count: ^c.int) -> [^]AudioDeviceID ---
GetAudioPlaybackDevices :: proc(count: Maybe(^c.int)) -> [^]AudioDeviceID ---
GetAudioRecordingDevices :: proc(count: Maybe(^c.int)) -> [^]AudioDeviceID ---
GetAudioDeviceName :: proc(devid: AudioDeviceID) -> cstring ---
GetAudioDeviceFormat :: proc(devid: AudioDeviceID, spec: ^AudioSpec, sample_frames: ^c.int) -> bool ---
GetAudioDeviceChannelMap :: proc(devid: AudioDeviceID, count: ^c.int) -> [^]c.int ---
OpenAudioDevice :: proc(devid: AudioDeviceID, spec: ^AudioSpec) -> AudioDeviceID ---
GetAudioDeviceFormat :: proc(devid: AudioDeviceID, spec: ^AudioSpec, sample_frames: Maybe(^c.int)) -> bool ---
GetAudioDeviceChannelMap :: proc(devid: AudioDeviceID, count: Maybe(^c.int)) -> [^]c.int ---
OpenAudioDevice :: proc(devid: AudioDeviceID, spec: Maybe(^AudioSpec)) -> AudioDeviceID ---
IsAudioDevicePhysical :: proc(devid: AudioDeviceID) -> bool ---
IsAudioDevicePlayback :: proc(devid: AudioDeviceID) -> bool ---
PauseAudioDevice :: proc(devid: AudioDeviceID) -> bool ---
Expand All @@ -99,18 +99,18 @@ foreign lib {
GetAudioStreamDevice :: proc(stream: ^AudioStream) -> AudioDeviceID ---
CreateAudioStream :: proc(src_spec, dst_spec: ^AudioSpec) -> ^AudioStream ---
GetAudioStreamProperties :: proc(stream: ^AudioStream) -> PropertiesID ---
GetAudioStreamFormat :: proc(stream: ^AudioStream, src_spec, dst_spec: ^AudioSpec) -> bool ---
SetAudioStreamFormat :: proc(stream: ^AudioStream, src_spec, dst_spec: ^AudioSpec) -> bool ---
GetAudioStreamFormat :: proc(stream: ^AudioStream, src_spec, dst_spec: Maybe(^AudioSpec)) -> bool ---
SetAudioStreamFormat :: proc(stream: ^AudioStream, src_spec, dst_spec: Maybe(^AudioSpec)) -> bool ---
GetAudioStreamFrequencyRatio :: proc(stream: ^AudioStream) -> f32 ---
SetAudioStreamFrequencyRatio :: proc(stream: ^AudioStream, ratio: f32) -> bool ---
GetAudioStreamGain :: proc(stream: ^AudioStream) -> f32 ---
SetAudioStreamGain :: proc(stream: ^AudioStream, gain: f32) -> bool ---
GetAudioStreamInputChannelMap :: proc(stream: ^AudioStream, count: ^c.int) -> [^]c.int ---
GetAudioStreamOutputChannelMap :: proc(stream: ^AudioStream, count: ^c.int) -> [^]c.int ---
SetAudioStreamInputChannelMap :: proc(stream: ^AudioStream, chmap: [^]c.int, count: c.int) -> bool ---
SetAudioStreamOutputChannelMap :: proc(stream: ^AudioStream, chmap: [^]c.int, count: c.int) -> bool ---
GetAudioStreamInputChannelMap :: proc(stream: ^AudioStream, count: Maybe(^c.int)) -> [^]c.int ---
GetAudioStreamOutputChannelMap :: proc(stream: ^AudioStream, count: Maybe(^c.int)) -> [^]c.int ---
SetAudioStreamInputChannelMap :: proc(stream: ^AudioStream, chmap: Maybe([^]c.int), count: c.int) -> bool ---
SetAudioStreamOutputChannelMap :: proc(stream: ^AudioStream, chmap: Maybe([^]c.int), count: c.int) -> bool ---
PutAudioStreamData :: proc(stream: ^AudioStream, buf: rawptr, len: c.int) -> bool ---
PutAudioStreamDataNoCopy :: proc(stream: ^AudioStream, buf: rawptr, len: c.int, callback: AudioStreamDataCompleteCallback, userdata: rawptr) -> bool ---
PutAudioStreamDataNoCopy :: proc(stream: ^AudioStream, buf: rawptr, len: c.int, callback: Maybe(AudioStreamDataCompleteCallback), userdata: rawptr) -> bool ---
PutAudioStreamPlanarData :: proc(stream: ^AudioStream, channel_buffers: [^]rawptr, num_channels, num_samples: c.int) -> bool ---
GetAudioStreamData :: proc(stream: ^AudioStream, buf: rawptr, len: c.int) -> c.int ---
GetAudioStreamAvailable :: proc(stream: ^AudioStream) -> c.int ---
Expand All @@ -122,11 +122,11 @@ foreign lib {
AudioStreamDevicePaused :: proc(stream: ^AudioStream) -> bool ---
LockAudioStream :: proc(stream: ^AudioStream) -> bool ---
UnlockAudioStream :: proc(stream: ^AudioStream) -> bool ---
SetAudioStreamGetCallback :: proc(stream: ^AudioStream, callback: AudioStreamCallback, userdata: rawptr) -> bool ---
SetAudioStreamPutCallback :: proc(stream: ^AudioStream, callback: AudioStreamCallback, userdata: rawptr) -> bool ---
SetAudioStreamGetCallback :: proc(stream: ^AudioStream, callback: Maybe(AudioStreamCallback), userdata: rawptr) -> bool ---
SetAudioStreamPutCallback :: proc(stream: ^AudioStream, callback: Maybe(AudioStreamCallback), userdata: rawptr) -> bool ---
DestroyAudioStream :: proc(stream: ^AudioStream) ---
OpenAudioDeviceStream :: proc(devid: AudioDeviceID, spec: ^AudioSpec, callback: AudioStreamCallback, userdata: rawptr) -> ^AudioStream ---
SetAudioPostmixCallback :: proc(devid: AudioDeviceID, callback: AudioPostmixCallback, userdata: rawptr) -> bool ---
OpenAudioDeviceStream :: proc(devid: AudioDeviceID, spec: Maybe(^AudioSpec), callback: Maybe(AudioStreamCallback), userdata: rawptr) -> ^AudioStream ---
SetAudioPostmixCallback :: proc(devid: AudioDeviceID, callback: Maybe(AudioPostmixCallback), userdata: rawptr) -> bool ---
LoadWAV_IO :: proc(src: ^IOStream, closeio: bool, spec: ^AudioSpec, audio_buf: ^[^]Uint8, audio_len: ^Uint32) -> bool ---
LoadWAV :: proc(path: cstring, spec: ^AudioSpec, audio_buf: ^[^]Uint8, audio_len: ^Uint32) -> bool ---
MixAudio :: proc(dst, src: [^]Uint8, format: AudioFormat, len: Uint32, volume: f32) -> bool ---
Expand Down
8 changes: 4 additions & 4 deletions vendor/sdl3/sdl3_camera.odin
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,16 @@ foreign lib {
GetNumCameraDrivers :: proc() -> c.int ---
GetCameraDriver :: proc(index: c.int) -> cstring ---
GetCurrentCameraDriver :: proc() -> cstring ---
GetCameras :: proc(count: ^c.int) -> [^]CameraID ---
GetCameraSupportedFormats :: proc(instance_id: CameraID, count: ^c.int) -> [^]^CameraSpec ---
GetCameras :: proc(count: Maybe(^c.int)) -> [^]CameraID ---
GetCameraSupportedFormats :: proc(instance_id: CameraID, count: Maybe(^c.int)) -> [^]^CameraSpec ---
GetCameraName :: proc(instance_id: CameraID) -> cstring ---
GetCameraPosition :: proc(instance_id: CameraID) -> CameraPosition ---
OpenCamera :: proc(instance_id: CameraID, spec: ^CameraSpec) -> ^Camera ---
OpenCamera :: proc(instance_id: CameraID, spec: Maybe(^CameraSpec)) -> ^Camera ---
GetCameraPermissionState :: proc(camera: ^Camera) -> CameraPermissionState ---
GetCameraID :: proc(camera: ^Camera) -> CameraID ---
GetCameraProperties :: proc(camera: ^Camera) -> PropertiesID ---
GetCameraFormat :: proc(camera: ^Camera, spec: ^CameraSpec) -> bool ---
AcquireCameraFrame :: proc(camera: ^Camera, timestampNS: ^Uint64) -> ^Surface ---
AcquireCameraFrame :: proc(camera: ^Camera, timestampNS: Maybe(^Uint64)) -> ^Surface ---
ReleaseCameraFrame :: proc(camera: ^Camera, frame: ^Surface) ---
CloseCamera :: proc(camera: ^Camera) ---
}
2 changes: 1 addition & 1 deletion vendor/sdl3/sdl3_clipboard.odin
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ foreign lib {
ClearClipboardData :: proc() -> bool ---
GetClipboardData :: proc(mime_type: cstring, size: ^uint) -> rawptr ---
HasClipboardData :: proc(mime_type: cstring) -> bool ---
GetClipboardMimeTypes :: proc(num_mime_types: ^uint) -> [^][^]Uint8 ---
GetClipboardMimeTypes :: proc(num_mime_types: Maybe(^uint)) -> [^][^]Uint8 ---
}
6 changes: 3 additions & 3 deletions vendor/sdl3/sdl3_dialog.odin
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ DialogFileCallback :: #type proc "c" (userdata: rawptr, filelist: [^]cstring, fi

@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
ShowOpenFileDialog :: proc(callback: DialogFileCallback, userdata: rawptr, window: ^Window, filters: [^]DialogFileFilter, nfilters: c.int, default_location: cstring, allow_many: bool) ---
ShowSaveFileDialog :: proc(callback: DialogFileCallback, userdata: rawptr, window: ^Window, filters: [^]DialogFileFilter, nfilters: c.int, default_location: cstring) ---
ShowOpenFolderDialog :: proc(callback: DialogFileCallback, userdata: rawptr, window: ^Window, default_location: cstring, allow_many: bool) ---
ShowOpenFileDialog :: proc(callback: DialogFileCallback, userdata: rawptr, window: Maybe(^Window), filters: Maybe([^]DialogFileFilter), nfilters: c.int, default_location: Maybe(cstring), allow_many: bool) ---
ShowSaveFileDialog :: proc(callback: DialogFileCallback, userdata: rawptr, window: Maybe(^Window), filters: Maybe([^]DialogFileFilter), nfilters: c.int, default_location: Maybe(cstring)) ---
ShowOpenFolderDialog :: proc(callback: DialogFileCallback, userdata: rawptr, window: Maybe(^Window), default_location: Maybe(cstring), allow_many: bool) ---
ShowFileDialogWithProperties :: proc(type: FileDialogType, callback: DialogFileCallback, userdata: rawptr, props: PropertiesID) ---
}

Expand Down
4 changes: 2 additions & 2 deletions vendor/sdl3/sdl3_error.odin
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ foreign lib {
ClearError :: proc() -> bool ---
}

Unsupported :: proc "c" () -> bool { return SetError("That operation is not supported") }
InvalidParamError :: proc "c" (param: cstring) -> bool { return SetError("Parameter '%s' is invalid", param) }
Unsupported :: #force_inline proc "c" () -> bool { return SetError("That operation is not supported") }
InvalidParamError :: #force_inline proc "c" (param: cstring) -> bool { return SetError("Parameter '%s' is invalid", param) }
8 changes: 4 additions & 4 deletions vendor/sdl3/sdl3_events.odin
Original file line number Diff line number Diff line change
Expand Up @@ -643,14 +643,14 @@ EventFilter :: proc "c" (userdata: rawptr, event: ^Event) -> bool
@(default_calling_convention="c", link_prefix="SDL_", require_results)
foreign lib {
PumpEvents :: proc() ---
PeepEvents :: proc(events: [^]Event, numevents: c.int, action: EventAction, minType, maxType: EventType) -> int ---
PeepEvents :: proc(events: Maybe([^]Event), numevents: c.int, action: EventAction, minType, maxType: EventType) -> int ---
HasEvent :: proc(type: EventType) -> bool ---
HasEvents :: proc(minType, maxType: EventType) -> bool ---
FlushEvent :: proc(type: EventType) ---
FlushEvents :: proc(minType, maxType: EventType) ---
PollEvent :: proc(event: ^Event) -> bool ---
WaitEvent :: proc(event: ^Event) -> bool ---
WaitEventTimeout :: proc(event: ^Event, timeoutMS: Sint32) -> bool ---
PollEvent :: proc(event: Maybe(^Event)) -> bool ---
WaitEvent :: proc(event: Maybe(^Event)) -> bool ---
WaitEventTimeout :: proc(event: Maybe(^Event), timeoutMS: Sint32) -> bool ---
PushEvent :: proc(event: ^Event) -> bool ---
SetEventFilter :: proc(filter: EventFilter, userdata: rawptr) ---
GetEventFilter :: proc(filter: ^EventFilter, userdata: ^rawptr) -> bool ---
Expand Down
4 changes: 2 additions & 2 deletions vendor/sdl3/sdl3_filesystem.odin
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ foreign lib {
RemovePath :: proc(path: cstring) -> bool ---
RenamePath :: proc(oldpath, newpath: cstring) -> bool ---
CopyFile :: proc(oldpath, newpath: cstring) -> bool ---
GetPathInfo :: proc(path: cstring, info: ^PathInfo) -> bool ---
GlobDirectory :: proc(path: cstring, pattern: cstring, flags: GlobFlags, count: ^c.int) -> [^][^]c.char ---
GetPathInfo :: proc(path: cstring, info: Maybe(^PathInfo)) -> bool ---
GlobDirectory :: proc(path: cstring, pattern: Maybe(cstring), flags: GlobFlags, count: Maybe(^c.int)) -> [^][^]c.char ---
GetCurrentDirectory :: proc() -> [^]c.char ---
}
11 changes: 6 additions & 5 deletions vendor/sdl3/sdl3_gamepad.odin
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ GamepadType :: enum c.int {
NINTENDO_SWITCH_JOYCON_LEFT,
NINTENDO_SWITCH_JOYCON_RIGHT,
NINTENDO_SWITCH_JOYCON_PAIR,
GAMECUBE,
}

GamepadButton :: enum c.int {
Expand Down Expand Up @@ -121,12 +122,12 @@ foreign lib {
AddGamepadMappingsFromIO :: proc(src: ^IOStream, closeio: bool) -> c.int ---
AddGamepadMappingsFromFile :: proc(file: cstring) -> c.int ---
ReloadGamepadMappings :: proc() -> bool ---
GetGamepadMappings :: proc(count: ^c.int) -> [^][^]byte ---
GetGamepadMappings :: proc(count: Maybe(^c.int)) -> [^][^]byte ---
GetGamepadMappingForGUID :: proc(guid: GUID) -> [^]byte---
GetGamepadMapping :: proc(gamepad: ^Gamepad) -> [^]byte ---
SetGamepadMapping :: proc(instance_id: JoystickID, mapping: cstring) -> bool ---
SetGamepadMapping :: proc(instance_id: JoystickID, mapping: Maybe(cstring)) -> bool ---
HasGamepad :: proc() -> bool ---
GetGamepads :: proc(count: ^c.int) -> [^]JoystickID ---
GetGamepads :: proc(count: Maybe(^c.int)) -> [^]JoystickID ---
IsGamepad :: proc(instance_id: JoystickID) -> bool ---
GetGamepadNameForID :: proc(instance_id: JoystickID) -> cstring ---
GetGamepadPathForID :: proc(instance_id: JoystickID) -> cstring ---
Expand Down Expand Up @@ -156,7 +157,7 @@ foreign lib {
GetGamepadSerial :: proc(gamepad: ^Gamepad) -> cstring ---
GetGamepadSteamHandle :: proc(gamepad: ^Gamepad) -> Uint64 ---
GetGamepadConnectionState :: proc(gamepad: ^Gamepad) -> JoystickConnectionState ---
GetGamepadPowerInfo :: proc(gamepad: ^Gamepad, percent: ^c.int) -> PowerState ---
GetGamepadPowerInfo :: proc(gamepad: ^Gamepad, percent: Maybe(^c.int)) -> PowerState ---
GamepadConnected :: proc(gamepad: ^Gamepad) -> bool ---
GetGamepadJoystick :: proc(gamepad: ^Gamepad) -> ^Joystick ---
SetGamepadEventsEnabled :: proc(enabled: bool) ---
Expand All @@ -177,7 +178,7 @@ foreign lib {
GetGamepadButtonLabel :: proc(gamepad: ^Gamepad, button: GamepadButton) -> GamepadButtonLabel ---
GetNumGamepadTouchpads :: proc(gamepad: ^Gamepad) -> c.int ---
GetNumGamepadTouchpadFingers :: proc(gamepad: ^Gamepad, touchpad: c.int) -> c.int ---
GetGamepadTouchpadFinger :: proc(gamepad: ^Gamepad, touchpad: c.int, finger: c.int, down: ^bool, x, y: ^f32, pressure: ^f32) -> bool ---
GetGamepadTouchpadFinger :: proc(gamepad: ^Gamepad, touchpad: c.int, finger: c.int, down: Maybe(^bool), x, y: Maybe(^f32), pressure: Maybe(^f32)) -> bool ---
GamepadHasSensor :: proc(gamepad: ^Gamepad, type: SensorType) -> bool ---
SetGamepadSensorEnabled :: proc(gamepad: ^Gamepad, type: SensorType, enabled: bool) -> bool ---
GamepadSensorEnabled :: proc(gamepad: ^Gamepad, type: SensorType) -> bool ---
Expand Down
Loading
Loading