avoid signed overflow in constant (which is both undefined and likely to cause problems on architectures where sizeof(long) != sizeof(int)) in rgb2yuv code.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@156 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
change default buffer latency to 67 ms
don't auto-repeat buttons bound to keyboard
use enums for somewhat more robust gambattesource button setup
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@154 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
is neither tied to the data it points to nor invalidated by changes.
enforce valid state on reject since the list of schemes may have
changed.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@152 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
Add alternate key support to input settings dialog.
Auto-focus to next likely input box after settings key in input dialog.
Add "Play" and "State" input settings dialog tabs.
Avoid using the most convenient keys as forced menu short-cuts, set them
as default keys in input settings dialog instead. This unfortunately
makes the more useful shortcuts less visible, but it allows remapping
the most convenient keyboard keys.
Avoid duplicate joystick axis "press" events by keeping a map of axis
states.
Make sure to discard irrelevant/old joystick events.
Don't give MediaSource button events when stopped.
Allow joystick-based button events while paused by using a very
low-frequency poll timer.
Make some of the joystick event wrapping stuff less messy.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@149 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
clean up GUI menu creation code
move GUI recent files to submenu
move state 0 OSD pos to rightmost to match kbd layout
state 1 default on ROM load
support external save state files
add number key slot selection shortcuts
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@145 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
osd state n saved/loaded text
empty state osd thumbs marked with "Empty" text
adjust thumbnail interpolation weighing slightly
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@143 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
save state osd preview snapshots
fix a few potential security holes when loading invalid state
get rid of some undefined behaviour in statesaver
always draw in rgb32, color convert afterwards, too bad for maemo/16-bit
depth users
get rid of silly c string stuff
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@142 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
page flipping, triple buffering, device selection,
multi-head etc. d3d9.dll loaded at runtime
- more strict and thorough exclusive mode handling to support d3d fullscreen
- work around file open dialog not returning focus properly
- gditoggler: use current registry settings for return modes
- directsoundengine: set DSBCAPS_GETCURRENTPOSITION2 flag
- revert bad macx return from fullscreen on menu-toggle
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@140 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
directdrawblitter: only list devices if there are more than 2 devices (including primary)
directdrawblitter: use private static member rather than global friend enumeration callback
capitalization changes
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@139 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
videodialog: save actual hz values for real this time
quartztoggler: avoid potentially reverting to the wrong mode on double setFullMode(false) in multi-head configs
make sure window is within screen after mode change, so Qt doesn't reset it to the primary screen
revert to previous win32 fullscreen geometry correction behaviour so that the geometry gets properly reset after fullscreen
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@137 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
- macx opengl drawbuffer change issues worked around
- add openal engine, default on macx
- add macx quartz video mode toggler
- multi-head infrastructure
- support multiple monitors in macx quartz toggler
- more work-arounds for Qt failing to set correct geometry on video mode changes.
- more explicit fast-forward button handling, to avoid missed key press/release events on macx
- opengl doublebuffer preblitting, try to make actual screen updates as close to right after sync wait is over as possible
- add xf86vidmode toggler (xrandrtoggler is default)
- x11blitter: check for other supported visuals if the default is unsupported.
- temporarily return to original video mode and minimize on full screen alt-tab (except on macx or if there are multiple screens), switch back on focus-in
- hide mouse cursor after move timeout, or key/joystick pressed (more sane on macx)
- exit fullscreen rather than toggle menubar on macx (note that the menubar will automatically pop-up on macx full screen if the mouse is moved to the top of the primary screen)
- add (independent) pause counter for non-client pauses.
- reset X11 screen saver on joystick activity
- change "turbo"-mode to temporarily set frametime as a way of avoiding vsync issues (for a laugh, check out the video dialog while in fast-forward mode and see "Sync to vertical blank in 65535 and 131070 Hz modes").
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@133 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
clean up video timing code,
use save state for initialization and reset,
do color conversion outside filters, fast rgb32ToUyvy,
add overlooked oamdma event,
adjust subcycle irq timing (shouldn't affect anything),
various refactoring
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@126 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
Lots of cleanups, flexibility added, setting of various properties, frame time,
aspect ratio, button events, video sources, sample rates, pauseOnDialogExec, custom menus etc.
Document some interfaces.
Support for setting approximate sound buffer latency.
Use rational math for 100% exact timers (even though the actual system timers are unlikely to be accurate).
Add fast-forward to input settings.
Scalebuffer dstpitch aware.
timeGetTime() fallback for win32
Store full screen mode values/text rather than less reliable indexes.
Repaint on xvblitter port changes to avoid color key not getting repainted.
stuff I forgot
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@120 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24