summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/imagedev/picture.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Restored ability of for image devices to report specific error messages. Vas Crabb2023-04-081-5/+9
| | | | | | | | | | | | | | Restores ability to give specific/detailed messages removed in 6f7e4141ea14acaaf9cb973c66788fabb3457023 while pandering to obsession with single return value. Moved responsibility for displaying the error message in the UI to the caller rather than device_image_interface, and made device_image_interface always log the error along with the full path and error condition content. Gave several image devices more detailed error messages. Added some FIXME comments for apparent bugs.
* -Improved some Lua APIs: Vas Crabb2023-04-071-4/+1
| | | | | | | | | | | | | | | | * Moved several machine lifecycle callbacks to the notifier/subscriber model. The old callback registration model is still available for them for now, but prints a deprecation warning. * Added pre-save/post-load notifications. * Use a single allocated timer rather than one anonymous timer per waiter. Waiters no longer prevent saved states from being loaded. * Clean up outstanding waiters on stop or state load rather than just leaking them. * Started documenting parts of the emulator interface object that should be relatively stable. -imagedev/avivideo.cpp: Fixed an object leak on unload. Also changed some other media image devices to use smart pointers.
* API change for device_image_interface AJR2023-03-301-2/+5
| | | | | | | | | - Remove the seterror method for recording error messages and conditions. Condition codes have been made return values for call_load, call_create and various related callbacks. Error messages (which many devices weren't generating) are now displayed through osd_printf_error. - Eliminate the image_init_result and image_verify_result pass/fail enumeration types. Update many functions that were returning these enumerations or simply bools to return std::error_condition instead. In some cases, this type is now passed down from internal parsing/loading functions which were already returning it. In various other cases, the former default UNSPECIFIED has been used as a catchall for I/O errors; anticipated future refactorings should make these error returns more specific. - Expand the image_error categories to include INVALIDLENGTH, NOSOFTWARE and BADSOFTWARE. The first is largely self-explanatory. The second is generated by the core to indicate failure to find software items in lists. The third is provided for devices to indicate semantic errors in software list entries. - Change the return type of floppy_image_device::identify to a pair so the potential error condition can be passed along to the UI without storing it in a member variable. - Move device_image_interface::message down into snapshot_image_device and change its implementation to use string_format instead of printf. - Correct a typo in the shortname of the generic snapshot device.
* dfs500: fixed crash at start and did srcclean on it. Also srccleaned ↵ Robbbert2020-10-251-17/+17
| | | | picture.cpp because of excessive spaces.
* Various improvements to image file handling: Vas Crabb2020-10-081-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | Moved MS DIB parser out of ICO file reader and made it available for artwork and layout images. Added more efficient I/O and better error checking for JPEG file loading (MAME will no longer exit immediately on a bad JPEG file). Made caller responsible for opening files for loading images, to avoid decompressing images used in ZIP/7z artwork multiple times. Added support for JPEG and Windows DIB to picture_image_device. Added support for SVG image files in external artwork. Added support for using I/O port value for animation state and masking animation state values. Made bounds elements more flexible in layouts. Reworked headers to reduce dependencies. Updated layout file format documentation.
* -bus/hp_dio/hp98544.cpp: Don't crash when cursor is outside screen area. Vas Crabb2020-09-281-14/+5
| | | | -imagedev/picture.cpp: Get rid of indirection to the bitmap.
* picture_image_device: clean up properly if the PNG load fails (nw) arbee2019-08-101-2/+6
|
* apple2: save states and file manager hotloading image support for ↵ arbee2019-08-101-0/+5
| | | | ComputerEyes (nw)
* Add still-frame PNG image device for use by digitizers/cameras/etc. [R. Belmont] arbee2019-08-091-0/+64
Other formats can be added, we already have libjpeg in 3rdparty/.