harry
f85f93c5bd
JS joypad API improvements.
2024-02-14 06:28:26 -05:00
harry
446763b232
Added JS joypad object functionality.
2024-02-11 14:56:58 -05:00
harry
6248b0ee64
Added ability to pass command line arguments to JS scripts.
2024-02-11 10:43:40 -05:00
harry
20a9c151be
JS logging improvements.
2024-02-11 10:25:47 -05:00
harry
2229d32720
Added a QJSEngine wrapper class to maintain link to script instance and dialog window with new script objects.
2024-02-10 23:00:07 -05:00
negativeExponent
8d0fe851bf
QT: Fix volume adjustment for APU
...
Volume adjustments for the apu channel has a range of 0-256. With a value of 256, this acts as a bypass (toggle) and skips the computation entirely when set. This fixes issues when the original signal is too low already that passing it through volume controls will attunuate the signal instead and silence it.
The main volume does not behave the same way and 256 is not a toggle, so left it as-is.
@thor2016 feel free to make it better if necessary, maybe a toggle instead of a 256 max value or something.
2024-02-09 10:19:47 +08:00
harry
8ebb560d1c
Added emulator save state JS interface.
2024-02-06 22:44:08 -05:00
harry
2f2482e950
Minor null check fix.
2024-02-05 18:34:03 -05:00
harry
401110bae8
Added ppu interface functions to JS engine.
2024-02-05 18:29:25 -05:00
harry
a5071f10f0
Implemented ROM JS interface object.
2024-02-05 06:43:27 -05:00
harry
61da515f11
Finished remaining JS interface functions for JS emu object.
2024-02-05 05:56:40 -05:00
harry
1fc813803e
Added JS script monitoring thread to prevent bad scripts from hanging the gui.
2024-02-04 22:09:59 -05:00
harry
4fa0d0651a
Added vsync timer logic to Qt OpenGL video driver.
2024-01-31 07:08:08 -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
19abb0b249
Fix for build break, QJSEngine::setObjectOwnership does not exist in Qt5. Only in version 6.
2024-01-30 06:50:40 -05:00
harry
6b96016047
JS scripting in work.
2024-01-29 23:17:15 -05:00
harry
813d4c0c4b
Added nullptr check in the event QStyle factory fails.
2024-01-29 20:19:36 -05:00
harry
a85f348e50
For Qt GUI, edit frame throttling logic when using turbo mode or really fast emulation speed to not be so wasteful when emulation is paused. Don't make sense to waste CPU resources spinning on nothing. Fixes #681 .
2024-01-28 08:15:00 -05:00
harry
c50c1d570c
Change linear filter checkbox text to not include OpenGL. This function not specific to OpenGL and works for all supported video drivers.
2024-01-27 19:35:01 -05:00
harry
b03c9c9c8b
Removed const qualifiers to fix Qt build. Different versions of Qt QJSValue don't allow the call method to called from a const object.
2024-01-27 01:04:48 -05:00
harry
a02ae8d3e0
Added memory hooks to JS engine.
2024-01-26 22:57:54 -05:00
negative
82a99060e5
Use macro and minor offset adjustment
2024-01-25 18:10:48 +08:00
negative
8e935a05a6
Clip Left/Right Sides option now taken into account when using NTSC scaler
2024-01-24 14:52:45 +08:00
harry
2fce5ffe74
Added memory access functions for JS script interface.
2024-01-19 16:54:56 -05:00
harry
7a0be296fa
Added logic to realtime update js global variable viewer.
2024-01-17 07:14:10 -05:00
harry
1dde9e7e75
Minor fixes for JS global variable viewer.
2024-01-16 22:04:00 -05:00
harry
dc2d3c26aa
Added global JS property tree to allow exploring of engine data.
2024-01-16 21:48:13 -05:00
harry
9a9f9541d6
Build fix for systems without Qt QML installed.
2024-01-15 20:09:25 -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
ecda95ed70
Qt JS engine in work.
2024-01-15 04:33:27 -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
b53d087fca
Changed Qt Win64 1px fullscreen window border to be a configuration option. Doesn't seem to be necessary for all users and maybe not at all anymore. We will see if the QOpenGLWidget issue resurfaces with this setting off. Fixes #514
2023-12-12 21:27:55 -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
8600679636
Comment out warning message about debug file not being able to be opened for reading. It is normal for the file to not exist so it seems silly to warn about not being able to open it.
2023-11-24 09:02:50 -05:00
harry
99bb679ac5
Integrated suggested changes for issue #649
2023-06-18 18:11:03 -04:00
harry
43cd7ef60a
Updated Qt driver FCEUD_GetTime and FCEUD_GetTimeFreq functions to allow for a higher timing resolution.
2023-05-21 18:41:24 -04:00
harry
1a3170fd68
Changed Qt GUI frame throttling to use new time stamp record for computing timing. This fixes an issue where frame timing starts to lose precision when application time gets to float large values by performing calcultions using integer math
2023-05-21 16:44:20 -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
a20f6f559b
Compiler warning fix for potential uninitialized var.
2023-05-15 21:29:42 -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
584593816f
Remove debug symbol save call from load symbols function so that live file edits are not overwriten. Added a save debug symbols debugger menu action so that this can be explicitly performed. Fixes issue #642 .
2023-05-15 20:42:17 -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
b125d48db5
For Qt GUI add code that forces video alpha bits to 255 for all pixels. Some video drivers aren't ignoring the alpha bits as they should so make sure they as always set to be safe.
2023-05-10 20:58:19 -04:00
harry
3208c01b38
Hooked up bi-linear filter for new QPainter video driver.
2023-05-10 00:25:07 -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