summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/video.h
Commit message (Collapse)AuthorAgeFilesLines
* schedule/timer: be more consistent with s32 param hap2023-12-111-1/+1
|
* Remove fileio.h from emu.h AJR2022-02-111-1/+1
|
* Remove void *ptr parameter from emu_timer, timer_device and all related ↵ AJR2022-01-261-1/+1
| | | | callbacks
* plugins: Moved the timecode recording functionality to a plugin. Vas Crabb2021-11-021-17/+0
|
* formats, osd, util: Started refactoring file I/O stuff. (#8456) Vas Crabb2021-08-221-1/+3
| | | | | | | | | Added more modern generic I/O interfaces with implementation backed by stdio, osd_file and core_file, replacing io_generic. Also replaced core_file's build-in zlib compression with a filter. unzip.cpp, un7z.cpp: Added option to supply abstract I/O interface rather than filename. Converted osd_file, core_file, archive_file, chd_file and device_image_interface to use std::error_condition rather than their own error enums. Allow mounting TI-99 RPK from inside archives.
* More Lua interface cleanup - it's simpler with cleaner underlyng APIs. Vas Crabb2020-12-271-3/+2
| | | | | | | | | | | Made the sound manager mute controls readable, and got rid of system enable since it just controls system mute anyway. This was causing confusion: phantom2 was trying to use both independentlyt casuing the mute bit to be ignored. THe Lua interface changes are mostly changing methods to properties, some renames to make things clearer, and some additional properties for better control over snapshots.
* Fix some oversights and emergent behaviour with view selection. Vas Crabb2020-12-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Exposed the "native snapview" option on the video manager. Trying to use presence of a single view is a poor proxy that breaks with multi-screen systems. Allow rotation to be changed for native snapshot views, and disable the zoom to screen area control when it has no effect on the selected view. Treat an empty string identically to "auto" for view selectction. Previously this was being used for prefix matching so it would force the first view. (This caused the bad snapshot view selection. It had been relying on "internal" not being a common view name prefix so it fell through to automatic selection, but when changed to an empty string it forced the first view.) Documented "auto" as well as "native" for the -snapview option and changed the default to auto rather than an empty string for consistency with the -viewN options. Added [w]string_view handlers to the stuff that's instantiated in strformat.cpp since we'll be increasingly using them. Cleaned up and updated some documentation.
* More Lua engine clean-up and documentation, resulting in core cleanup. Vas Crabb2020-12-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More Lua interface cleanup, additional properties and methods, and documentation migration/expansion. Emulated switch inputs can have "not" codes applied to host input axis directions. It works the same way as host switch inputs - push twice for a "not" prefix. Input polling helpers no longer need to store state in the input device items. There’s less leakage, and less chance of things interfering with each other. Allow snapshot view options to be configured through the internal UI via the video options menu. Made video options menus place initial focus on the currently selected view item. Removed some crud from the menu base class. Fixed the description of the "snapview" option. The value to get raw screen pixels was changed to "native" a long time ago but the description was never updated. Re-arranged the Golden Poker button lamps so that the 6-button layouts for Jolli Witch and Wild Witch make sense. In 6-button mode, the hold buttons double as bonus game and bet buttons, but the lamp outputs don't change. The simplest way to deal with this without requiring the user to switch views or using layout scripting is to place the dedicated buttons directly below the hold buttons that correspond to them. Removed some software list data that was redundantly copied into device_image_interface (m_supported was never even set, so it didn't even work), and made crc() work better (previously it wasn't recalculuated after unloading and loading another image). Made strformat.h and devcb.h play nicer with C++17 and pre-standard C++20. Format precision now correctly limits the length of string views. Confirmed that strformat.{h,cpp} works with pre-standard C++20 support in GCC 9. Removed an auto_alloc from cpu/arm7.
* video: frameskip setting is now upper frameskip limit when autoframeskip ↵ hap2020-06-141-0/+1
| | | | setting was enabled (nw)
* Refactoring of AVI/MNG recording code (#6537) npwoods2020-04-221-50/+9
| | | | | | | | | | | | | | * Initial refactor of AVI/MNG movie recording, consolidation of copy and paste code, hiding of AVI/MNG behind interfaces * Extracted recording specific code out of src/emu/video.cpp and put into src/emu/recording.cpp * Took the opportunity to move slightly more logic out of video.cpp into recording.cpp * Bug fix * Consolidated frame counting logic
* Remove up to one frame of input latency. (#5901) antonioginer2019-11-161-0/+1
| | | | | | | | | | * Remove up to one frame of input latency. Makes MAME virtually lagless on VRR monitors. * Use empty parentheses and clean interface member calls * Add new option -instant_blit to make this feature optional * Rename new option to -lowlatency, -ll
* (nw) keep a persistent temporary palette buffer in bgfx chain manager, back ↵ Vas Crabb2019-10-251-1/+0
| | | | out some unintentional screen changes
* -screen: Added support for screens that vary horizontal width mid-frame, and ↵ MooglyGuy2019-10-241-0/+1
| | | | hooked it up to the SNES driver. Fixes dkongcu intro and others. [Ryan Holtz]
* Making video_manager::effective_frameskip() public and exposing via LUA npwoods2019-07-181-1/+1
|
* luaengine: video:size(), video:pixels(), screen:refresh_attoseconds() feos2019-07-121-0/+2
| | | | | | pixels() and size() correspond to internal game resolution covering all screens and internal pixel colors. the same values are used for bitmap dumping. similar things available for screen_device lua library take into account final UI resolution and colors, so they can't be used when accurate framebuffer is needed. refresh_attoseconds() allows to calculate precise numerator and denominator for framerate
* video.h: get rid of LCD_FRAMES_PER_SECOND (nw) hap2018-10-101-3/+0
|
* better handling for arbitrary numbers of screens (nw) Vas Crabb2018-03-121-2/+2
|
* Remove all uses of first_screen() from core files, nw Ryan Holtz2018-03-111-11/+39
|
* general cleanup: Vas Crabb2017-05-231-9/+2
| | | | | | | | | | | * move rarely-used output and pty interfaces out of emu.h * consolidate and de-duplicate forward declarations, also remove some obsolete ones * clean up more #include guard macros * scope down a few more things (nw) Everyone, please keep forward declarations for src/emu in src/emu/emufwd.h - this will make it far easier to keep them in sync with declarations than having them scattered through all the other files.
* Fix debug build by removing vestiges of -dummywrite (nw) AJR2017-03-021-3/+0
|
* Introduce u8/u16/u32/u64/s8/s16/s32/s64 Vas Crabb2016-11-191-20/+20
| | | | | | | | | | | | * New abbreviated types are in osd and util namespaces, and also in global namespace for things that #include "emu.h" * Get rid of import of cstdint types to global namespace (C99 does this anyway) * Remove the cstdint types from everything in emu * Get rid of U64/S64 macros * Fix a bug in dps16 caused by incorrect use of macro * Fix debugcon not checking for "do " prefix case-insensitively * Fix a lot of messed up tabulation * More constexpr * Fix up many __names
* more TRUE/FALSE cleanup (nw) Miodrag Milanovic2016-10-221-4/+4
|
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-14/+14
| | | | | Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8 also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
* some bool <-> int not needed conversions, also cleaned drivenum.* was using ↵ Miodrag Milanovic2016-10-211-1/+1
| | | | memset for clearing vector (nw)
* Fix -nodebug crash (nw) therealmogminer@gmail.com2016-06-081-1/+1
|
* Make osd_file a polymorphic class that's held with smart pointers Vas Crabb2016-03-141-7/+9
| | | | | | | | | | | | | | | Make avi_file a class that's held with smart pointers, encapsulate various AVI I/O structures Make zip_file and _7z_file classes rather than having free functions everywhere Hide zip/7z class implementation behind an interface, no longer need to call close() to send back to the cache Don't dump as much crap in global namespace Add solaris PTY implementation Improve variable expansion for SDL OSD - supports ~/$FOO/${BAR} syntax Rearrange stuff so the same things are in file module for all OSDs Move file stuff into its own module 7z/zip open and destruct are still not thread-safe due to lack of interlocks around cache access Directory functions still need to be moved to file module SDL OSD may not initialise WinSock on Windows
* Cleanups and version bump Miodrag Milanovic2016-02-241-9/+9
|
* Extend mame LUA api (nw) Jeffrey Clark2016-02-141-1/+1
|
* Added new options: Michele Fochi2016-02-081-0/+1
| | | | | | -[no]exit_after_playback (default=no) -[no]record_input (default=no) Added new UI shortcut to save current timecode (default F12) Translated variable names and comments to english language
* VideoSnaps patch Michele Fochi aka motoschifo2016-02-071-0/+18
| | | http://adb.arcadeitalia.net/videosnaps.php
* Small code cleanup: dankan18902016-01-291-1/+1
| | | | | | | | | - corealloc.h: added macro definition for global_alloc (nothrow) memory allocation. - textbuf.cpp / wavwrite.cpp: removed pointless cast. - debugcmd.cpp / luaengine.cpp / render.cpp: avoid strlen calls in a loop. - diimage.cpp: simplified "device_image_interface::set_image_filename" function. - miscmenu.cpp / selgame.h / video.cpp(h): replaced int with bool where applicable. - ui.cpp: removed unused code.
* Return std::string objects by value rather than pass by reference AJR2016-01-101-1/+1
| | | | | | - strprintf is unaltered, but strformat now takes one fewer argument - state_string_export still fills a buffer, but has been made const - get_default_card_software now takes no arguments but returns a string
* clang-modernize part 1 (nw) Miodrag Milanovic2015-12-031-1/+1
|
* 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]
* moved all to std::string (nw) Miodrag Milanovic2015-04-221-1/+1
|
* string -> str rename due to future conflicts (nw) Miodrag Milanovic2015-04-121-1/+1
|
* Cleanups and version bumpmame0160 Miodrag Milanovic2015-03-251-2/+2
|
* added command-line option -[no]dummywrite to create snaphots of each frame ↵ Oliver Stöneberg2015-03-171-0/+3
| | | | | | | | | without writing them to a file [Oliver Stöneberg] this is a dummy implementation of -aviwrite/-mngwrite and is used in testruns to detect e.g. palette issues. the dummy implementation greatly speed up testrun since it avoids the snapshot to file format conversions as well as the I/O operations
* More cleanups, there is issue with srcclean that needs to be taken care as ↵ Miodrag Milanovic2014-07-221-1/+1
| | | | well, just doing now what we can
* and a final batch of passing attotime as const reference (nw) Oliver Stöneberg2014-07-041-1/+1
|
* MNG is now written when -mngwrite is used together with -aviwrite [Oliver ↵ Oliver Stöneberg2014-04-071-9/+14
| | | | Stöneberg]
* Moved core template container classes up from emutempl.h to coretmpl.h: Aaron Giles2014-03-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Aaron Giles] * these classes now no longer take a resource_pool; everything is managed globally -- this means that objects added to lists must be allocated with global_alloc * added new auto_pointer<> template which wraps a pointer and auto-frees it upon destruction; it also defaults to NULL so it doesn't need to be explicitly initialized * moved tagged_list template to tagmap.h Redo of the low-level memory tracking system: [Aaron Giles] * moved low-level tracking out of emu\emualloc into lib\util\corealloc so it can be shared among all components and used by core libraries * global_alloc and friends no longer use a resource pool to track allocations; turns out this was a wholly redundant system that wasted a lot of memory * removed global_resource_pool entirely * added global_free_array to delete arrays allocated with global_alloc_array * added tracking of object versus array allocation; we will now error if you use global_free on an array, or global_free_array on an object Added new utility helper const_string_pool which can be used to efficiently accumulate strings that are not intended to be modified. Used by updated makelist and software list code. [Aaron Giles] Updated png2bdc and makelist tools to not leak memory and use more modern techniques (no more MAX_DRIVERS in makelist, for example). [Aaron Giles] Deprecated auto_strdup and removed all uses by way of caller-managed astrings and the software list rewrite. [Aaron Giles] Rewrote software list management: [Aaron Giles] * removed the notion of a software_list that is separate from a software_list_device; they are one and the same now * moved several functions into device_image_interface since they really didn't belong in the core software list class * lots of simplification as a result of the above changes Additional notes (no whatsnew): Moved definition of FPTR to osdcomm.h. Some changes happened in the OSD code to fix issues, especially regarding freeing arrays. SDL folks may need to fix up some of these. The following devices still are using tokens and should be modernized (I found them because they kept their token as void * and tried to delete it, which you can't): namco_52xx_device (mame/audio/namco52.c) namco_54xx_device (mame/audio/namco54.c) namco_06xx_device (mame/machine/namco06.c) namco_50xx_device (mame/machine/namco50.c) namco_51xx_device (mame/machine/namco51.c) namco_53xx_device (mame/machine/namco53.c) voodoo_device (emu/video/voodoo.c) mos6581_device (emu/sound/mos6581.c) aica_device (emu/sound/aica.c) scsp_device (emu/sound/scsp.c) dmadac_sound_device (emu/sound/dmadac.c) s3c2440_device (emu/machine/s3c2440.c) wd1770_device (emu/machine/wd17xx.c) latch8_device (emu/machine/latch8.c) duart68681_device (emu/machine/68681.c) s3c2400_device (emu/machine/s3c2400.c) s3c2410_device (emu/machine/s3c2410.c) strataflash_device (mess/machine/strata.c) hd63450_device (mess/machine/hd63450.c) tap_990_device (mess/machine/ti99/990_tap.c) omti8621_device (mess/machine/omti8621.c) vdt911_device (mess/video/911_vdt.c) apollo_graphics_15i (mess/video/apollo.c) asr733_device (mess/video/733_asr.c)
* Huge update, palette is now device (nw) Miodrag Milanovic2014-02-271-8/+0
| | | note: Aaron please give more descriptive text for release log I have no more strength :)
* Magic numbers, just say no (nw) Alex W. Jackson2014-02-031-2/+4
|
* Introduced a toggle_record_movie() method Nathan Woods2014-02-021-0/+1
|
* Adding support for variable throttle Nathan Woods2014-02-021-4/+4
|
* More unglamorous cleanups Nathan Woods2014-01-191-0/+3
|
* Bulk convert files that already had standard BSD license in my name Aaron Giles2013-10-161-31/+2
| | | | to new license tagged form.
* Cleanups and version bumpmame0148 Miodrag Milanovic2013-01-111-38/+38
|
* Mark the display for screenless systems as changed whenever an output has ↵ Wilbert Pol2012-11-221-0/+2
| | | | changed. [Wilbert Pol]