Looks like a simple scoping issue. The error itself is:
/Users/conrad/Developer/Proton/wine/dlls/dinput/joystick_osx.c:1010:49: error: use of undeclared identifier 'device' lpddi->guidProduct.Data1 = make_vid_pid(device);
Here's the block in question, link to upstream source:
if (dwFlags & DIEDFL_FORCEFEEDBACK) { IOHIDDeviceRef device = get_device_ref(id); if(!device) return S_FALSE; if(get_ff(device, NULL) != S_OK) return S_FALSE; } /* Return joystick */ lpddi->guidInstance = DInput_Wine_OsX_Joystick_GUID; lpddi->guidInstance.Data3 = id; lpddi->guidProduct = DInput_Wine_OsX_Joystick_GUID; lpddi->guidProduct.Data1 = make_vid_pid(device);
Offending commit: https://github.com/ValveSoftware/wine/blame/1c79a38ca494d9e32fee9fc7543b7779b184c878/dlls/dinput/joystick_osx.c#L1010
See also
https://github.com/ValveSoftware/wine/issues/4
Can confirm scoping issue - moving IOHIDDeviceRef device = get_device_ref(id); above the if block works fine.
IOHIDDeviceRef device = get_device_ref(id);
Thanks for reporting. This is fixed in wine https://github.com/ValveSoftware/wine/commit/16a625e6638308f500fb55c3ca7f87cb968c796e .
Looks like a simple scoping issue. The error itself is:
Here's the block in question, link to upstream source:
Offending commit: https://github.com/ValveSoftware/wine/blame/1c79a38ca494d9e32fee9fc7543b7779b184c878/dlls/dinput/joystick_osx.c#L1010