Commit Graph

2689 Commits

Author SHA1 Message Date
Matthew Budd 1c6851c3f0 Bug fix for SDL joystick not working using SDL video driver. By default SDL joystick inputs are ignored if the SDL window does not have focus. Set SDL HINT to allow for background joystick inputs to accepted (i.e. joystick inputs come through even though window not in focus). 2020-08-10 21:04:42 -04:00
Matthew Budd cd99eaecd3 Added missing files. 2020-08-09 22:20:02 -04:00
Matthew Budd 1d417a49ae Back ported SDL2 game controller improvements to GTK from QT GUI. 2020-08-09 22:19:38 -04:00
Matthew Budd 1331aeca14 input device select combo box logic in work for GTK Gui. 2020-08-09 07:11:28 -04:00
Matthew Budd 5bfbbbba7e Back ported SDL joystick/gamepad improvements from Qt to GTK gui. 2020-08-09 05:55:59 -04:00
Matthew Budd 61894c7772 Bug fix to sync video driver selection on GTK GUI at init. 2020-08-09 05:21:29 -04:00
Matthew Budd 989d39c26e Back ported SDL sound bug fixes from QT to GTK GUI. 2020-08-09 05:17:48 -04:00
Matthew Budd 33c5b328b2 Changed sdl video resize logic to ensure that it is always syncd to the size of the drawing area. 2020-08-07 21:44:12 -04:00
Matthew Budd a2fbb33d68 Added video driver select option for GTK/SDL GUI. Currently there are 3 possible video drivers: OpenGL GLX, SDL2, and Cairo. 2020-08-07 21:22:07 -04:00
Matthew Budd 5e2ac49da7 Bug fix for LSB_FIRST definition in GTK build in cmake environment. 2020-08-07 17:09:12 -04:00
Matthew Budd 1b0888e146 Added git url/revision info to the GTK/SDL GUI about window. Added git url/revision information to command line help print out for both GTK and QT versions. 2020-08-07 16:59:27 -04:00
Matthew Budd bb4adb36b4 Merge branch 'master' of ../TasVideo/fceux 2020-08-07 16:34:39 -04:00
zeromus 6f4bbacca0 fix height of win32 inputbox. fixes #145 2020-08-07 13:55:50 -04:00
mjbudd77 d416ceb0c4 Added GTK3/SDL2 based fceux build capability into cmake build file. It is configurable from the command line which GUI to build GTK or QT (default). 2020-08-07 13:23:43 -04:00
Matthew Budd 27875aac17 Changed GTK GUI shutdown order of execution so that the main window cannot be deleted until the event loop has fully exited. 2020-08-06 21:36:50 -04:00
Matthew Budd 46d02fc61a Modified GTK GUI quit logic to just set a flag in the quit callback function to allow the gui exit its main loop under normal conditions and then proceed with an orderly cleanup/shutdown outside of the GTK event loop. 2020-08-05 20:33:19 -04:00
Matthew Budd b7067cc1da Removed debug print statement. 2020-08-03 21:12:54 -04:00
Matthew Budd bbd0fe4470 Added cheat save file logic to cheat window export button. 2020-08-03 21:04:58 -04:00
Matthew Budd 4a494f8dc1 Added code to center text inside numerical entry fields on the cheat window. 2020-08-03 20:30:45 -04:00
mjbudd77 0fdf8cec14 Changed character used for width to be an X instead of 0 2020-08-03 20:20:48 -04:00
Matthew Budd b0529d564a Added pause while cheat window is active checkbox logic. 2020-08-02 21:19:32 -04:00
Matthew Budd 7c84e7b383 Added global cheat enable and auto load/save checkboxes 2020-08-02 20:58:59 -04:00
Matthew Budd e99cc1d64d Added logic to lock emulation when modifying cheats. 2020-08-02 20:31:21 -04:00
Matthew Budd 7d6f1fdacc Added logic to lock emulation when adding or deleting cheats. 2020-08-02 20:29:24 -04:00
Matthew Budd 53c96c9fbd Added button sensitivity logic for cheat search window. 2020-08-02 20:23:12 -04:00
Matthew Budd 2905c105bf Added cheat add/delete button logic. 2020-08-02 20:04:59 -04:00
Matthew Budd 34279fd5ac Added logic for modify active cheat parameter update button. 2020-08-01 21:33:43 -04:00
Matthew Budd 2d57b88e64 Added code to populate active cheat list. 2020-07-31 22:03:14 -04:00
Matthew Budd 3e1cfb3a94 More cheat search updates. 2020-07-31 20:18:39 -04:00
Matthew Budd b6871bc36d Added callbacks for cheat search buttons. 2020-07-31 20:14:17 -04:00
Matthew Budd cf54c8d225 Cheat window widget layout in work. 2020-07-30 23:06:02 -04:00
Matthew Budd bec89112e2 More updates to cheat window. 2020-07-28 22:54:52 -04:00
Matthew Budd 5088991a8d Added more widgets to the cheat window. 2020-07-28 21:37:28 -04:00
Matthew Budd c76d70582a Adding GUI framework for cheat window. 2020-07-27 22:26:41 -04:00
Matthew Budd 3c2a93d7c4 Added a protection in the audio output loop to break out of the loop if the audio sink is not draining. This will prevent lockups in the event that the audio output device has failed. 2020-07-27 21:20:25 -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
Matthew Budd 0112782eab Added logic to change color of changed button mapping to red until they are save to a profile. Also, added a warning message to inform user of unsaved mappings. 2020-07-26 14:07:28 -04:00
g0me3 f2eb89c629 Merge branch 'master' of https://github.com/TASVideos/fceux 2020-07-25 21:22:13 +03:00
g0me3 6145fe22ab bandai and sunsoft barcode readers support GUI restore for WIN build
157 mapper (barcode battler) support for main unit's and cart's eeproms. all datach games are able to save properly now.
2020-07-25 21:21:37 +03:00
Matthew Budd b48b81c938 Commented out command line INOP inputCfg functionality. With new GUI gamepad config, this should not be required anymore. 2020-07-24 23:04:56 -04:00
Matthew Budd 976266547c Bug fix for shutdown of joystick system. 2020-07-24 22:41:19 -04:00
Matthew Budd 4175ca6052 Added logic to skip unassigned buttons in the config. 2020-07-24 22:26:09 -04:00
Matthew Budd 3db85cd1d2 Game pad code cleanup. 2020-07-24 22:12:45 -04:00
Matthew Budd da04bbdfc5 Added logic to init game pad mappings at startup 2020-07-24 21:47:57 -04:00
Matthew Budd 67e87787e3 Added logic to load default keyboard mapping. 2020-07-24 18:44:18 -04:00
mjbudd77 8afeb43759 Added code to allow for deletion of game pad profiles. 2020-07-24 17:14:03 -04:00
mjbudd77 b71630379a Added game pad button mapping profile logic. 2020-07-24 16:56:48 -04:00
mjbudd77 675b73cbed Added mapping profile widgets. Still TODO, write code behind them. 2020-07-24 11:05:20 -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 e50d6e22ed Added logic to load default game pad button bindings from SDL database. 2020-07-24 00:11:11 -04:00
Matthew Budd e018b4b945 Removed unused button config arrays in preparation for implementing SDL2 game controller setup. 2020-07-23 18:43:45 -04:00
Matthew Budd 10b84fa47c Added SDL game controller logic to sdl-joystick. Preparing to re-vamp the input module. 2020-07-22 22:17:53 -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 982ed7689d Added Lua window hooks to old sdl port that are now needed by core library. These functions do not do much on the old port and really only exist to resolve linker issues. 2020-07-20 19:36:22 -04:00
Matthew Budd 4e9601a241 Added logic for the lua output display console. 2020-07-19 21:33:20 -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 b846ed31db Merge branch 'master' of ../TasVideo/fceux 2020-07-19 10:12:20 -04:00
Matthew Budd c0febe1d3e Added a hook in the core palette emulation to allow for the gui to determine if a custom user palette is available and in use. 2020-07-18 21:58:38 -04:00
owomomo 96a116e096
Shortcuts of bookmarks in Hex Editor can be customized. (#129) 2020-07-18 18:43:23 -04:00
Matthew Budd 002481c6b9 Added a few more options to the palette config window. 2020-07-18 15:19:01 -04:00
Matthew Budd 2d4451a43c Added logic in the emulator thread to check if requests to acquire the mutex have been made by the gui. If requests are found, the emulator thread will sleep so that the gui thread can gain access and service the requests. 2020-07-17 22:14:20 -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
mjbudd77 f8558a9636 Added component runtime to cpack line 2020-07-12 15:43:48 -04:00
mjbudd77 08beead253 Successful addition of fceux icon to mac osx dmg package. 2020-07-12 14:10:32 -04:00
Matthew Budd 44750bf88f Added a higher resolution icon to project. 2020-07-12 12:53:41 -04:00
mjbudd77 70a2b3023a Added logic to generate a mac osx drag and drop package. 2020-07-12 11:50:18 -04:00
Matthew Budd 35b0227809 Added logic to initialize the video PAL combo box with proper config value at window creation. 2020-07-11 22:37:29 -04:00
Matthew Budd 3a6c861326 Bug fix for SDL port lock up when selecting dendy video option. 2020-07-11 22:36:55 -04:00
Matthew Budd c93d0b3113 Added command line help output. 2020-07-11 22:09:51 -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 96df0c25e1 Added logic to auto embed the git URL and revision into the executable so that it can be displayed on the About dialog window. 2020-07-11 19:52:14 -04:00
Matthew Budd 889250b720 Updated About Window. 2020-07-11 17:26:08 -04:00
Matthew Budd f436408b06 Updated about window to use embedded png. 2020-07-11 17:06:22 -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 0188c11e8b Added OpenGL preference variable to cmake build file to get rid of nuisance warning. 2020-07-10 15:08:05 -04:00
mjbudd77 69a761a477 More Cmake fixes between linux and mac os 2020-07-10 14:57:55 -04:00
mjbudd77 cc4ce19784 A few build fixes for the mac os with cmake. 2020-07-10 14:48:46 -04:00
mjbudd77 cb453fa194 Moved linux pipeline to cmake instead of qmake. 2020-07-10 13:51:32 -04:00
mjbudd77 321ea729d4 Successful build of Qt GUI on MAC OSX using cmake. 2020-07-10 11:22:10 -04:00
mjbudd77 1206fcebbd Successful build of QT gui using cmake instead of qmake. 2020-07-10 10:59:07 -04:00
Matthew Budd 26e320b163 Bug fix for small memory leak on window init. 2020-07-09 21:38:31 -04:00
Matthew Budd 67b7c34576 Added change state select menu radio button logic. 2020-07-09 21:33:53 -04:00
Matthew Budd 0d8c442b35 Added a few state load menu items. 2020-07-09 21:00:04 -04:00
Matthew Budd 5958dc18fb Added fullscreen menu function. 2020-07-07 21:45:24 -04:00
Matthew Budd d87b5c7ab7 Added logic for auto-resume play menu item. 2020-07-07 21:26:15 -04:00
Matthew Budd 46271dfa61 Added video region combo box logic. 2020-07-07 21:06:24 -04:00
Matthew Budd ea1782bfe5 Added checkbox logic for video config window. 2020-07-07 20:53:31 -04:00
Matthew Budd 313bba68f9 Added missing tr function calls around string literals. 2020-07-07 18:49:58 -04:00
Matthew Budd ce0a8fdf63 Added framework for video config window. Still TODO writing logic. 2020-07-07 08:59:47 -04:00
Matthew Budd b2c094a6bf Added QT Hotkey configuration window. 2020-07-06 21:44:23 -04:00
Matthew Budd 1a99903933 Changed name of main window periodic update function so that is not the same name as QWidget base update function. 2020-07-05 22:10:28 -04:00
Matthew Budd f9b5796ef0 Created a local buffer for the openGL video image to better sync the image with the drawing frame in the gui thread. 2020-07-05 21:40:19 -04:00
Matthew Budd 4dca42bfca Moved the physical input update to the main thread since the MAC OS X SDL2 requires it to be so. 2020-07-05 21:16:31 -04:00
Matthew Budd 70a00fab13 Added mutex sync when changing sound properties of the emulator. 2020-07-05 16:54:33 -04:00
Matthew Budd ac43cc3e62 Renamed gameViewer to ConsoleViewer. 2020-07-05 16:44:36 -04:00
Matthew Budd 824bdda083 Renamed a few of the files and class objects to be more appropriate to what the actually are. 2020-07-05 16:37:26 -04:00
Matthew Budd f2e7b66c61 changed QThread setup to be a separate object from the console window. 2020-07-05 16:27:13 -04:00
Matthew Budd acc02ee98e Moved FCEU emulation to its own thread for better timing control. 2020-07-05 16:11:53 -04:00
Matthew Budd c496c0f281 Added logic to increase/decrease emulation speed via hotkeys using QTimer system. Bug fix for = key Qt to SDL mapping. 2020-07-03 21:52:27 -04:00
mjbudd77 72141845f0 Changed gl_shm name to nes_shm. Added audio circular buffer to shared memory. 2020-07-03 15:58:53 -04:00
Matthew Budd 7eca2978ed Minor removal of underscored F on File menu. 2020-07-02 21:08:46 -04:00
Matthew Budd 91e5427258 Successful test of full sound config window functionality. 2020-07-02 21:05:08 -04:00
Matthew Budd 021452b7f0 Sound configure window in work. 2020-07-02 20:49:52 -04:00
Matthew Budd afc3a61014 Started putting together window framework for sound configuration. 2020-07-01 22:03:59 -04:00
mjbudd77 104f7c465e Updated init call for game viewer SDL to match GL. 2020-06-30 20:04:17 -04:00
mjbudd77 d38f1b0c1b Build fix for minizip include in MAC OS 2020-06-30 20:00:29 -04:00
mjbudd77 2762d53791 Cleaned up game viewer GL. 2020-06-30 19:53:29 -04:00
mjbudd77 e2b853661d More testing with SDL game viewer driver, keeps drawing over the menu
bar on the mac os. Thinking native GL inside QT is the way to go.
2020-06-30 09:22:59 -04:00
mjbudd77 41b54b9813 Solved MAC OpenGL scaling issue. Turns out it was related to the retina
screen having a 2x device to framebuffer scaling.
2020-06-29 23:24:41 -04:00
Matthew Budd c6b46bfcc1 Added software pixel remapper function to openGL renderer. 2020-06-29 22:24:34 -04:00
Matthew Budd 26fe3c7da5 Added logic to keep proper aspect ratio on SDL driven screen. 2020-06-29 21:13:05 -04:00
Matthew Budd 53dcb48a90 Successful test of SDL video driver inside QT window. 2020-06-29 10:11:02 -04:00
Matthew Budd 95d055da2c Renamed openGL based game viewer so to distinguish it from others that will be tested. 2020-06-29 08:15:26 -04:00
Matthew Budd 970afc2bea Added logic to use GL_TEXTURE_RECTANGLE instead of GL_TEXTURE_2D 2020-06-28 10:11:03 -04:00
Matthew Budd 59462545ca Gui controller calibration fixes and enhancements. 2020-06-27 21:08:02 -04:00
Matthew Budd 7ba7ef4b82 Include path fixes for qmake incorrectly marking sdl folder for heading includes. 2020-06-27 20:07:24 -04:00
Matthew Budd 1980dd8c5b Game Pad calibration page still in work. 2020-06-26 21:56:26 -04:00
Matthew Budd cb664b44a0 commented out debug print statement. 2020-06-26 20:32:44 -04:00
Matthew Budd 950004503b Hooked up checkboxes on gamepad config page. 2020-06-26 20:27:20 -04:00
mjbudd77 002e9e0f34 Added logic to configure gamepad buttons. Still needs more testing. 2020-06-26 16:35:41 -04:00
Matthew Budd ee02883ac7 QT gamepad window in work. 2020-06-26 12:46:48 -04:00
Matthew Budd f1153bfc6b Successful test of loading ROM via QFileDialog, changed logic to not use native gnome file dialog as it is very lagged. 2020-06-26 09:29:47 -04:00
Matthew Budd d6ff002af0 Added keyboard QT to SDL2 key conversion functionality. 2020-06-24 21:57:43 -04:00
Matthew Budd f53bbc8cde Added logic to close game and shutdown FCEU system on window close. 2020-06-23 23:04:10 -04:00
Matthew Budd 095415790c Cleaned up unnecessary test code. 2020-06-23 22:55:48 -04:00
Matthew Budd 0352483a19 Successful display of video in QT gui. 2020-06-23 22:51:10 -04:00
Matthew Budd be4c650238 Starting new QT gui. 2020-06-23 20:40:43 -04:00
Matthew Budd fb9ee25800 Bug fix for cmake install target. 2020-06-20 00:54:26 -04:00
Matthew Budd 70a77cbe41 Added install target to cmake. 2020-06-20 00:53:18 -04:00
Matthew Budd 9a30cce921 Fixed compiler warning for unchecked fgets return value. 2020-06-20 00:39:44 -04:00
Matthew Budd 6271d63ba6 Added cmake package check for zlib 2020-06-20 00:36:43 -04:00
Matthew Budd 714e7bbfb2 Added logic to make cmake output verbose. 2020-06-20 00:20:58 -04:00
Matthew Budd 36b9cf3fb3 Fixed references to print error function in win tas editor. 2020-06-20 00:13:08 -04:00
Matthew Budd cc15338ebb Cast const char * to char * to get past winbuild.... this is not the best way to go, but it works. 2020-06-20 00:06:47 -04:00
Matthew Budd 7919071a25 Cleaned up gcc compiler warning : ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings] 2020-06-19 23:58:12 -04:00