Commit Graph

265 Commits

Author SHA1 Message Date
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
mjbudd77 cb0bc74fd4 Added a styling wrapper class to allow for more control over palette colors. 2021-03-03 22:48:45 -05:00
mjbudd77 2a6a31fa48 Added Qt stylesheet GUI selection code. 2021-03-01 21:48:57 -05:00
mjbudd77 ac0f377873 Added a GUI style selection combo box. Lists all built in GUI styles available. This allows user to change the GUI style while it is running. Also, style setting is saved and used for future GUI startups. 2021-03-01 20:24:00 -05:00
mjbudd77 8347e2fd0b Bug fix for Qt GUI using default settings to force the minimum viewport until after the GUI has been drawn/resized at least once to ensure that the menu bar size has been finalized and the viewport meets demanded values. At the first resize event, the viewport minimum size is reset back to 1x values so that the window can still be shrunk by dragging the lower window corners and edges. 2021-02-27 19:29:50 -05:00
mjbudd77 8241973af1 Fixed order of execution bug to ensure that first startup of Qt GUI with default config sizes window exactly right. 2021-02-27 18:21:39 -05:00
mjbudd77 1cf00640c4 Added RAM init menu option to Qt GUI. 2021-02-25 20:19:41 -05:00
mjbudd77 ffc7e70b0d For Qt GUI fixed region auto detection logic to preserve dendy mode if an NTSC game is loaded. Also, added an option to enable/disable region auto detection functionality. This allows for the users selection via the GUI to be strictly enforced. Also, added a region select sub menu to the emulation main menu. Fixes issue #335. 2021-02-25 19:36:08 -05:00
mjbudd77 e3f2970dcd Added scanline start/end entry boxes for NTSC and PAL/Dendy to Qt Video config window. 2021-02-23 21:04:50 -05:00
mjbudd77 e6754c87ba Added a recent ROMs sub menu to the Qt main menu. 2021-02-19 20:46:27 -05:00
mjbudd77 5eb79dcf9d Removed all redundant QFileDialog calls to show() when exec() is already being called. The show() function is a non-blocking call to create a dialog window. exec() is a blocking call and is required to use the native windows file browser. Since all the file dialog callback functions are designed to be blocking anyway, the show() calls really shouldn't be there anyway. This fixes part of #332. 2021-02-18 23:14:31 -05:00
mjbudd77 14b07ab5f2 Added a link to online documentation in the Qt GUI help menu. 2021-02-16 22:16:05 -05:00
mjbudd77 7e3086d92c Added more accelerators for Qt menu items. 2021-02-16 21:44:47 -05:00
mjbudd77 08df12db74 Bug fix for Qt GUI main menu permanently hi-jacking input focus when using menu accelerators. 2021-02-15 10:08:03 -05:00
mjbudd77 049f1017d4 For Qt GUI, fixed thread timing bug in rapid autofire pattern. Also, added hooks to make the autofire pattern number of on/off frames configurable. Minor indentation fixes in code. 2021-02-15 08:43:14 -05:00
mjbudd77 769ab81027 Setup QFileDialog side urls for various windows. 2021-02-14 10:53:21 -05:00
mjbudd77 c3473dbf4d Made one full pass over all Qt window menus and added accelerators where it makes sense. 2021-02-14 05:09:44 -05:00
mjbudd77 58c3081176 Added ALT+F accelerator for Qt main menu. 2021-02-13 20:16:51 -05:00
mjbudd77 35bb4be6f6 First successful build of Qt windows fceux. 2021-02-06 12:15:28 -05:00
mjbudd77 31819d246d Added initial framework for Qt palette editor window. 2021-02-02 22:37:01 -05:00
mjbudd77 7ce62ebee3 Added logic to Qt GUI to save off window size and video scaling parameters at application exit so that they can be used at startup to restore window to same size it was previously. 2021-01-24 14:21:18 -05:00
mjbudd77 c6752c4193 Added standard FCEU GPL2 license header to Qt cpp files that were
missing it.
2021-01-20 19:19:22 -05:00
mjbudd77 1454238f1e
Added #if defined(__unix__) in the appropriate places to allow for the code to compile for FreeBSD 12.2 using the clang 10.0.1 compiler. (#305) 2021-01-16 14:40:28 -05:00
mjbudd77 427daa3543
Added logic to Qt GUI to allow for the main menu bar to be hidden. (#296) 2021-01-05 21:50:37 -05:00
mjbudd77 e64aac93ee Added fceux name and version information to the main window title bar for the Qt/SDL port. 2020-12-20 23:39:25 -05:00
mjbudd77 2e4fae6de6 Added more button and menu icons to Qt GUI. 2020-12-13 21:45:39 -05:00
mjbudd77 380fc72917 Added a few more menu icons to Qt gui. 2020-12-13 15:24:48 -05:00
mjbudd77 58624be83b Added a few more icons to Qt GUI menu. 2020-12-13 15:02:23 -05:00
mjbudd77 af8c63fcc2 Added a few standard icons to menu entries and buttons in Qt GUI. 2020-12-13 14:51:04 -05:00
mjbudd77 35720a78ce Added logic and necessary functions to SDL port for new Lua emu.exit() function. 2020-12-12 06:59:07 -05:00
mjbudd77 afaea86abd Added a frame timing statistics window to the Qt tools. Allows user to enable frame timing statistical calculations and view the output on a window in realtime. Is used to verify emulator is getting the proper clock interrupts from the OS and thus check that emulation timing is deterministic. 2020-11-30 22:29:51 -05:00
Matthew Budd 4f08d7a8cc Added message log viewer window to the Qt GUI. 2020-11-29 20:11:28 -05:00
Matthew Budd 35e0bc441f Removed debug print statement. 2020-11-28 21:55:55 -05:00
Matthew Budd f198996cd4 Added logic to auto set process scheduling priorities at startup. 2020-11-28 21:03:26 -05:00
Matthew Budd 961aa83a51 Bug fixes for Qt timing priority configs. 2020-11-28 20:43:34 -05:00
Matthew Budd e67b17795c Added scheduler config parameters to Qt GUI. 2020-11-28 00:28:28 -05:00
mjbudd77 ab31c760d5 Build fix for mac os 2020-11-27 23:48:57 -05:00
Matthew Budd d5d6b32787 Added GUI scheduling parameters to Qt timing config window 2020-11-27 23:42:32 -05:00
Matthew Budd e154b38327 Qt Timing config window bug fixes for cases when OS does not have proper permissions. 2020-11-27 23:04:41 -05:00
Matthew Budd 6b8e4f883b Initial add of timing configuration window to Qt GUI. 2020-11-27 22:18:04 -05:00
Matthew Budd 8d0de7793a Merge branch 'development' of https://github.com/mjbudd77/fceux into development 2020-11-27 19:56:31 -05:00
mjbudd77 a7b031ee81 Qt GUI thread priority functionality added for mac os 2020-11-27 19:53:14 -05:00
Matthew Budd 3982d1b897 CAdded 2020-11-27 14:23:17 -05:00
Matthew Budd 2b05c7169d Initial add of logic to allow for high priority threads in Qt GUI. Modified speed throttle logic to have more accurate frame timing. 2020-11-26 23:44:59 -05:00
Matthew Budd 396029743a Added input device selection/configuration window for Qt GUI. Still TODO, button config windows for non-gamepad devices. 2020-11-23 13:50:26 -05:00
Matthew Budd e36f53609e Added logic to clear QClipboard contents at program exit. This will prevent a momentary terminal X11 hang and following error message "QClipboard: Unable to receive an event from the clipboard manager in a reasonable time" 2020-11-14 14:01:23 -05:00
Matthew Budd 8adcc1a699 Added Game Genie encode/decode window to Qt GUI. 2020-11-08 15:42:48 -05:00
Matthew Budd e42232777e Successful integration of Qt movie play window. 2020-11-07 13:32:40 -05:00
Matthew Budd 4314ccbfc3 Movie play window for Qt GUI in work. 2020-11-05 06:49:50 -05:00
Matthew Budd d8d696e1a1 Added movie options dialog window to Qt GUI. 2020-11-05 05:24:21 -05:00
Matthew Budd feff0f79c3 Added a config parameter to Qt GUI to store movie directory path. 2020-11-04 06:39:16 -05:00
Matthew Budd bcef387bb0 Added logic to open file if a ROM is not currently loaded when opening the iNES header editor. 2020-11-01 20:04:21 -05:00
Matthew Budd 461d3f88cd Added initial framework for Qt iNES header editor window. 2020-10-28 23:25:32 -04:00
Matthew Budd bd440682fd Bug fix for Qt GUI full screen command line switch. 2020-10-25 18:55:16 -04:00
Matthew Budd c09b1f6c7a For Qt GUI, added a zip archive ROM list selection window for the case where a zip file contains more than one ROM file in it. 2020-10-25 11:34:33 -04:00
Matthew Budd 0ce058b35b Added code to allow for ROMs to be extracted and opened from zip file in Qt GUI. 2020-10-24 22:04:00 -04:00
Matthew Budd c01d4e8621 Added all non-compressed useable file types to the open ROM file dialog filters for Qt GUI. 2020-10-24 09:43:38 -04:00
Matthew Budd 1d2fa00335 Added QDir::AllDirs argument to all Qt GUI file browser instances to ensure that all directories will be shown any time a QFileDialog is opened. 2020-10-22 00:17:32 -04:00
mjbudd77 da0ab1359c Added set frame advance delay menu and input dialog logic for Qt GUI. 2020-10-18 10:53:31 -04:00
mjbudd77 8b5e99909a Added emulation speed control main menu functionality to Qt GUI. 2020-10-18 10:34:03 -04:00
mjbudd77 598f036d56 Bug fix for order of destruction issue caused when shutting down the application with the debugger window open. 2020-10-17 23:26:49 -04:00
mjbudd77 65bb526951 Added logic to refresh cheat window when adding from RAM search or watch windows for Qt GUI 2020-10-16 22:30:04 -04:00
Matthew Budd 0f506dc348 Qt Ram search logic in work. 2020-10-11 11:25:35 -04:00
Matthew Budd baa724ed14 Added initial layout of Qt RAM Search window. 2020-10-11 10:40:27 -04:00
Matthew Budd ab922df318 Added initial window layout for Qt RAM Watch window. 2020-10-07 20:35:52 -04:00
Matthew Budd 1f12627c8f Added initial file for Qt name table viewer 2020-10-05 20:52:09 -04:00
Matthew Budd c21041e26e Setup initial menu options and window open for Qt GUI PPU Viewer. 2020-10-03 11:46:14 -04:00
Matthew Budd af35f81f4f More logic updates for Qt trace logger window. Added log to file feature. 2020-10-02 21:44:47 -04:00
Matthew Budd c288c60c68 Added initial window layout for trace logger. 2020-09-30 20:56:50 -04:00
Matthew Budd 086d523566 Added initial code data logger window layout for Qt GUI. 2020-09-27 10:59:24 -04:00
Matthew Budd dd7aa8fc2c Added initial framework for adding, editing, and removing breakpoints. 2020-09-08 22:18:49 -04:00
Matthew Budd 7001b55569 Added initial framework for console breakpoint debugger window. 2020-09-01 22:04:59 -04:00
Matthew Budd 51019a6e06 Cleanup up old commented out code in QT GUI main window. 2020-08-25 21:24:34 -04:00
Matthew Budd c23fa5dc60 Memory management fix for QT dialog windows. Ensure that window is marked for deletion when it is closed. 2020-08-25 20:59:36 -04:00
Matthew Budd a624278fca Added native menu option to hex editor. 2020-08-25 18:41:58 -04:00
Matthew Budd 11ccdf77b4 Added initial framework for hex editor. 2020-08-15 21:41:06 -04:00
Matthew Budd c76d70582a Adding GUI framework for cheat window. 2020-07-27 22:26:41 -04:00
Matthew Budd 3528adea30 Changed error message window to use QMessageBox instead of QErrorMessage to have more control over display image. 2020-07-26 22:04:31 -04:00
Matthew Budd e918f8562a Added an error message window to the GUI. Added About Qt window to GUI. 2020-07-26 21:31:32 -04:00
mjbudd77 b815fbfe47 Added logic to show state of mapped buttons on game pad config page. 2020-07-24 09:50:03 -04:00
Matthew Budd 02c3012215 Added a checkbox option to the gui config page to allow for the gui to use the native OS menu bar for mac os and certain linux distros. 2020-07-21 20:06:25 -04:00
Matthew Budd 3fc99f7d30 Added logic to allow the use to optionally select either the Qt/OpenGL or SDL as the video driver. 2020-07-20 22:45:33 -04:00
Matthew Budd f59bf15d30 Created a console utilities file to hold misc functions used by the Qt/SDL port. 2020-07-20 21:06:49 -04:00
Matthew Budd 122473b575 Added Lua control window. 2020-07-19 21:15:56 -04:00
Matthew Budd 188320147a Bug fix for file name patterns used with QFileDialog 2020-07-19 20:04:42 -04:00
Matthew Budd 397e17ba99 Added a GUI config window to for misc GUI options. Added an option to use the native OS file browser when looking for files. 2020-07-19 18:43:42 -04:00
Matthew Budd 6fb247d785 Changed QMutex to be recursive to prevent dead-locks in gui and emulator. A few bug fixes for the palette config window. 2020-07-17 21:50:23 -04:00
Matthew Budd be7dcda45e Added palette config window and logic. 2020-07-16 21:18:57 -04:00
Matthew Budd 44750bf88f Added a higher resolution icon to project. 2020-07-12 12:53:41 -04:00
Matthew Budd 76d8b829bd Bug fix for file browser initial directory calculation. 2020-07-11 21:29:23 -04:00
Matthew Budd d43383d8bf Fixed directory pathing for file browser. 2020-07-11 21:14:37 -04:00
Matthew Budd b3c51ef4b1 Added movie menu logic to gui. 2020-07-11 20:48:48 -04:00
Matthew Budd 2c370389fd Added window icon resource. 2020-07-11 16:55:45 -04:00
Matthew Budd 32116210b8 About FCEUX window in work. 2020-07-11 16:11:48 -04:00
Matthew Budd 210e04fe92 Added FDS menu functionality. 2020-07-11 14:42:02 -04:00
Matthew Budd 6fcfb2af7a Added insert coin menu functionality. 2020-07-11 14:21:20 -04:00
Matthew Budd b4280ee33d Added menu logic to load Game Genie ROM file 2020-07-11 14:03:40 -04:00
Matthew Budd c41cd863c6 Added game genie enable menu logic. 2020-07-11 12:59:14 -04:00
Matthew Budd 74afb50949 Added basic functions of emulation menu 2020-07-11 11:58:11 -04:00
Matthew Budd b830e0aae5 Added screen shot menu function. 2020-07-11 10:29:03 -04:00
mjbudd77 cb453fa194 Moved linux pipeline to cmake instead of qmake. 2020-07-10 13:51:32 -04:00