fabiangreffrath / taradino

SDL2 port of Rise of the Triad
GNU General Public License v2.0
31 stars 8 forks source link

keyboard overhaul #1

Open fabiangreffrath opened 1 year ago

fabiangreffrath commented 1 year ago

Keyboard handling needs a serious overhaul.

We need to:

fabiangreffrath commented 1 year ago

We need to read out scancodes for controls

This could be achieved rather easy in https://github.com/fabiangreffrath/rott/commit/1808cf0dca03e61b43d9a23e5a7098bee308cdd2

and symbols for entered text (e.g. savegames, cheat codes and highscore table).

However, I doubt that this can be achieved with reasonable effort. The main reason is that SDL keyboard events are not read out on a regular base (e.g. once per gametic, as in Doom), but are pumped on demand by several concurring functions and are then enqueued after applying some filtering rules.

The keyboard code is a mess, which should be incentive enough to overhaul it. However, I have spent several hour working on a cleaner approach but without success. It works as expected now, so I'll probably leave it as is.