summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/src/osd/modules.lua
Commit message (Collapse)AuthorAgeFilesLines
* osd: target Windows 10 API Patrick Mackinlay2026-04-071-9/+0
| | | | * remove MODERN_WIN_API flag
* Remove leftover end from Lua script. Vas Crabb2026-04-051-1/+0
|
* Move build system adjusttment and fixes: Vas Crabb2026-04-051-40/+22
| | | | | | | | | * Bumped minimum clang version to 13 - clang 12 is just too buggy. * Assume Qt 6 will be used, dropped Qt 5 support. * Fixed finding Qt headers on Fedora and hopefully other distros. * Always use static SDL2 on Windows. * debugger/qt/debuggerview.cpp: Fixed build with Qt < 6.6. * imgtool/modules/vzdos.cpp: Fixed build with Linux GCC 11.
* Fixed Qt debugger build on Windows with clang. Vas Crabb2026-04-041-0/+5
| | | | | | Qt provides inline definitions of dllimport functions, which causes a warning. There are too many of them to practically leave the warning enabled for this module.
* Fix up more stuff for upgraded tools, etc. Vas Crabb2026-04-041-4/+16
| | | | | | | | | | | docs: It's no longer possible to get a working Qt 5 setup with MSYS2, and there's no 32-bit Qt 6 package. Updated docs to reflect this. Use Qt 6 on Windows, use qmake to find moc. Fixed linking on Windows with static SDL3. input/input_dinput.cpp: Support SDL3.
* Various cleanups: Vas Crabb2026-04-041-6/+0
| | | | | | | | | | * emu/device.cpp: Take std::string_view tag in constructor. * emu/save.cpp: Cleaned up interface for reporting error messages. * docs: Cleaned up stuff that's no longer relevant. * machine/s3c44b0.cpp: Overhauled logging. * osd/modules/lib/osdobj_common.cpp: Removed CoreAudio options that no longer do anything. * Cleaned up some more stuff to prepare for 64-bit offs_t.
* Initial support for SDL3. [R. Belmont, Vas Crabb] arbee2026-02-071-0/+5
| | | | | | | | | * SDL3 is the default for macOS targets. Linux/Windows can build with OSD=sdl3 while we wait for better distro support for SDL3. Both X11 and Wayland sessions are fully supported on Linux. * SDL3 -sound=sdl supports both input and output. All other video, sound, and input functionality should otherwise be the same for now. SDL 3.4+ multiple keyboard/mouse support is planned.
* Improved support for building on Windows arm64. Vas Crabb2025-09-211-4/+4
|
* sound: Olivier Galibert2025-06-171-0/+1
| | | | | | | | move positions to osd interface add special-casing for LFE add reverb (currently too subtle, need to find out why) vgm_visualizer: stop going OOB on the bitmap
* -sound: Removed DirectSound sound module. Vas Crabb2025-05-291-1/+0
| | | | | -sound/xaudio2_sound.cpp: Use more fine-grained locking in voice callbacks, simplified further simplified buffer queueing.
* -sound/wasapi_sound.cpp: Added preliminary WASAPI sound module (not enabled ↵ Vas Crabb2025-05-251-0/+1
| | | | | | | | | yet). -sound/xaudio2_sound.cpp: More fixes: * Fixed a couple more potential deadlocks when handling critical engine errors. * Better tracking of the default device when devices are reconfigured.
* sound/xaudio2_sound.cpp: Initial support for new sound system features. Vas Crabb2025-05-231-0/+2
|
* modules.lua: only check for pipewire lib if NO_USE_PIPEWIRE is 0 hap2025-05-071-4/+5
|
* New sound infrastructure. Olivier Galibert2025-04-271-0/+42
| | | | | | | | | | | | | | | | | Should be added soon: - mute - speaker/microphone resampling To be added a little later: - compression - reverb Needs to be added by someone else: - coreaudio - direct - portaudio - xaudio2 - js
* osd: Got rid of the gross globals and functions for manipulating them in the ↵ Vas Crabb2025-04-231-2/+2
| | | | network modules.
* build: Fixed QT6 build for macosx (#13510) holub2025-03-221-5/+14
|
* 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