And also clean up code and fix eyes movement to match original
This fix was proposed by eriktorbjorn in a previous PR https://github.com/scummvm/scummvm/pull/6383 (now closed in favor of this one).
This prevents an overflow for int32 in Actor::getAngle() for the calculation of the "index" variable value, which would happen (before) when diffY would be >= 0x800000 (ie. 2^23) and was multiplied by 256 (ie. 2^8). This, in the context of the game's main menu would happen when moving the cursor to the top part of the screen.
The code in getAngle() is also cleaned up to be more readable.
An additional fix for the values of angleTable03[] is included, since previously it was populated by wrong hex values. What seems to have happened here was that the decimal values were wrongly entered as hex values by putting the "0x" prefix on the literal.
This is a potential fix for bug ticket: https://bugs.scummvm.org/ticket/15658
- Made some public members of cursors private and add accessors
- Add const modifiers as needed
- Add missing casts
- Add some null-pointers checks
- etc.
- Handle delete key as backspace
- Handle keypad period as delete
- Correct invalid width test when typing save name
- Fix problems with Menu::clickDeleteGame()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@695 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
- Switch last two rects (the icons are "inversed")
- Remove now useles EyesAnimation enumeration
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@601 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
- Cleanup game initialization
- Update event loop to use the defined handler
- Menu is now the default event handler
- Implement eye direction update using existing Actor helper method
- Add stubs for all menu update & click event handlers
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@600 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c