Commit Graph

265 Commits

Author SHA1 Message Date
mjbudd77 c35b18751d Added a triple buffer for video frame data to ensure clean transfer of that data between emulation and Qt GUI threads. 2021-12-13 21:16:53 -05:00
mjbudd77 74a48e92d6 Added a vertical sync test pattern to Qt GUI. 2021-12-13 20:48:30 -05:00
mjbudd77 dd9b911b60 Added video vertical sync refresh option to Qt GUI. 2021-12-12 06:35:42 -05:00
mjbudd77 cd1d8f643e Added users local desktop folder to file dialog quick access navigation. 2021-12-08 21:53:04 -05:00
mjbudd77 f351150ad9 Added hot key shortcuts for Qt TAS editor window. 2021-12-06 20:48:36 -05:00
mjbudd77 9360f7e1a8 Tas editor dialog menu action sensitivity fix for Qt GUI. 2021-11-28 20:29:53 -05:00
mjbudd77 28f4e87121 Modified Qt GUI Lua loadRom functionality to signal the main thread to perform the ROM load. Doing so in the emulation thread can cause crashes. 2021-11-16 00:10:34 -05:00
mjbudd77 c0bf822cfb TAS editor project load/save mechanisms inwork for Qt GUI. 2021-10-28 21:59:14 -04:00
mjbudd77 a61a92f1e0 Merge branch 'master' into TasEditor 2021-10-22 20:39:02 -04:00
mjbudd77 607ca6fe29 Modified Qt GUI to make Qt Help module an optional dependency. 2021-10-21 19:24:10 -04:00
mjbudd77 f523b49f9b Qt Tas editor module setup in work. 2021-10-18 20:59:14 -04:00
mjbudd77 b7ad6cab38 Initial add of empty Tas Editor window for Qt GUI. 2021-10-16 04:43:16 -04:00
mjbudd77 5c4d3be30b Movie action text in main movie menu modified to match AVI/WAV convention for Qt GUI. 2021-10-08 21:56:56 -04:00
mjbudd77 e0f9754e80 For Qt GUI, implemented a new method of timing frame advance hold delay so that the delay time is more constant with changing emulation speed. 2021-10-05 06:49:16 -04:00
mjbudd77 6856921c38 AVI RIFF viewer tool in work. 2021-10-03 04:58:15 -04:00
mjbudd77 41e04ece0b Added first cut at AVI RIFF Viewer tool window. 2021-10-02 11:33:35 -04:00
mjbudd77 9853ff37b0 Ensure that show lag count, show frame count, and movie bind state options get saved when toggled with a hot key. 2021-10-01 20:19:14 -04:00
mjbudd77 df56e32027 Added suggested file names to AVI/WAV Record As file dialogs. 2021-10-01 16:39:13 -04:00
mjbudd77 ec076a772a Added Movie word back into associated main menu movie items. 2021-09-30 23:07:37 -04:00
Daniel Wilkins df154af823 Fix on OpenBSD 2021-09-30 17:34:04 -04:00
mjbudd77 8fe52cb400 Added option to Qt GUI to allow for setting of the color of the video background side panel color (side panels on either side of video image in fullscreen or large windowed modes). 2021-09-28 21:52:43 -04:00
mjbudd77 cc316f688b Added logic to save/recall last output directory for AVI/WAV files. 2021-09-25 20:57:36 -04:00
mjbudd77 dcd248c152 Removed AVI/WAV submenus from Qt GUI. AVI/WAV record/stop menu items are now all part of movie menu. 2021-09-25 20:17:24 -04:00
mjbudd77 3fc74aedbe Moved all avi config parameters/options to motion options window for Qt GUI. 2021-09-24 16:31:19 -04:00
mjbudd77 591b21f4af Added a log file to detail avi recording issues. Memory allocation cleanup fixes for libav. 2021-09-20 19:39:09 -04:00
mjbudd77 bf3a02fe9b Implemented sound use global focus in a different way so that it will mute physical audio without also muting avi/wav recording audio. 2021-08-31 17:18:46 -04:00
mjbudd77 934437dddc Added AVI debug as an optional compile time setting to Qt GUI. 2021-08-31 20:47:48 -04:00
mjbudd77 f879757d27 Commented out Qt AVI debug function in main menu until the window is finished. 2021-08-29 22:05:37 -04:00
mjbudd77 95db43d3f9 Added an AVI decode debug function to Qt GUI. 2021-08-25 22:04:39 -04:00
mjbudd77 8b0f4a0fc0 Added unix docs build to pipeline. Added navigation buttons to help window. 2021-08-17 21:23:39 -04:00
mjbudd77 2e53904467 Added code to allow for an external chm viewer to be used for unix OS. 2021-08-16 06:29:57 -04:00
mjbudd77 90d8dbd411 Added offline help pages for windows Qt GUI. 2021-08-15 20:42:51 -04:00
mjbudd77 a571677cdb Changed Qt GUI AVI recording video pickoff point so that HUD/messages can be optional in the recorded image. 2021-08-11 21:11:00 -04:00
mjbudd77 8e798cbbb9 Save main window position so that it can be restored at same location and size. 2021-08-10 20:50:49 -04:00
mjbudd77 1d15fc49c3 Added window resize presets to Qt main menu. 2021-08-10 20:12:19 -04:00
mjbudd77 728a7c3580 Added sound use global focus option to Qt GUI. 2021-08-06 00:14:37 -04:00
mjbudd77 f925e82d85 Added backend logic to mute sound when GUI focus is lost. Still TODO add window controls. 2021-08-05 23:43:44 -04:00
mjbudd77 455df4caae Added movie record input dialog to Qt GUI. 2021-08-05 22:35:29 -04:00
mjbudd77 f3af816eda Minor menu fixes for Qt GUI. 2021-08-05 19:37:28 -04:00
mjbudd77 8c19cb5257 Added detected screen refresh rate display to Qt video config window. Minor memory fixes. 2021-08-01 21:05:08 -04:00
mjbudd77 77b2f1be33 Updated Qt PPU debugger display. 2021-08-01 20:16:42 -04:00
mjbudd77 c978c1631a Added an integer frame rate option to Qt GUI better sync with video. 2021-07-31 20:07:18 -04:00
mjbudd77 6aa0c9fec1 Added main window context menu for Qt GUI. 2021-07-18 18:07:58 -04:00
mjbudd77 db0ab29be2 Added missing override virtual function syntax sugar to debugger header. Moved Movie menu item to 2nd in list after File. 2021-07-18 17:09:04 -04:00
mjbudd77 2030d18e40 Added logic to code data and trace logger windows so that if already open, the windows are raised and given input focus. 2021-07-08 22:18:20 -04:00
mjbudd77 27fc890977 Changed Qt debugger code so that only one debugger can be open at a time. 2021-07-08 22:00:32 -04:00
mjbudd77 572e89ee90 Cleaned up a few unused variables. Added blit and render counters to help debug if GUI rendering is on time with emulation thread. 2021-06-23 20:30:33 -04:00
mjbudd77 637559c7b7 Added logic to only hook up screen changed signal handler once the window has fully been constructed. 2021-06-21 20:06:13 -04:00
mjbudd77 bcdfa2a834 Added logic to watch for screen change events coming from main window and notify OpenGL widget to recalculate screen pixel ratio and texture sizes. 2021-06-20 22:12:53 -04:00
mjbudd77 b1b9b50f7b Fixed logic issue so that the main window size is not saved if the screen is in full or maximize modes. Only save previous screen size to config if in normal window mode. This prevents the next start of fceux setting the initial window size to close to maximum. 2021-06-04 20:53:11 -04:00
mjbudd77 a849cdcd2f Added decor icons to buttons on custom autofire pattern dialog window. 2021-06-01 20:57:29 -04:00
mjbudd77 1de4aea0a8 Added code to reload cursor image any time the Qt video driver is changed. 2021-05-31 21:27:41 -04:00
mjbudd77 2b9058ea13 Bug fix for Qt drag and drop ROM load. Prefer local file paths if possible. 2021-05-29 13:10:14 -04:00
mjbudd77 9cdbdb31b0 Added ROM file drag and drop into Qt main window feature. This will load the ROM into the emulator when dropped. 2021-05-29 09:16:30 -04:00
mjbudd77 635cd07020 Added autofire pattern presets to Qt emulation menu. Changed custom autofire pattern entry to use a single dialog window. Autofire pattern is now saved as a config parameter. 2021-05-28 20:25:52 -04:00
mjbudd77 20a691e608 Changed Qt GUI to use FCEU core autofire pattern logic instead of attempting to calculate its own. 2021-05-21 06:28:14 -04:00
mjbudd77 d3f25269c8 Re-send aspect ratio settings to viewer when changing video driver. 2021-05-19 22:16:04 -04:00
mjbudd77 4eb7543838 Bug fix for SDL video not initializing correctly. 2021-05-19 21:25:50 -04:00
mjbudd77 4ff17bcb8e Set auto-resume QAction using a cleaner method. 2021-05-18 21:29:22 -04:00
mjbudd77 009733be8a Bug fix for initialization of Auto-Resume checkbox state at Qt GUI startup. 2021-05-18 21:25:20 -04:00
mjbudd77 31608a5c6d Added logic to further ensure that changes to emulation video settings force an settings change on the Qt console viewer. 2021-05-15 07:03:53 -04:00
mjbudd77 8f245c9332 Changed Qt GUI screen shot function to use Qt image capture of the actual video viewport so that a higher resolution image that has the effects of the aspect ratio and scaler video selections in it. 2021-05-14 21:30:28 -04:00
mjbudd77 0b689d65c4 Added WAV file recording capability to Qt GUI. 2021-05-05 20:25:34 -04:00
mjbudd77 02e3c4e075 Added hot keys for AVI recording to Qt GUI. 2021-05-03 19:52:32 -04:00
mjbudd77 cfc91e2223 Commented out debug print statement. 2021-05-02 21:35:47 -04:00
mjbudd77 b97bf287b2 Bug fix for Qt GUI when closing ROM while the emulation thread is haning on a breakpoint. Now the thread is allowed to complete its frame so that it is idle with a minimal call stack before the ROM is closed. This prevents the emulation thread from coming out of its breakpoint wait loop at attempting to continue running its frame with no ROM data loaded. This fixes a segmentation fault crash that was mentioned in the project Qt issues thread. 2021-05-02 19:45:36 -04:00
mjbudd77 6283dc4687 Successful test of fully integrated avi recording in Qt GUI. 2021-05-02 18:36:34 -04:00
mjbudd77 4a498d20af Initial menu functionality added to GUI for avi recording. 2021-05-02 15:49:15 -04:00
mjbudd77 22523076de Added code to save avi files in base folder. 2021-04-30 16:26:54 -04:00
mjbudd77 b1638f7c07 Successful test of x264 encoder in linux. 2021-04-30 13:40:17 -04:00
mjbudd77 b9f6bf281f Restructured Qt AVI writer to run is its own thread. 2021-04-29 21:50:45 -04:00
mjbudd77 9b4b9b6549 Successful recording of small avi in RGB24 format. 2021-04-29 06:21:16 -04:00
mjbudd77 b78003dc00 Initial add of avi recording code for Qt GUI. 2021-04-28 21:40:46 -04:00
mjbudd77 f146a7f7f1 Added a separate thread to Qt trace logger whose job is to just write the logged instructions to disk (when disk logging is enabled only). This allows for bottle necks with disk I/O to not slow down the emulation. Also, buffer 4k blocks before writing to disk to make more efficient. 2021-04-25 22:07:59 -04:00
mjbudd77 26e5e46da8 Sprite viewer in work. 2021-04-15 22:52:27 -04:00
mjbudd77 029cea534c Hooked up validity states for a few Qt main menu items. 2021-04-12 21:42:57 -04:00
mjbudd77 1a8369f1b3 Added event accept lines for console window key events. Helps improve mac os responsiveness. 2021-04-12 20:06:49 -04:00
mjbudd77 806486e13d Build fixes for Qt6 on Mac OSX. 2021-04-11 17:39:37 -04:00
mjbudd77 27bb85f282 Added logic to make Qt GUI main menu access pause emulation functionality a configurable parameter. 2021-04-11 15:25:24 -04:00
mjbudd77 c790f1481c Added logic to Qt GUI to produce an error message dialog in the event that an ambiguous activation of conflicting hot key sequences occurs. 2021-04-11 13:53:34 -04:00
mjbudd77 5f40358a06 Added code for Qt GUI to pause emulation when main menu is active. This feature is currently disabled. 2021-04-11 13:10:09 -04:00
mjbudd77 7f85544e63 Bug fix for Qt GUI family keyboard conflicting with new hot key shortcuts. 2021-04-08 20:50:51 -04:00
mjbudd77 19891e1155 Bug fix for Qt GUI emulation speed up/down hot keys. 2021-04-06 22:54:29 -04:00
mjbudd77 caa9e67544 Bug fixes for Qt GUI load/save state hot keys. 2021-04-06 22:44:49 -04:00
mjbudd77 4cc02ed25b More Qt GUI hot key fixes for new setup. 2021-04-06 21:23:41 -04:00
mjbudd77 0419e22179 Further hot key rework, fixed Qt Turbo hot key function. 2021-04-05 22:42:59 -04:00
mjbudd77 2f2abfdbb2 Bug fixes for a few Qt hot key shortcuts. 2021-04-05 22:09:59 -04:00
mjbudd77 e0f5c3c58e Added code to fix Qt key sequences to avoid impossible combinations. 2021-04-05 21:01:50 -04:00
mbudd02 7acaf7f2bd Added more error logging to Qt GUI. 2021-03-30 09:06:27 -04:00
mjbudd77 cbdd6e43d9 Further hot key config rework. 2021-03-29 20:52:58 -04:00
mjbudd77 da401d9833 Qt hot key rework intermediate commit. 2021-03-29 20:04:29 -04:00
mjbudd77 3505e81710 Reworking of Qt Hot Keys. Intermediate commit. 2021-03-27 22:44:55 -04:00
mjbudd77 18c7c95ef3 Added logic to allow switching the Qt GUI video driver while program is running with out needing a restart... although a restart is still probably the safest. 2021-03-25 20:20:01 -04:00
mjbudd77 04caf3a03f Added logic to process all QCoreApplication events in main window loop to ensure that GUI stays responsive when rendering slows app execution down. Mac OS OpenGL was causing odd event processing delays. So now we will ensure all events are processed before attempting any rendering. 2021-03-21 18:31:20 -04:00
mjbudd77 95aa96a14e Aspect ratio pixel scaling fixes for Qt GUI. For issue #341. 2021-03-21 13:47:12 -04:00
mjbudd77 b825454fee Added to fix Qt build issue with pre Qt 5.12 builds. 2021-03-21 08:34:08 -04:00
mjbudd77 451b0f8474 For Qt GUI, change square pixel video option to be a force aspect ratio option and added a small list of preselect aspect options via video config window. Aspect ratio is now a configuration parameter for the video viewport. This addresses most of issue #341. Still TODO add custom aspect entry capability. 2021-03-21 07:17:01 -04:00
mjbudd77 456251861a Added a targeting reticle icon that can be used as a mouse cursor on the main viewport of Qt GUI. Easier to aim with for zapper games emulated by mouse. 2021-03-18 22:30:40 -04:00
mjbudd77 ffd5de60aa Added logic to Qt GUI to allow for the shape of the viewport cursor to be selectable between an arrow, cross, or blank. Also added a viewport cursor visibility configuration parameter. Cursor visibility and shape can be set via the video config option window. 2021-03-14 14:02:10 -04:00
mjbudd77 0203344802 Added logic to look for a QResource (rcc) file along side a qss file when loading a new stylesheet. 2021-03-05 15:09:28 -05:00