Commit Graph

265 Commits

Author SHA1 Message Date
harry 84c2591d3f Added initial framework for netplay on Qt GUI. Still much TODO here. 2024-02-19 11:57:12 -05:00
Andy Vandijck 2d632dfeeb Change toUtf8() to toLocal8Bit()
Change strings
2024-02-18 14:52:19 +01:00
Andy Vandijck cde83851ba Fix build for newer targets
Fix build
2024-02-17 19:21:47 +01:00
harry df12fa2a85 Added more movie JS interface functions. Hooked up lua joypad.getimmediate functionality for Qt GUI. 2024-02-16 22:52:04 -05:00
harry 01358407fd For Qt GUI, changed onFrameFinished callback to only update video buffer. Don't do any input processing as this will mess up when running turbo mode. Added a draw timer to SDL video renderer to better align is scheduling with the next vsync. 2024-01-31 06:49:54 -05:00
harry d363d04dbb For Qt GUI, add video buffer mutex to ensure clean transfer between emulation and GUI threads. Use common FCEU::mutex wrapper for cleaner code. 2024-01-31 05:28:41 -05:00
harry 198cdafbf8 Qt JS script engine interface in work. 2024-01-15 14:17:13 -05:00
harry e51a748a05 Qt JS engine in work. 2024-01-15 05:34:13 -05:00
harry 3436e221de For Qt GUI, added initial framework for use of the Qt built-in ECMAScript (javascript based) engine. This scripting capability will allow users to load their own custom UI windows (created using Qt Creator tool) in the GUI. This is intended to serve as a the Qt GUI's functional replacement for building GUI elements using IUP in LUA scripts. This is a work in progress. 2024-01-14 08:58:10 -05:00
harry 72b949efcd For Qt GUI, added hot keys for certain emulation speed presets. Presets are: 1/4x, 1/2x, Normal 1x, 2x, 4x, 8x, and 16x. These hot keys can be mapped to gamepads using advanced key bindings. 2023-11-30 21:09:52 -05:00
harry 99bb679ac5 Integrated suggested changes for issue #649 2023-06-18 18:11:03 -04:00
harry e597f6a4a3 Moved time stamp functions to its own file. Use new common time stamp functions in Qt GUI timing. 2023-05-19 22:31:01 -04:00
harry be38e34a06 For Qt GUI, added code to save/restore window geometry for ROM selection from archive dialog. 2023-05-15 21:11:19 -04:00
harry 7573f1b7dc Added profiler per thread logging. 2023-05-13 20:26:56 -04:00
harry 58b87387eb Cleanup of Qt GUI video driver viewport loading/unloading. Use QObject::deleteLater for a cleaner shutdown of a viewport. 2023-05-11 08:05:14 -04:00
harry 52c53dfe5b Removed commented out code Qt GUI video interface code. 2023-05-10 21:30:27 -04:00
harry 13b52f5c8e A few corrections to the QPainter Video driver. 2023-05-09 23:01:53 -04:00
harry 3d6cf7a730 Added a third video driver option for Qt GUI that uses a QPainter object to render QImages to the viewport. Consolidated video driver interface into a base class so generic object pointer can be used throughout the code to control the viewport. 2023-05-09 22:57:05 -04:00
harry 5847c0c364 Initial add of execution profiling debug code. This code is only included in the build if the __FCEU_PROFILER_ENABLE__ macro is set. 2023-05-08 07:50:26 -04:00
harry 45b0ea6f8d Added cross-platform libarchive interface to allow Qt GUI to use 7zip ROM archives. Code is setup to allow for libarchive to be an optional dependency and will fallback to regular minizip if unavailable. 2023-04-24 22:49:30 -04:00
harry 55bcb3d41a Added a load prev and next state functions for state recorder. 2023-04-01 21:17:34 -04:00
harry b6a8b46de0 For Qt GUI, added feature that allows save state files to be loaded via window drag n drop from a file dialog. 2023-03-26 17:05:19 -04:00
harry f87d746350 State recorder config dialog in work for Qt GUI. 2023-03-11 15:54:44 -05:00
harry bc6164260d State recorder in work. 2023-03-11 07:47:58 -05:00
harry d5fd976ccf Added button icons for ok/cancel buttons on Qt select from zip archive window. 2023-02-19 15:39:04 -05:00
harry 2d81c9c7b2 Added frame advance delay config parameter to Qt GUI and set delay default to 40 frames to match win port timing. Also, reset frameAdvance_Delay_count to zero before setting frameAdvanceRequested flag to avoid possible race condition where emulation thread can miss seeing zero count and not temporarily pause when it should. 2023-02-01 01:06:48 -05:00
harry 93c0e13572 Fix for Qt GUI wave file recording to support max file path length. 2023-01-22 09:45:22 -05:00
harry 5f44e8f374 For Qt GUI, fixed http references to https://fceux.com to avoid redirection. 2023-01-19 06:45:15 -05:00
harry 5c1c71be67 For Qt GUI, added feature that allows for lua script loading via file drag and drop operations. 2023-01-17 07:02:03 -05:00
harry 1adffbdf00 Modified Qt GUI recent ROM menu items to show the ROM base name following by a tab space and then the full path. This allows for the ROM file name to be in view in the event that the full path is excessively long. 2023-01-16 20:57:26 -05:00
harry cc1e6a8f8b Minor change to Qt GUI window focus audio mute logic. Ensure that it is always re-computed on a window active change event. 2023-01-11 21:08:55 -05:00
harry 739c01f051 Added Qt GUI sound mute function. This function is accessible either via hot key or checkbox on sound config window. Mute state is a config parameter and will persist between application boots. Fixes issue #591 2023-01-11 20:47:11 -05:00
harry 6ae834a1df Changed interface to Qt GUI function getDirFromFile to pass reference to std::string so that returned string will not have string length limitations. Buffer size will grow as needed for the path and will not be allocated on the stack. 2023-01-07 01:47:45 -05:00
harry b3717c008b Refactor Qt GUI function getDirFromFile to use QFileInfo to get absolute directory path. Also, added a input buffer size argument to prevent string copy buffer overflows. Fixes issue #598. 2023-01-07 00:43:35 -05:00
harry 900305b587 For Qt GUI, added option to use palette background color as video background color. This option can be accessed from via main menu -> option submenu. 2022-10-09 21:09:52 -04:00
harry d0add7a609 For Qt GUI added separate hot keys for soft and hard reset functions. Changed soft reset to be default Ctrl+R and hard reset to Ctrl+Shift+R. 2022-08-23 18:36:39 -04:00
harry 319b365787 Cheats config improvements for Qt GUI. Added global cheat enable/disable hotkey functionality. Added code to raise and set focus on cheat dialog when attempting to open it when it is already opened. Add code to update/refresh cheat dialog when loading a new ROM. 2022-08-21 14:57:03 -04:00
zeromus bb1fc08d8e rename all iNES Header Editor to NES Header Editor (re #519) 2022-08-04 21:23:34 -04:00
mjbudd77 6c42f9588c Qt virtual family keyboard is now functional. 2022-03-05 22:08:40 -05:00
mjbudd77 c0dff9bbfe Qt Keyscan update for left/right meta keys. MacOSX menu accelerator fix. 2022-02-27 20:41:25 -05:00
mjbudd77 5e6fd870fe Added code to differentiate left vs right modifier keys on windows and linux. Cannot do this yet on mac OSX. 2022-02-27 12:38:57 -05:00
mjbudd77 95d2ca7982 Added auto hide main menu on fullscreen functionality to Qt GUI. Issue #454. 2022-01-29 12:55:41 -05:00
mjbudd77 2a1c529231 For Qt GUI. Added logic to show busy cursor when closing out an AVI recording. Fix for overloading GUI cursor, always call QGuiApplication::restoreOverrideCursor() to reset cursor to default. 2022-01-16 07:08:37 -05:00
mjbudd77 5fc47dce6a Added logic to force orderly close of Qt TAS editor any time a ROM is closed or the application is quit. 2021-12-30 21:38:23 -05:00
mjbudd77 04b8d8a789 Bug fix for stack overflow error that can occur when calling QCoreApplication::processEvents() and not guarding against recursion on calling parent function. 2021-12-29 22:23:00 -05:00
mjbudd77 68693ca29d Added FCEU_WRAPPER_LOCK macros to allow for tracking of critical section mutex locking. 2021-12-29 15:56:47 -05:00
mjbudd77 58b093e549 Added call to close all windows on application close. 2021-12-25 20:39:41 -05:00
mjbudd77 4006bb500f Added screen snapshot capture message to Qt GUI. 2021-12-24 07:06:08 -05:00
mjbudd77 b05e210982 Minor order of execution changes to Qt GUI application quit to prevent crash on MacOS. 2021-12-23 23:27:46 -05:00
mjbudd77 1fa028b6e6 Increase Qt video transfer buffer size to further reduce possibility of buffer overrun when transfering frames from emulation to GUI threads. Added input device update code to emulation frame finished callback to ensure that input devices are always updated before screen is redrawn. 2021-12-17 06:30:29 -05:00