richardbuckle / EDRefCard

Creates a printable reference card from your Elite: Dangerous controller bindings
MIT License
91 stars 27 forks source link

Support for other games #40

Closed Slion closed 4 years ago

Slion commented 4 years ago

I'm considering adding support for MW5. Would you be happy to merge those changes? I guess we should just aim at supporting multiple games. Any advise or opinion on how to got about implementing it?

I've implemented support for Virpil's VPC WarBRD Constellation Delta a while back.

lwt-pressy commented 4 years ago

I'm thought about star citizen support as well. If we find a basic modular architecture we could team up.

Slion commented 4 years ago

That's the idea. Just wanted to ask first and see if anyone wanted to do the refactoring needed.

richardbuckle commented 4 years ago

You are welcome to fork this repo and base support for other games on it, but I don't want to (a) over-complicate the codebase or (b) get involved in support for games I don't play and whose settings I don't understand, so I would not be merging them here.

richardbuckle commented 4 years ago

I would add that I really don't think this codebase is a good foundation for a more general engine.

The code is badly structured (insofar as it is structured at all) and as for data structure there is none, just a mess of untyped nested dicts.

When I took oer it was a ball of mud with no structure and no tests.

Since taking it over I've added a test framework and teased out some structure. Nevertheless, it isn't a very amenable codebase at all.

You'd do better to take the idea (invert the command->key map to a key->command map and paint it on a background image) and do it better from scratch.

Slion commented 4 years ago

Thanks for those tips, that's just what I was looking for. I'm not even sure I'll ever invest the time to get this done anyway :)

Slion commented 2 years ago

FYI I've started a project that could be used to support multiple games. https://github.com/Slion/GameRefCard

Only supports MW5 right now and only a couple of joysticks but the architecture is there to support more games and devices. Also, the reference card is scalable graphics instead of being rendered into a bitmap using canvas.