From 051c380fd14040c83a0d5b919e6289e70fef9df8 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Fri, 2 Sep 2022 08:55:16 +1000 Subject: Patched up some gaps in functionality and fixed some bugs. ui: Added some missing functionality: * Added an option to copy input device IDs to the relevant menus. * Added an item for setting the software lists files path (-hashpath) to the folder setup menu. * Allow pasting text from clipboard in most places that allow typing (searching, entering filenames, entering barcodes). * Changed the software selection menu heading to be a bit less misleading. * Made barcode menu less eager to rebuild itself unnecessarily, and removed some confusing and apparently pointless code. Exposed more Lua bindings: * Added low-level palette objects. * Added indexed bitmap types. * Added a bitmap method for extracting pixels from a rectangular area as a packed binary string. * Changed screen device pixels method to return width and height in addition to the pixels. osd: Added some functionality and cleaned up a little: * Added a function for copying text to the clipboard. * Moved function for converting Windows error codes to standard error conditions to winutil.cpp so it can be used from more places. * Removed duplicate declaration of osd_get_clipboard_text and made the function noexcept (including fixing implementations). * Made macOS implementation of osd_get_clipboard_text skip the encoding conversion if it finds UTF-8 text first. * Changed the default -uimodekey setting so it doesn't lose the "not shift" that stops the default from interfering with UI paste. Various bug fixes: * util/unicode.cpp: Fixed the version of utf8_from_uchar that returns std::string blowing up on invalid codepoints. * util/bitmap.h: Fixed wrapping constructors for indexed bitmaps taking the wrong parameter type (nothing was using them before). * util/bitmap.cpp: Fixed potential use-after-free issues with bitmap palettes. * emu/input.cpp, emu/inputdev.cpp: Log 1-based device numbers, matching what's shown in the internal UI and used in tokens in CFG files. * emu/emumem.cpp: Added the bank tag to a fatal error message where it was missing. docs: Reworked and expanded documentation on configuring stable controller IDs. For translators, the changes are quite minor: * There's a menu item for copying a device ID to the clipboard, and associated success/failure messages. * There's the menu item for setting the software list file search path. * One of the lines in the software selection menu heading has changes as it could be interpreted as implying it showed a software list name. --- src/emu/inputdev.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/emu/inputdev.cpp') diff --git a/src/emu/inputdev.cpp b/src/emu/inputdev.cpp index dacffbc2e56..2ce5720cf9b 100644 --- a/src/emu/inputdev.cpp +++ b/src/emu/inputdev.cpp @@ -519,9 +519,9 @@ input_device &input_class::add_device(std::unique_ptr &&new_device m_maxindex = std::max(m_maxindex, devindex); if (new_device->id()[0] == 0) - osd_printf_verbose("Input: Adding %s #%d: %s\n", m_name, devindex, new_device->name()); + osd_printf_verbose("Input: Adding %s #%d: %s\n", m_name, devindex + 1, new_device->name()); else - osd_printf_verbose("Input: Adding %s #%d: %s (device id: %s)\n", m_name, devindex, new_device->name(), new_device->id()); + osd_printf_verbose("Input: Adding %s #%d: %s (device id: %s)\n", m_name, devindex + 1, new_device->name(), new_device->id()); m_device[devindex] = std::move(new_device); return *m_device[devindex]; -- cgit v1.2.3-70-g09d2