Release todo

FeatureIn Qt5?AlternativesNotes
Sound StreamingQAudioBuffervariable sample rates
Mouse inputQMouseEventneed setMouseTracking
Keyboard inputQKeyEvent
Video outputQPixmap, QImageQImage in a QPixmap in a QLabel?
GuiYes ...
Timer funcsTimers, QTimer
Config FileQSettings
stricmpreplaced with strcasecmp
Directory enumerationreplaced with opendir/readdir/closedir
get_extensionreplaced with rpcemu_file_get_extention
append_filenamereplaced with snprintf
QT things
 - Can design UIs in .ui files and embed icons etc in .qrc files
   in the binary
 - provides abstraction
   to win QueryPerformanceCounter, to provide an alternate timer system



Things we're skipping

windows manifest file
 - See WINRT_MANIGEST in .pro file

new instructions for packaging releases

 - Convert qtimage in vidc to generic mem buffer
  - convert vidc20.cpp back to .c file

 - When popping up multiple error boxes in a row you have to click OK on them
   in the order they were started ... wtf

Alt-gr key as middle mouse button
Scroll wheel support for a7k/ps2/select
mousehack - restrict mouse position position_mouse() equiv in mouse_get_osxy()

build script
 - dynarec and interpretter in one step
 - or dynarec/interpretter on command line
 - openbsd (need to find more modern compiler)
 - use QT_VERSION in pro to check we have qt 5.2

 - still a few clicks every now and then, not quite as good as allegro version
 - But on faster PC, sound is perfect, stability of 500H timer?

full screen
 - poss bug, using above bug when you drag window to top of screen it causes 
   all screen to be redrawn when you reach the top

redo graphics for manual pages


 - optimise vidc plotting to not draw all the screen on each change
 - double size

fatal()/error() messages should be in GUI

build script
 - freebsd
 - Release mode
 - import/detect previous ./configure differences? (config.h ?)

Windows Keyboard mappings

move IOMD and VLBupdate timer to emulator thread

 - a7000 support
 - fix for 41666 at startup
 - find out why windows sound is rubbish
 - frequency changing
 - Find fix for mate18 xfce/xbuntu 17.04
 - modify to play all the time (just mute for sound off?)
 - check what happens when you don't get a sound handle

shutdown - get rid of qpixmap errors
 - shut down emu thread properly

 - function in emu thread to check if specified config requires reboot
 - function in emu thread to change to specified config and reboot if needed

 - Can maximise main window causing issues
 - Add in program icon to windows
 - Change About: window to be roughly like current
 - Add open disc dialog for ADFs
  - pass message from gui to emu thread to change disc
  - Add open file dialog for ISO
  - Add in the 'this will reset RPCEmu' bits when changing between 'disabled' and an enabled  option
  - wire up backend for empty and disabled
  - Add in detected CDROM drives on windows
  - Add in host cdrom drive for linux
 - version number in title bar
 - mips display
 - network window
  - dynamic changes for windows and linux variations
 - Add in program icon to linux minimise/corner icon
 - Add in program icon on About Window
 - Work out how to make configure, network, about dialog not resiaab;e
 - about window has wrong modalness

 - Config window
  - BUG: turning sound on/off in the gui can trigger assert in sound code that
    sound must be enabled, prob thread race condition.
    "rpcemu-interpreter: ../sound.c:65: sound_restart: Assertion `config.soundenabled' failed."
  - BUG if you click rather than drag the slider the Hz doesn't update

 - Risc os 4 no boot, timing related? Twas video

move GUI window opening earlier and slight startrpcemu() so that more
fatal/error popups occur in gui, e.g. network errors.

 - floppy disc images not working (ssh over X), was timing related, fixed
   by optimised display code
 - linux subsequent opening of conf dialog is not centered in window
   (not present in windows). Fixed when making the dialog boxes not resizable
 - When losing focus on window, keyboard keys can get stuck down
 - hostfs windows daylight saving time fix
 - config loading, missing variables are "" instaead of NULL
 - NOT REPRODUCED - ROM371 with hd4.hdf.uniboot, dynarec, sound on, RPCSA lockup playing initial

break key support
mouse - support pressing windows menu key to do 'menu'

mouse - capture
 - inside mouse move, got abs coords
  - calculate relative x and y from previous xy and store in dx dy 
  - call mouse_poll() or equive
  - use relative x,y to replace the getmousemickeys() func
 - structify mouse_x mouse_y, mouse_b
  - add dx and dy for relative x and y, calculated from diff from center of

- discover why romark mem benchmark is significantly lower
 - position independant code in 32 bit modes

mouse don't hide cursor in mouse capture mode and not captured

full screen
 - render hints for smooth scaling
 - Handle redrawing modes when new mode takes less vertical space than old (draw black border)
 - mouse support
 - Hide cursor if entrying from uncaptured mouse capture mode
 - bug, dragging window slowly up the screen occasionally leaves 1 host px black
   line behind, (prob rounding issue on calculating redraw area).

Remove previous automake/conf build files
Remove previous windows frontend files

windows distro build script

reduce CPU usage mode

performance testing
 - needs to be closish to current performance

revert cmos.ram
Modify title bar contents, remove timer information

new build instructions on website