Age | Commit message (Collapse) | Author |
|
Convert macros and vars to enums, rename keyboard events in
preparation for adding key up events, clean up unnecessary nested
conditionals, add TODOs for potential future work.
|
|
Calling through EventManager::getSciEvent to flush events is
pretty inefficient and created stalls that lead to dropped
frames during the chapter 7 chase in Phantasmagoria 1.
If necessary, performance could be improved further by extending
Common::EventManager to expose SDL_FlushEvents, but this seems to
finish in 0-1ms so should be OK for now.
Refs Trac#9974, Trac#9975.
|
|
This fixes delayed mouse cursor updates during the chase scene in
Phant1.
Refs Trac#9975.
|
|
In b4c0be8b42d63cbf3c808be1a94839483f674ce9 keyboard events were
adjusted to send control characters to game scripts, which matches
how keyboard input works in SSCI. Unfortunately this broke games
using kMenuSelect because that kernel code was not expecting to
receive control characters.
Here is an amended list of known types of keyboard shortcuts, for
future reference:
* All games with text inputs (Ctrl+C clears text boxes)
* Most games using MenuBar, like QFG1EGA (Ctrl+P pauses the
game, Tab or Ctrl+I show inventory)
* QFG1VGA (Ctrl+S shows stats)
* Torin (Ctrl+N, Ctrl+O, Ctrl+S, etc. activate menu commands)
* LSL1VGA & LSL3 (Ctrl+Alt+X to bypass age check)
* Most in-game debuggers (Alt+T for teleport)
The shortcut handling code is still not 100% accurate since there
are some edge cases that are not implemented (e.g. in DOS/SSCI,
Shift+Ctrl+<key> usually sends the same key information as
Ctrl+<key>, but not if <key> is Tab), but it should now be working
in a consistent and rational manner for end-users.
|
|
Used only by chapter 7 of Phant1.
|
|
|
|
|
|
|
|
|
|
|
|
Was the ScummVM-system-Keycode, sometimes modified.
Changed Menu/Portrait/Controls32-code to use .character instead.
Cleaned up a bit of code in getScummVMEvent()
|
|
Also added comment about .data field. Should be renamed.
|
|
|
|
|
|
Instead of querying the event manager for the current mouse cursor coordinates
kGetEvent now uses the saved mouse positions, which will assure every event
will be processed with the correct coordinates instead of the current ones.
Various other functions using SciEvent directly were adapted too.
This fixes cursor click positions for the WinCE backend.
Thanks to wjp and waltervn for helping me with this.
|
|
|
|
The heuristic in question was used to detect the pseudo mouse control
functionality, however the change in controls seems to have occurred with the
transition to cursor views. Fixes keypad control in Conquest of the Longbow.
Moreover, the code also checked for key scan code 76 when checking for the middle
keypad button, which seems to be a mistake, as that case never occurred.
|
|
credits (bug #3036154)
svn-id: r51459
|
|
renamed SCI_EVENT_JOYSTICK to SCI_EVENT_DIRECTION
svn-id: r50045
|
|
svn-id: r49963
|
|
svn-id: r49961
|
|
svn-id: r49960
|
|
* Move sleep() from EventManager to SciEngine
* Rename EventManager methods: get -> getSciEvent, and
getFromScummVM -> getScummVMEvent
* Make scancode_rows static const
* Turn altify & numlockify from EventManager methods into static
functions (and comment out the currently unused numlockify)
svn-id: r49959
|
|
structure, and removed it from the engine state
svn-id: r49534
|
|
before) in SCI1. I used the outdated wiki before and that one lists qfg2 and xmas90ega being SCI01. They are actually SCI1
svn-id: r48789
|
|
xmas90ega only. We enable port updates only for non-multilingual SCI01 games now - fixes percentage bar for qfg1 japanese as well
svn-id: r48787
|
|
games that don't support them (which is all non-multilingual games)
svn-id: r48693
|
|
svn-id: r48119
|
|
svn-id: r47541
|
|
svn-id: r47186
|
|
svn-id: r46256
|
|
svn-id: r46255
|
|
svn-id: r46252
|