summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/src/osd/modules.lua
Commit message (Collapse)AuthorAgeFilesLines
* Use qmake to query Qt libexec directory to find moc. (#12870) Michael Cho2024-10-131-6/+10
|
* Initial touch input support: Vas Crabb2024-04-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Feed mouse/pen/touch pointer events through UI input manager with Win32 and SDL. * Started migrating UI code to use new API and reworking mouse/touch interaction. * emu/render.cpp: Support pressing multiple clickable layout items simultaneously. * emu/render.cpp: Allow UI elements to be drawn in any window. * emu/rendlay.cpp, luaengine_render.cpp: Added layout view events for pointer input. * ui/ui.cpp: Allow the UI handler to control pointer display. * ui/analogipt.cpp: Added mouse/touch and more keys for navigating field state list. * ui/menu.cpp: Use vertical swipe to scroll and horizontal swipe to adjust. * ui/menu.cpp: Draw after processing input - greatly improves responsiveness. * ui/menu.cpp: Ignore keyboard/gamepad input during pointer actions. * ui/selmenu.cpp: Made left/right info pane arrows repeat when held. * ui/selmenu.cpp: Use middle click to move keyboard focus. * ui/selmenu.cpp: Let filter list scroll if it's too tall, and use a bit of horizontal padding. * ui/selmenu.cpp: Improved divider sizing. * ui/state.cpp: Don't allow clicks to pass through the confirm deletion prompt to the menu. * ui/simpleselgame.cpp: Fixed error message display and graphics/sound status not showing. * ui/simpleselgame.cpp: Allow tap/click to dismiss error message. * ui/utils.cpp: Show UI for choice filters when there are no choices - it's less confusing. * modules/input/input_sdl.cpp: Made scaling for mouse scroll better match RawInput and DirectInput. * modules/input/input_rawinput.cpp: Added support for horizontal scroll axis. * modules/input/input_win32.cpp: Added support for scroll axes and more buttons to mouse/lightgun. * modules/debugger/debugimgui.cpp: Don't fight over events with the UI manager - it breaks menus. * osd/windows/window.cpp: Translate mouse position to window cooridinates for scroll wheel events. * osd/sdl/window.cpp: Supply last mouse position for scroll wheel events if possible. * scripts/build/complay.py: Made zero input mask an error - it was only being used to block clicks.
* osd: Cleaned up MIDI and network interfaces a little more. Vas Crabb2024-03-011-0/+1
|
* osd/osdnet.cpp: Removed dependency from OSD network device to libemu. (#12058) Vas Crabb2024-02-251-0/+2
| | | | * This allows save states to be created and loaded when network interfaces are present. * device_network_interface may need some more attention to get save states taken while receiving a packet to work properly.
* modules.lua: Remove stray MOC setting after the Qt6 Linux support change ↵ Jindřich Makovička2023-07-181-1/+0
| | | | (#11419)
* Allow the use of either Qt5 or Qt6 on Linux (#11413) Jindřich Makovička2023-07-141-10/+26
| | | | | | * Look for MOC in QT_HOME/libexec if not found in QT_HOME/bin * Use the Qt6* libraries if the Qt version is >= 6 * Switch the include paths for QAction & QActionGroup for Qt >= 6 * Replace the deprecated + operator for keys with |
* Removed local copy of SDL source and update Android build support. (#10899) Miodrag Milanović2023-02-271-2/+10
| | | | | | | | | * Removed SDL2 source. * Updated gradle. * Updated SDL2 Java support glue code. * Increased minimum supported Android API version to 24. * Updated required asset files for Android app. * Added proper tag for Android logging. * Added SDL2 hint to make BGFX work on Android.
* Input refactoring: Vas Crabb2023-02-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | osd/modules/input, emu/inpttype.cpp: Made most default joystick assignments supplied by input modules. Input modules take available controls into consideration when generating default assignments. emu/inpttype.ipp: Added a separate "Back" UI input separate from Cancel. You may want an easier to hit combination for moving to the previous menu than for exiting or cancelling input. They both default to Escape. emu/inpttype.ipp: Added a UI Help control. Currently only used by analog inputs menu emu/inpttype.h: Moved I/O port field type enum to its own header and sorted UI controls so they appear in a more logical order. ui: Don't use UI Select to restore defaults - people should be getting used to the UI Clear input by now. UI Select cycles multi-value items instead. ui/inputmap.cpp: Don't use immediate cancel to cycle between clearing and restoring default assignment (use UI Clear instead). osd: Reduced the number of files needing to include the dreaded emu.h. Got some implementation out of headers.
* Small batch of input refactoring: Vas Crabb2023-02-051-0/+2
| | | | | | | | | | | | | | | | | | | | | emu/input.cpp: Fixed regression in display of some joystick inputs. osd/interface: Split up interface classes into a few more files to reduce where the input device interface class needs to be included. Made OSD independent of concrete input_device class. osd/modules/input, emu/inputdev.cpp, emu/ioport.cpp: Allow input devices to provide tokens for controls without standard item types and additional default input assignments. Fixes issues assigning Yen and Backslash on Japanese keyboards. ui/textbox.cpp: Added a fixed-content text box menu class for future use. Got main.h out of emu.h as it’s only used in a very small number of places, mostly for getting the application name. Added eminline.h to attotime.h as it's used without emu.h. Cleaned up forward declarations in emufwd.h a little.
* osd: Turned video modules into actual modules, fixed various issues. Vas Crabb2023-02-011-43/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't ignore the return status of OSD module initialisation. Attempt to fall back to an alternate module if the selected module fails to initialise. Log more useful diagnostic information at verbose level. Fixed BGFX crash on exit after toggling fullscreen. Also persist more settings than just the selected chains across toggling fullscreen. Turned video modules into OSD modules in the same sense as all the other OSD modules. They now use the same selection/fallback mechanism as all the other modules without special extra code in the OSD implementations. Untangled some object ownership mess. Windows own renderers, OSD objects own windows. Fixed a refrence loop that caused the first window object to always leak. Don't create renderer object until after underlying window has been created. Fixed issues with order of creation/destruction when toggling fullscreen or changing prescale in fullscreen with -switchres in SDL builds. Use more smart pointers in BGFX and Direct3D render modules. Most of the code now reutrns a smart pointer when handing over ownership or a naked pointer when retaining ownership. Fixed a few leaks and simplified cleanup code. Encapsulated various OSD modules better.
* Various input and OSD refactoring: Vas Crabb2023-01-291-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | osd: Supply OSD object to modules on initialisation. Encapsulated some event handling in the OSD objects rather than leaving it in free functions. Put various stuff in namespaces. osd/modules/input: Enabled dinput, xinput and winhybrid modules for Windows SDL builds, and enabled background input for dinput and xinput (and by extension winhybrid) modules. Also fixed some COM and X11 resource leaks. osd/modules/input/input_sdl.cpp: Flipped SDL mouse button order to match Windows, and exposed vertical and horizontal scroll as Z and rZ axes. Moved SDL UI event handling out of input devices into OSD object. osd/modules/input_rawinput.cpp: Changed lightgun Z axis token so it's correctly identified as a relative axis (it maps to the scroll wheel equivalent). osd: Added an option to choose the network provider module. Mostly useful if you build with both TUN/TAP and pcap support included, or if you want to disable emulated networking completely. emu/input.cpp: Use a better strategy for assembling input code names that uses fewer temporary strings and doesn't require use of the non-Unicode-aware space trimming function (fixes MT08552). osd/modules/input_dinput.cpp: Improved polling logic. osd: Made various parts of the input code less dependent on concrete emu objects, and reduced inappropriately passing around the machine object. Made input modules less dependent on OSD implementation. Encapsulated some stuff and got rid of some vestigial newui and SDL1 support code. Cleaned up some interfaces. Moved OSD options classes to their own files. Prepare to remove main.h from emu.h - it's mostly used to get the application name, which the vast majority of emulated devices don't need to do.
* Update BGFX, BX and BIMG (#10789) Miodrag Milanović2023-01-051-0/+1
| | | | * Update to bgfx a93a714632b79b5ddbf5c86ac323fa9b76ed3433 Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
* Revert "Update BGFX, BX and BIMG (#10750)" (#10787) R. Belmont2023-01-041-1/+0
| | | This reverts commit 5581eaa50a42256242f32569f59ce10d70ddd8c2 due to link failure on macOS.
* Update BGFX, BX and BIMG (#10750) Miodrag Milanović2023-01-041-0/+1
| | | | * Update to bgfx a93a714632b79b5ddbf5c86ac323fa9b76ed3433 Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
* -debugger: Improved session save/restore. Vas Crabb2022-12-021-5/+3
| | | | | | | | | | | | * Qt: Save expression for memory and disassembly views. * Qt: Made command history behave more like Cocoa. * Qt: Added expression history and made behaviour more like Cocoa. * Qt: Refactored global notifications to use signals. * Win32: Increased command/expression history size to 100 items. * Cocoa: Save state of device info viewer windows. * Qt/Win32/Cocoa: Save command/expression history. -util/xmlfile.cpp: Fixed bug where copyInto failed to copy nodes.
* Debugger updates: Vas Crabb2022-09-201-9/+9
| | | | | | | | | | | | | | | | | | | | | | | Made closing the Qt debugger console window hide all debugger windows and run the emulated machine (debugger windows will be shown on next user break or breakpoint hit). This matches the behaviour of the Win32 and Cocoa debuggers. Made Qt debugger clean up its windows on exit rather than on subsequent starts. This fixes GitHub #9789. Made Qt debugger less reliant on global variables, and made code to save and load configuration a bit less convoluted. It still needs more refactoring on this front, but it's in slightly better shape now. Made Qt debugger a bit less crashy on invalid configuration. Still plenty of ways to crash it, but every little bit counts. Made Qt debugger do less comparisons on menu item names and object names - it might be possible to localise one day. Moved all the C++ debugger implementations into namespaces. They're using awfully generic class names, so it's about time.
* debugger/win: Added capability to save/restore window arrangement. Vas Crabb2022-09-161-0/+2
| | | | | | | | | * Format is mostly compatible with the Cocoa debugger, besides reversed vertical positioning. * Made Qt debugger more compatible with configuration format used by Win32 and Cocoa debuggers. * emu/config.cpp: Preserve elements with no registered handlers in default and system configuation files.
* Optimisation, and baby steps towards untangling stuff: Vas Crabb2022-06-161-0/+5
| | | | | | | | | | Optimised the scheduler's handling of unscheduled timers - gives a 50% performance improvement in some timer-heavy drivers. Added better endianness swizzling helpers. Got rid of some of the OSD input modules' dependence on concrete input classes from emu.
* clang fixes smf-2021-11-191-0/+6
|
* Remove uwp specific sources Miodrag Milanovic2021-10-261-1/+0
|
* Compile bgfx Miodrag Milanovic2021-08-101-1/+0
|
* sound: Pulseaudio support Olivier Galibert2021-04-161-0/+29
|
* -bgfx: Corrected a data overrun in the d3d12 backend from allocating only ↵ Ryan Holtz2020-06-201-0/+38
| | | | enough texture data for width*height, not rowpixels*height. [Ryan Holtz]
* Removed winpcap and cleaned up network module selection. Vas Crabb2020-03-051-4/+33
| | | | | | | | (nw) The pcap.h header itself has the problematic original BSD license, including the obnoxious advertising clause. Using tap/tun networking on Windows provides a much better experience, so the extra setup is worth it. This patch also allows you to enable pcap on platforms where it's disabled by default with USE_PCAP=1 if you really want to use it.
* Add include folder 3rdparty/bgfx/3rdparty/khronos too (nw) yz70s2019-10-131-0/+1
|
* Preliminary Mac native OSD. Not working yet. [R. Belmont] arbee2019-09-151-0/+2
| | | | | | | | This will compile, link, and run a driver all the way to the first info screen, provided you use -video bgfx. However, although there's a valid NSWindow created, it never actually appears on screen for unknown (but likely silly) reasons. Inputs are not implemented and fullscreen exists but is untried.
* gdbstub: added new GDB stub debugger (#5456) Ramiro Polla2019-08-111-0/+1
| | | | | | | | | | | | * gdbstub: added new GDB stub debugger This debugger can be used to connect to an external debugger that communicates using the GDB Remote Serial Protocol, such as GDB itself or many other GDB frontends. Currently i386 (ct486), arm7 (gba), and ppc (pmac6100) are supported. * gdbstub: enable GDB stub debugger in mac and windows builds
* fix vsllvm configuration feos2019-06-031-0/+1
| | | | | | - dxsdk was missing from includes - winmm was missing from libs - narrowing warning was silenced for VS, but not from vsllvm, where it leads to an error in menu_video_options::handle()
* Enable use of system-wide asio, glm and rapidjson (#3172) Julian Sikorski2018-02-081-2/+2
| | | | | | | | | | | | * Fixed building using system utf8proc * Fixed building using system portaudio * Allow using system-wide asio headers (1.11.0 or higher required). * Allow using system-wide glm headers * Allow using system-wide rapidjson headers
* -bgfx: Abstracted some view-related functions into bgfx_view class, nw mooglyguy2018-01-131-0/+1
|
* remove qtmain on windows, it conflicts with SDL2_Main (nw) smf-2017-12-261-1/+0
|
* Remove emu.h from headers (nw) Olivier Galibert2017-02-111-9/+9
| | | | | | | | | | | | Per Vas' request. If the compile fails for you (i'm thinking osx and windows native debuggers here in particular), add '#include "emu.h"' as first include of the cpp files that fail. Due to our use of precompilation and forced inclusion, emu.h must be included as the very first non-comment thing we do if we want to be sure msvc compiles are identical to gcc/clang ones. Doing it directly instead of through an include increases the correctness probability by a magnitude.
* Fixed building using system portaudio Julian Sikorski2017-01-261-0/+4
|
* Initial PortAudio backend with build script changes to support library ↵ inte alls2017-01-111-0/+25
| | | | version 20161030
* Add basic keyboard input to UWP (nw) Brad Hughes2016-11-111-0/+1
|
* ASIO - header only mode (nw) Miodrag Milanovic2016-11-021-1/+0
|
* Replaced code usage of libuv with asio library (nw) Miodrag Milanovic2016-10-071-13/+2
|
* Convert OSD monitor info to modules plus add DXGI implementation Brad Hughes2016-09-141-0/+6
|
* Add Lua-cleaning ability to srcclean Vas Crabb2016-08-301-2/+2
|
* Merge pull request #1072 from oxc/pkg_config_from_env R. Belmont2016-07-161-3/+11
|\ | | | | Take pkg-config path from env if defined
| * Take pkg-config path from env if defined Bernhard Frauendienst2016-07-091-3/+11
| |
* | balance configuration macros in genie scripts Vas Crabb2016-07-131-5/+6
|/
* Add a couple msys2 updated mingw headers to winsdk-override to support linux ↵ Brad Hughes2016-07-021-5/+3
| | | | cross-compile with stock mingw-w64 (nw)
* Added initial ninja support to use add MAKETYPE=ninja to compile command ↵ Miodrag Milanovic2016-06-091-1/+1
| | | | | | line (nw) Custom build tasks are not yet working
* Placed back old output system as module "-output windows" need more things ↵ Miodrag Milanovic2016-06-051-0/+2
| | | | cleaned (nw)
* no deps between osd and frontend, internal debugger removed (nw) Miodrag Milanovic2016-05-061-4/+0
|
* enabled internal debugger, but this would need to go in time, it is too ↵ Miodrag Milanovic2016-04-231-0/+4
| | | | coupled with UI (nw)
* Split UI and frontend part from core [Miodrag Milanovic] Miodrag Milanovic2016-04-231-1/+0
|
* Create diagnostic module for profiling and crash diagnostics Brad Hughes2016-04-171-0/+3
|
* Add AVI writing to bgfx, nw therealmogminer@gmail.com2016-04-171-0/+2
|