Delfinovin is an application written in C# to allow for the use of Gamecube controllers on the Windows platform. It creates virtual Xbox controllers to be used in most, if not all modern games and is written with compatibility in mind, supporting most if not all standard Gamecube adapters. Delfinovin is extremely low latency and provides a number of settings to adjust and modify the user experience. Started in January 2021, Delfinovin began as a command line project and has since evolved into a .NET WPF GUI-based application.
Delfinovin is an application that utilizes the .NET Core framework. In order to use the application you will need to install the .NET 7 Desktop Runtime. Delfinovin also uses ViGEmBus and the WinUSB driver to create virtual Xbox controllers and interact with the Gamecube adapters respectively.
Please see the setup guide on Delfinovin's wiki on how to setup up the application, along with utilizing Delfinovin's various features.
Features that Delfinovin has includes:
- Button Remapping
- Hotkey Support
- Input Display
- Controller profiles
- Input Recording / Playback
- ... along with a number of settings to improve the user experience.
Please check the wiki for a more comprehensive list of features and how to use them!
Delfinovin was mainly programmed by myself (Struggleton!), but could not have come to fruition without help from these people:
- Benjamin "Nefarius" Höglinger-Stelzer for their work on Utilties.DeviceManagement, Utilties.GithubUpdater, and most notably ViGEmBus and ViGEm.NET, and giving me a lot of advice on controllers
- Narr the Reg from the Yuzu team for their continued support advice on Gamecube controller input and adapters
- Adrian "Federerer" Gaś for their work on the Notification.Wpf library
- Ryan "ryanvs" Slooten for their work on DropDownButtonBehavior
- Matt "ms4v" Cunningham for their original foray into Gamecube adapter work with GCNUSBFeeder and vJoy
- Gabriel "gemarcano" Marcano for providing essential documents on how the Gamecube adapter sends data
- Ben "BarkingFrog" K. for their assistance writing the original calibration function
- Pete "pbatard" Batard for their work on Zadig/libwdi which makes setting up WinUSB much more convenient
- The LibUsbDotNet Team for their work on the LibUsbDotNet library
- The WinUSB Team at Microsoft for their work providing the WinUSB drivers
- The Dolphin Team for their work on Dolphin and research on Gamecube adapters
- The Ryujinx Team for their work on Ryujinx and inspiration for Delfinovin's input system
- The MaterialDesignInXAML Team for their work on the Material Design in XAML toolkit, providing a great framework for UI design
- The Octokit Team for their work creating Octokit, a great library for interacting with Github
- OpenClipArt for providing the original vector for the design behind the GamecubeDialog
- Zacksly for their work creating the button icons used in the application
- Finally, Fivee, Noir & NurseJoy for their continued support behind the project.
If you feel that you've contributed to the project and would like to be added to the list of credits, please contact me @Struggleton on Twitter.
If you'd like to contribute to the Delfinovin project or use it at large events, please navigate to the Delfinovin wiki page for more information on getting in contact!