Files
riojoy/legacy/vJoyInterface.lib.org
T
CydandClaude Opus 4.8 39a3dab1fc Phase 0: scaffold modern RIOJoy solution + plan
Modernization of the legacy vJoy-based RIO cockpit interface for Win10/11,
removing the vJoy dependency in favor of a custom VHF/UMDF HID driver,
rewritten in C#/.NET 8 as a background tray app with per-game profiles.

- Reorganize: legacy C++ -> legacy/, cockpit art -> docs/reference/
- RioJoy.sln: src/RioJoy.Core (lib) + src/RioJoy.Tray (tray app), net8.0-windows x64
- driver/ placeholder for the RioGamepad WDK driver
- docs/PLAN.md (7-phase plan; profiles + serial-yield model)
- docs/PROTOCOL.md (RIO wire format + iRIO input-map reference)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 12:43:01 -05:00

12 KiB

!<arch> / 1482597192 0 2364 ` iP&&--&&%%&&(V(V.b.b%% #>#>$,$,##!!"Z"Z""$$--!v!v,,((,,**)>)>))****+`+`,8,8++  zzZZ'p'p'' ::jj88RR--__IMPORT_DESCRIPTOR_vJoyInterface__NULL_IMPORT_DESCRIPTORvJoyInterface_NULL_THUNK_DATA_GetvJoyVersion__imp__GetvJoyVersion__imp__vJoyEnabled_vJoyEnabled_GetvJoyProductString__imp__GetvJoyProductString_GetvJoyManufacturerString__imp__GetvJoyManufacturerString_GetvJoySerialNumberString__imp__GetvJoySerialNumberString_DriverMatch__imp__DriverMatch_RegisterRemovalCB__imp__RegisterRemovalCB__imp__vJoyFfbCap_vJoyFfbCap_GetvJoyMaxDevices__imp__GetvJoyMaxDevices_GetNumberExistingVJD__imp__GetNumberExistingVJD_GetVJDButtonNumber__imp__GetVJDButtonNumber_GetVJDDiscPovNumber__imp__GetVJDDiscPovNumber_GetVJDContPovNumber__imp__GetVJDContPovNumber_GetVJDAxisExist__imp__GetVJDAxisExist_GetVJDAxisMax__imp__GetVJDAxisMax_GetVJDAxisMin__imp__GetVJDAxisMin_GetVJDStatus__imp__GetVJDStatus__imp__isVJDExists_isVJDExists_GetOwnerPid__imp__GetOwnerPid_AcquireVJD__imp__AcquireVJD_RelinquishVJD__imp__RelinquishVJD_UpdateVJD__imp__UpdateVJD_ResetVJD__imp__ResetVJD_ResetAll__imp__ResetAll_ResetButtons__imp__ResetButtons_ResetPovs__imp__ResetPovs_SetAxis__imp__SetAxis_SetBtn__imp__SetBtn_SetDiscPov__imp__SetDiscPov_SetContPov__imp__SetContPov_FfbGetEffect__imp__FfbGetEffect_FfbRegisterGenCB__imp__FfbRegisterGenCB_FfbStart__imp__FfbStart_FfbStop__imp__FfbStop_IsDeviceFfb__imp__IsDeviceFfb_IsDeviceFfbEffect__imp__IsDeviceFfbEffect_Ffb_h_DeviceID__imp__Ffb_h_DeviceID_Ffb_h_Type__imp__Ffb_h_Type_Ffb_h_Packet__imp__Ffb_h_Packet_Ffb_h_EBI__imp__Ffb_h_EBI_Ffb_h_Eff_Report__imp__Ffb_h_Eff_Report_Ffb_h_Eff_Ramp__imp__Ffb_h_Eff_Ramp_Ffb_h_EffOp__imp__Ffb_h_EffOp_Ffb_h_DevCtrl__imp__Ffb_h_DevCtrl_Ffb_h_Eff_Period__imp__Ffb_h_Eff_Period_Ffb_h_Eff_Cond__imp__Ffb_h_Eff_Cond_Ffb_h_DevGain__imp__Ffb_h_DevGain_Ffb_h_Eff_Envlp__imp__Ffb_h_Eff_Envlp_Ffb_h_EffNew__imp__Ffb_h_EffNew_Ffb_h_Eff_Constant__imp__Ffb_h_Eff_Constant__imp__isVJDOpen_isVJDOpen/ 1482597192 0 2374 ` 6P&-&%&V(b.% >#,$#!Z""$-v!,(,*>))**`+8,+ zZp'' :j8R-i "#$%/2(+4.1530-,*)  &' !  "#$%/2(+4.1530-,*)  &' ! 6 6 _AcquireVJD_DriverMatch_FfbGetEffect_FfbRegisterGenCB_FfbStart_FfbStop_Ffb_h_DevCtrl_Ffb_h_DevGain_Ffb_h_DeviceID_Ffb_h_EBI_Ffb_h_EffNew_Ffb_h_EffOp_Ffb_h_Eff_Cond_Ffb_h_Eff_Constant_Ffb_h_Eff_Envlp_Ffb_h_Eff_Period_Ffb_h_Eff_Ramp_Ffb_h_Eff_Report_Ffb_h_Packet_Ffb_h_Type_GetNumberExistingVJD_GetOwnerPid_GetVJDAxisExist_GetVJDAxisMax_GetVJDAxisMin_GetVJDButtonNumber_GetVJDContPovNumber_GetVJDDiscPovNumber_GetVJDStatus_GetvJoyManufacturerString_GetvJoyMaxDevices_GetvJoyProductString_GetvJoySerialNumberString_GetvJoyVersion_IsDeviceFfb_IsDeviceFfbEffect_RegisterRemovalCB_RelinquishVJD_ResetAll_ResetButtons_ResetPovs_ResetVJD_SetAxis_SetBtn_SetContPov_SetDiscPov_UpdateVJD__IMPORT_DESCRIPTOR_vJoyInterface__NULL_IMPORT_DESCRIPTOR__imp__AcquireVJD__imp__DriverMatch__imp__FfbGetEffect__imp__FfbRegisterGenCB__imp__FfbStart__imp__FfbStop__imp__Ffb_h_DevCtrl__imp__Ffb_h_DevGain__imp__Ffb_h_DeviceID__imp__Ffb_h_EBI__imp__Ffb_h_EffNew__imp__Ffb_h_EffOp__imp__Ffb_h_Eff_Cond__imp__Ffb_h_Eff_Constant__imp__Ffb_h_Eff_Envlp__imp__Ffb_h_Eff_Period__imp__Ffb_h_Eff_Ramp__imp__Ffb_h_Eff_Report__imp__Ffb_h_Packet__imp__Ffb_h_Type__imp__GetNumberExistingVJD__imp__GetOwnerPid__imp__GetVJDAxisExist__imp__GetVJDAxisMax__imp__GetVJDAxisMin__imp__GetVJDButtonNumber__imp__GetVJDContPovNumber__imp__GetVJDDiscPovNumber__imp__GetVJDStatus__imp__GetvJoyManufacturerString__imp__GetvJoyMaxDevices__imp__GetvJoyProductString__imp__GetvJoySerialNumberString__imp__GetvJoyVersion__imp__IsDeviceFfb__imp__IsDeviceFfbEffect__imp__RegisterRemovalCB__imp__RelinquishVJD__imp__ResetAll__imp__ResetButtons__imp__ResetPovs__imp__ResetVJD__imp__SetAxis__imp__SetBtn__imp__SetContPov__imp__SetDiscPov__imp__UpdateVJD__imp__isVJDExists__imp__isVJDOpen__imp__vJoyEnabled__imp__vJoyFfbCap_isVJDExists_isVJDOpen_vJoyEnabled_vJoyFfbCapvJoyInterface_NULL_THUNK_DATA// 1482597192 0 18 ` vJoyInterface.dll/0 1482597192 0 517 ` LH^X.debug$SG@B.idata$2@0.idata$6@  vJoyInterface.dll' }yMicrosoft (R) LINK vJoyInterface.dll@comp.id}y.idata$2@h.idata$6.idata$4@h.idata$5@h&?^__IMPORT_DESCRIPTOR_vJoyInterface__NULL_IMPORT_DESCRIPTORvJoyInterface_NULL_THUNK_DATA /0 1482597192 0 256 ` LH^X.debug$SGd@B.idata$3@0 vJoyInterface.dll' }yMicrosoft (R) LINK@comp.id}y__NULL_IMPORT_DESCRIPTOR/0 1482597192 0 290 ` LH^X.debug$SG@B.idata$5@0.idata$4@0 vJoyInterface.dll' }yMicrosoft (R) LINK@comp.id}y#vJoyInterface_NULL_THUNK_DATA/0 1482597192 0 50 ` LH^X_AcquireVJDvJoyInterface.dll/0 1482597192 0 51 ` LH^X_DriverMatchvJoyInterface.dll /0 1482597192 0 52 ` LH^X _FfbGetEffectvJoyInterface.dll/0 1482597192 0 56 ` LH^X$_FfbRegisterGenCBvJoyInterface.dll/0 1482597192 0 48 ` LH^X_FfbStartvJoyInterface.dll/0 1482597192 0 47 ` LH^X_FfbStopvJoyInterface.dll /0 1482597192 0 53 ` LH^X!_Ffb_h_DevCtrlvJoyInterface.dll /0 1482597192 0 53 ` LH^X!_Ffb_h_DevGainvJoyInterface.dll /0 1482597192 0 54 ` LH^X"_Ffb_h_DeviceIDvJoyInterface.dll/0 1482597192 0 49 ` LH^X _Ffb_h_EBIvJoyInterface.dll /0 1482597192 0 52 ` LH^X _Ffb_h_EffNewvJoyInterface.dll/0 1482597192 0 51 ` LH^X _Ffb_h_EffOpvJoyInterface.dll /0 1482597192 0 54 ` LH^X" _Ffb_h_Eff_CondvJoyInterface.dll/0 1482597192 0 58 ` LH^X& _Ffb_h_Eff_ConstantvJoyInterface.dll/0 1482597192 0 55 ` LH^X#_Ffb_h_Eff_EnvlpvJoyInterface.dll /0 1482597192 0 56 ` LH^X$_Ffb_h_Eff_PeriodvJoyInterface.dll/0 1482597192 0 54 ` LH^X"_Ffb_h_Eff_RampvJoyInterface.dll/0 1482597192 0 56 ` LH^X$_Ffb_h_Eff_ReportvJoyInterface.dll/0 1482597192 0 52 ` LH^X _Ffb_h_PacketvJoyInterface.dll/0 1482597192 0 50 ` LH^X_Ffb_h_TypevJoyInterface.dll/0 1482597192 0 60 ` LH^X(_GetNumberExistingVJDvJoyInterface.dll/0 1482597192 0 51 ` LH^X_GetOwnerPidvJoyInterface.dll /0 1482597192 0 55 ` LH^X#_GetVJDAxisExistvJoyInterface.dll /0 1482597192 0 53 ` LH^X!_GetVJDAxisMaxvJoyInterface.dll /0 1482597192 0 53 ` LH^X!_GetVJDAxisMinvJoyInterface.dll /0 1482597192 0 58 ` LH^X&_GetVJDButtonNumbervJoyInterface.dll/0 1482597192 0 59 ` LH^X'_GetVJDContPovNumbervJoyInterface.dll /0 1482597192 0 59 ` LH^X'_GetVJDDiscPovNumbervJoyInterface.dll /0 1482597192 0 52 ` LH^X _GetVJDStatusvJoyInterface.dll/0 1482597192 0 65 ` LH^X-_GetvJoyManufacturerStringvJoyInterface.dll /0 1482597192 0 57 ` LH^X%_GetvJoyMaxDevicesvJoyInterface.dll /0 1482597192 0 60 ` LH^X(_GetvJoyProductStringvJoyInterface.dll/0 1482597192 0 65 ` LH^X- _GetvJoySerialNumberStringvJoyInterface.dll /0 1482597192 0 54 ` LH^X"!_GetvJoyVersionvJoyInterface.dll/0 1482597192 0 51 ` LH^X"_IsDeviceFfbvJoyInterface.dll /0 1482597192 0 57 ` LH^X%#_IsDeviceFfbEffectvJoyInterface.dll /0 1482597192 0 57 ` LH^X%$_RegisterRemovalCBvJoyInterface.dll /0 1482597192 0 53 ` LH^X!%_RelinquishVJDvJoyInterface.dll /0 1482597192 0 48 ` LH^X&_ResetAllvJoyInterface.dll/0 1482597192 0 52 ` LH^X '_ResetButtonsvJoyInterface.dll/0 1482597192 0 49 ` LH^X(_ResetPovsvJoyInterface.dll /0 1482597192 0 48 ` LH^X)_ResetVJDvJoyInterface.dll/0 1482597192 0 47 ` LH^X*_SetAxisvJoyInterface.dll /0 1482597192 0 46 ` LH^X+_SetBtnvJoyInterface.dll/0 1482597192 0 50 ` LH^X,_SetContPovvJoyInterface.dll/0 1482597192 0 50 ` LH^X-_SetDiscPovvJoyInterface.dll/0 1482597192 0 49 ` LH^X._UpdateVJDvJoyInterface.dll /0 1482597192 0 51 ` LH^X/_isVJDExistsvJoyInterface.dll /0 1482597192 0 49 ` LH^X0_isVJDOpenvJoyInterface.dll /0 1482597192 0 51 ` LH^X1_vJoyEnabledvJoyInterface.dll /0 1482597192 0 50 ` LH^X2_vJoyFfbCapvJoyInterface.dll