I discovered, that difference in key mappings between FoxTail and usual
games is not due to FoxTail's engine differences from WME Lite, but were
made in WME Lite itself! WME 1.x is using "Virtual-Key Codes" mapping
and WME Lite and FoxTail are using "SDL_Keycode" mapping.
So, here is total refactoring of keycode handling.
Why nobody noticed this earlier? Because there are only 4 currently
known series that are based on WME Lite (J.U.L.I.A. series, Reversion
series, FoxTail and Securanote) and because most WME games, both
1.x-based and Lite-based are using Keyboard class only for handling
Enter and Escape keys, which are the same in both mappings (Backspace,
Space and Tab are also the same).
Tanya Grotter series has a cheat, that is triggered with
(Keyboard.IsKeyDown("A") && Keyboard.IsControl && Keyboard.IsAlt &&
Game.DebugMode) condition.
vKeyToKeyCode(97) would produce a warning message, fixed this.
_currentPrintable was set depending on _currentCharCode, which is 112
for both F1 and 'p' keys, fixed after detailed research on which keys
should be considered printable
Fix bug #6654 (white chamber - some keys don't work)
Wintermute games on ScummVM used ScummVM keycodes for keyboard mapping,
whereas the game scripts only accepted Windows VKeyCodes. Therefore an initial
set of mappings are added and the debug room is now loading properly, when
HOME is pressed (Rest of the keys need to be tested in-game)
This is a purely cosmetical change, which should help compilation on systems,
which use VK_* for internal constants. This should help compilation for WinCE.
This is mostly a lead-up to namespacing the Ad/Base folders, and then
possibly removing the prefixes from the files, it also has the added
benefit of getting rid of the odd case-typos that makes for issues
on platforms that don't ignore case.