summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/debugger/debugwin.cpp
Commit message (Collapse)AuthorAgeFilesLines
* debugger/debugwin.cpp: Fixed clang build. Vas Crabb2025-03-021-2/+2
|
* debugger/win: Added option to disable window grouping. Vas Crabb2025-03-021-1/+10
| | | | | Option is in debugger console window Settings menu. Changes apply on hard reset or restarting MAME. Setting is saved to default.cfg.
* -merit/mtouchxl.cpp: Added touch-enabled layout. Vas Crabb2024-05-091-1/+1
| | | | | | -ui/tapectrl.cpp: Ensure device monitored for media change is up-to-date. -osd/windows: Changed a pointer to a const reference in an API.
* Update accumulating relative inputs exactly once per frame. Vas Crabb2023-02-241-1/+1
| | | | | | | | | | | | | This fixes "amplification" effects that would happen if the frame rate rose above 100 Hz (whether by unthrottling or otherwise). Synchronise with wall clock any time inputs are read. Not doing this has weird effects on relative inputs with frame skipping and contributes to unresponsiveness of menus. Reduce visual latency for mouse movement on menus when paused or skipping frames. The rest of the code changes to menus won't provide benefits until draw can happen after event handling.
* osd: Don't pump events when reading inputs. Vas Crabb2023-02-231-1/+1
| | | | | | This was a drain on performance. If anything is trying to poll inputs in a loop, it needs to call input_update() to ensure it gets up-to-date state.
* osd: Turned video modules into actual modules, fixed various issues. Vas Crabb2023-02-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-39/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* -debugger/win: Cascade positions of new debugger windows. Vas Crabb2023-01-151-0/+71
| | | | | -osd: Better button names for NVIDIA Shield and Xbox One controllers with SDL game controller module.
* Debugger updates: Vas Crabb2022-09-201-20/+26
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Added a crude dark theme for the Win32 debugger. Vas Crabb2022-09-171-3/+31
| | | | | | Also made a start on weaning the Qt debugger off its weird configuation objects. It can now save more view state with less string comparisons on memory labels, but it can't restore all of it yet.
* debugger/win: Added capability to save/restore window arrangement. Vas Crabb2022-09-161-7/+96
| | | | | | | | | * 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.
* Debugger expression and memory access overhaul AJR2020-05-251-1/+1
| | | | | | | | | | | | | - Memory references in expressions no longer default to the console's visible CPU if no device name was specified, except when entered through the console itself. Expressions in view windows now use the context of the currently selected device instead. - The pcatmem debug command and similar qt mouseover function now produce an error message if the initial address translation fails. Related internal changes (nw) - The debugger_cpu class no longer interprets memory accesses. The existing routines have been moved into symbol_table (which used to invoke them as callbacks), and reimplemented in most other places. Thecode duplication is a bit messy, but could be potentially improved in the future with new utility classes. - The cheat engine no longer needs to hook into the debugger_cpu class or instantiate a dummy instance of it. - The inclusion of debug/express.h within emu.h has been undone. Some debugging structures now need unique_ptr to wrap the resulting incomplete classes; hopefully the performance impact of this is negligible. Another direct consequence is that the breakpoint, watchpoint and registerpoint classes are no longer inside device_debug and have their own source file. - The breakpoint list is now a std::multimap, using the addresses as keys to hopefully expedite lookup. - The visible CPU pointer has been removed from the debugger_cpu class, being now considered a property of the console instead. - Many minor bits of code have been simplified.
* Revert "fixed some modernize-use-equals-default clang-tidy warnings (… (#6360) Oliver Stöneberg2020-04-081-1/+1
| | | | | | | * Revert "fixed some modernize-use-equals-default clang-tidy warnings (nw)" This reverts commit 54486ab9 * fixed merge error
* fixed some modernize-use-equals-default clang-tidy warnings (nw) (#6237) Oliver Stöneberg2020-01-301-1/+1
|
* scoped enum for Windows (nw) Vas Crabb2017-05-231-1/+1
|
* Cleanup, we already have NOMINMAX now in scripts (nw) Miodrag Milanovic2017-02-111-2/+0
|
* fix windows compile (nw) Miodrag Milanovic2017-02-111-1/+1
|
* Change window handle storage to template instead of void* (nw) (#1725) Brad Hughes2016-11-171-1/+1
| | | | * Change window handle storage to template instead of void* (nw)
* std::min and std:max instead of MIN and MAX, also some more macros converted ↵ Miodrag Milanovic2016-07-311-0/+2
| | | | to inline functions (nw)
* Don't raise stuff to public unnecessarily (nw) Vas Crabb2016-07-021-2/+2
|
* more cleanup (nw) Miodrag Milanovic2016-07-011-19/+20
|
* Move window_list to osd_common_t Brad Hughes2016-06-111-1/+1
|
* Unify window_list in Windows and SDL OSD Brad Hughes2016-06-101-1/+1
|
* Major refactoring of debugger core [Ryan Holtz] therealmogminer@gmail.com2016-06-081-2/+3
| | | | | | | | * Eliminate globals/file statics * Remove lots of stuff from global scope * Use std::function for custom command registration * Eliminate some trampolines * Build fixes from Vas Crabb and balr0g
* Revert "Temp revert of Brad changes (nw)" Miodrag Milanovic2016-04-251-1/+1
| | | | This reverts commit 5e831f6506ee06f8c30cb113551ee0fec53804db.
* Temp revert of Brad changes (nw) Miodrag Milanovic2016-04-251-1/+1
|
* Various cleanups suggested by static analyzer (nw) Miodrag Milanovic2016-04-241-10/+10
|
* Refactor OSD window. Brad Hughes2016-04-211-1/+1
| | | | | | | | | | Unified renderer in osd_window as std::unique_ptr Made windows all std::shared_ptr<window_type> Made window lists std::list<std::shared_ptr<window_type>> Updated OSD SDL worker_param to not use malloc (not compatible with smart pointers) Made renderer pointer to window a weak reference. May not be available during destruction of the window.
* Standardize platform window pointer storage in osd_window. Brad Hughes2016-04-181-1/+1
| | | | Also encapsulate show/hide capture/release cursor functionality.
* Iterate over core classes C++11 style AJR2016-03-311-6/+6
| | | | | | | | C++11 range-based for loops can now iterate over simple_list, tagged_list, core_options, device_t::subdevice_list, device_t::interface_list, render_primitive_list and all subclasses of the above, and much code has been refactored to use them. Most core classes that have these lists as members now have methods that return the lists themselves, replacing most of the methods that returned the object at an owned list's head. (A few have been retained due to their use in drivers or OSD.) device_t now manages subdevice and interface lists through subclasses, but has given up the work of adding and removing subdevices to machine_config. memory_manager has its tagged lists exposed, though the old rooted tag lookup methods have been removed (they were privatized already).
* Refactor OSD input into modules Brad Hughes2016-02-281-3/+4
|
* fixing some more override (nw) Miodrag Milanovic2015-12-061-16/+16
|
* Initial conversion of core to C++14. Note that compilers are now limited to ↵ Miodrag Milanovic2015-12-031-2/+2
| | | | GCC 4.9.0 and up, Clang 3.4.0 and up, and VS2013 and up [Miodrag Milanovic]
* more cleanups and fix (nw) Miodrag Milanovic2015-11-111-2/+0
|
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-0/+267