Hallo iedereen,
Hier ligt een hoopje C++ code dat iets doet met Xinput, DirectInput en meer Windows-specifieke API calls. Het heeft geen andere dependencies: ik heb een simpele console-applicatie gemaakt die mijn klasses ook gebruiken. Mijn controller en wiel werken in de console-applicatie net zo goed als in de game waar de code origineel voor dient.
Om deze code moet een UI heen, om op gebruiksvriendelijke wijze apparaten en controls te kunnen mappen. Buiten C#/Windows Forms heb ik 0 ervaring met UIs, dus ik loop hier vast. Welke UI-frameworks wordt algemeen gebruikt voor C++ zaken en wordt aangeraden?
Mijn enige eis is dat ik mijn klasses niet hoef te herschrijven en dat de applicatie die eruit voortvloeit volledig stand-alone is (en uiteraard op Windows draait).
De volgende dingen heb ik geprobeerd:
Ik ben op zich best bereid wrappers te maken, maar het moet niet zo worden dat ik 8 klasses opnieuw design. Door nieuwe ideeën verandert er nog wel eens wat aan de code, dus zo'n wrapper zou erg snel opnieuw geschreven moeten worden als ik alles op dezelfde code wil laten werken. Wat zou ik hier het beste kunnen doen, met het oog op zo min mogelijk pijn bij veranderingen aan de code?
De broncode is overigens op GitHub, maar schenk er maar niet te veel aandacht aan - ik vind het een wonder dat het werkt
Hier ligt een hoopje C++ code dat iets doet met Xinput, DirectInput en meer Windows-specifieke API calls. Het heeft geen andere dependencies: ik heb een simpele console-applicatie gemaakt die mijn klasses ook gebruiken. Mijn controller en wiel werken in de console-applicatie net zo goed als in de game waar de code origineel voor dient.
Om deze code moet een UI heen, om op gebruiksvriendelijke wijze apparaten en controls te kunnen mappen. Buiten C#/Windows Forms heb ik 0 ervaring met UIs, dus ik loop hier vast. Welke UI-frameworks wordt algemeen gebruikt voor C++ zaken en wordt aangeraden?
Mijn enige eis is dat ik mijn klasses niet hoef te herschrijven en dat de applicatie die eruit voortvloeit volledig stand-alone is (en uiteraard op Windows draait).
De volgende dingen heb ik geprobeerd:
- Qt (5.7) - Het lukt me niet om een standalone Qt applicatie te maken, de guides voor Windows om een statische Qt te maken zijn vaag (of ik kan het niet vinden). Tevens crasht de applicatie al bij debuggen/runnen wanneer ik simpelweg de klasses toe voeg, nog niet eens een #include er van of dat ik een type gebruik...
- C++/CLI - Na wat aangeklungeld te hebben met mijn klasses compilerend te krijgen heb ik het opgegeven. Managed C++ code? Uit wat ik verder heb gelezen is dat ik wrappers om mijn functies moet schrijven, maar het precieze hoe en wat voor klasses zijn me toch wat raar.
- C++ DLL gebruiken in een C# Windows Forms applicatie - Hier moet ik ook wrapper code schrijven?
Ik ben op zich best bereid wrappers te maken, maar het moet niet zo worden dat ik 8 klasses opnieuw design. Door nieuwe ideeën verandert er nog wel eens wat aan de code, dus zo'n wrapper zou erg snel opnieuw geschreven moeten worden als ik alles op dezelfde code wil laten werken. Wat zou ik hier het beste kunnen doen, met het oog op zo min mogelijk pijn bij veranderingen aan de code?
De broncode is overigens op GitHub, maar schenk er maar niet te veel aandacht aan - ik vind het een wonder dat het werkt