Commit Graph

373 Commits

Author SHA1 Message Date
Vas Crabb
c0ab1c5aa4 (nw) srcclean and some cleanup:
* Make more #include guards follow standard format - using MAME_ as the prefix makes it easy to see which ones come from our code in a preprocessor dump, and having both src/devices/machine/foo.h and src/mame/machine/foo.h causes issues anyway
* Get #include "emu.h" out of headers - it should only be the first thing in a complilation unit or we get differences in behaviour with PCH on/off
* Add out-of-line destructors to some devices - it forces the compiler to instantiate the vtable in a certain location and avoids some non-deterministic compiler behaviours
2018-07-22 20:41:57 +10:00
Vas Crabb
96c9112785 general cleanup:
* 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.
2017-05-23 15:01:11 +10:00
Olivier Galibert
a2557f1b02 Remove emu.h from headers (nw)
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.
2017-02-11 18:31:20 +01:00
Vas Crabb
be26ac9abf coretmpl: add an associative LRU cache with map-like behaviour
selmenu: use LRU cache so icons don't all need to be reloaded on scroll

uismall.bdf: set default character for missing glyphs

rendfont.cpp:
* encapsulate many BDF and BDC handling details
* make file I/O 64-bit clean, check for allocation errors
* more solid BDF parser with error messages and trace logging
* fix heap smash when building bitmaps for BDF fonts
* extend BDC format to support high planes and default character
* render default character if glyph not found for BDF/BDC
2016-12-15 17:00:34 +11:00
Vas Crabb
8179a84458 Introduce u8/u16/u32/u64/s8/s16/s32/s64
* 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
2016-11-19 05:38:48 +11:00
Miodrag Milanovic
ddb290d5f6 NOTICE (TYPE NAME CONSOLIDATION)
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
2016-10-22 13:13:17 +02:00
Miodrag Milanovic
23ad94073f use standard types uintptr_t, char16_t and char32_t instead of FPTR, utf16_char, unicode_char (nw) 2016-10-22 11:31:49 +02:00
AJR
6d2d6bfa0d Lock out ioport_fields independently of natural keyboard state (nw) 2016-10-20 17:58:03 -04:00
fulivi
c7d9059466 Moved things a bit around to better decouple
device_image_interface::call_display and UI front-end
2016-06-09 18:03:07 +02:00
Nathan Woods
65720796a8 Changed UI handlers to be stored as std::function(); implemented old set_handler() on top of this 2016-06-04 15:06:39 -04:00
therealmogminer@gmail.com
b06be31dfe Move slider_state and ui_menu_item into src/frontend/mame, nw 2016-05-16 19:59:15 +02:00
Miodrag Milanovic
e3ff63cdda no deps between osd and frontend, internal debugger removed (nw) 2016-05-06 14:01:27 +02:00
Miodrag Milanovic
cfee536f22 Cleanups and version bump 2016-04-27 08:13:59 +02:00
Miodrag Milanovic
89c5e1f681 Various cleanups suggested by static analyzer (nw) 2016-04-24 12:58:31 +02:00
Miodrag Milanovic
a931b486fe cleanup (nw) 2016-04-23 15:27:54 +02:00
Miodrag Milanovic
1c726824f2 Split UI and frontend part from core [Miodrag Milanovic] 2016-04-23 11:26:47 +02:00
Miodrag Milanovic
4c9c6c8c16 Added file for mame depended handling of opts (nw) 2016-04-22 09:09:39 +02:00
Miodrag Milanovic
682bc90764 Created mame_options as 1st step towards creating core independent of MAME implementation (nw) 2016-04-21 20:52:21 +02:00
dankan1890
a72ad0c4fe fix sdl build. (nw) 2016-04-21 06:48:26 +02:00
Miodrag Milanovic
8318d85597 Isolate CLI part (nw) 2016-04-20 09:50:13 +02:00
Miodrag Milanović
2ee3949169 Merge pull request #823 from ajrhacker/deviter
Iterate over devices C++11 style [AJR]
2016-04-20 09:19:08 +02:00
dankan1890
8b490a9fad Forced reset in order to properly apply some options. (nw) 2016-04-20 05:12:40 +02:00
AJR
084d3654ca Iterate over devices C++11 style
Replace the old device_iterator and its specialized versions with functionally equivalent classes that use standard operators to yield references to devices/interfaces rather than pointers. With range-based for loops, they no longer have to be stored in named variables, though they can also be reused concurrently since the iteration state is now maintained by a subclass.

Add a few more typical getters to device_t::subdevice_list.
2016-04-18 18:53:28 -04:00
dankan1890
8c8aca795e added advanced options to per-machine configuration. (nw) 2016-04-15 19:23:17 +02:00
dankan1890
1e3037baf7 ui: Re-enabled configuration menu for single-machine and added some options.
Adding handler for the right mouse button in the main menu, calls the machine configuration.
2016-04-15 17:48:05 +02:00
dankan1890
a0715c7c40 Reduction code for entries of "enum class ui_menu_item_type" and the use of item_append with separators. 2016-04-15 17:39:45 +02:00
Miodrag Milanovic
a83a3c4497 lower deps on clifront.h (nw) 2016-04-15 14:10:47 +02:00
Vas Crabb
e88734cd0f * Make softwares -> software changes actually read properly
* If it's "Standard" then it should be "standard" in the ini file, too
2016-04-13 10:26:15 +10:00
therealmogminer@gmail.com
0233dd4dbf Make core vector-related slider handling slightly less egregious, nw 2016-04-12 17:19:58 +02:00
R. Belmont
3ed3b7e7fc Merge pull request #776 from jmallach/typos
Fix typos throughout the codebase
2016-04-12 08:48:35 -04:00
etabeta78
c1600cafd9 diimage.cpp: Allow image devices to be configured with a fixed
(not user selectable) piece of software and updated a few options
and menu to acknowledge such possibility. [Fabio Priuli]

macs.cpp: Converted to use generic cartslot with fixed software
configuration. Cleaned up loading and banking systems in the driver
as a result. [Fabio Priuli]
2016-04-12 14:37:22 +02:00
dankan1890
f7166e84ae (nw) 2016-04-12 13:04:02 +02:00
dankan1890
5347076f49 submenu: merged some options menu. (nw) 2016-04-11 03:37:51 +02:00
therealmogminer@gmail.com
dd9c9a0fb3 Make OSDs return ui_menu_item lists, not slider_state lists 2016-04-10 19:22:31 +02:00
therealmogminer@gmail.com
fa92550ddb Add dividing line to bgfx slider list where applicable, nw 2016-04-10 13:13:10 +02:00
therealmogminer@gmail.com
8719535cbc Make sliders use an std::vector instead of a linked list, nw 2016-04-10 02:38:08 +02:00
dankan1890
74a8e5d1dd menu: fixed scrolling with the mouse wheel. (nw) 2016-04-10 02:28:27 +02:00
therealmogminer@gmail.com
19d51345a1 Add runtime screen chain selection, nw 2016-04-09 19:15:47 +02:00
cracyc
cd243bd4aa (nw) 2016-04-09 09:10:03 -05:00
cracyc
cf8c7fb206 luaengine: make flags explicit (nw) 2016-04-09 09:02:07 -05:00
dankan1890
b10ffebf58 Fixed the key handler for the error "roms or missing CHD."
Removed the delay in showing the description in the Advanced menu.
Synchronized the translation files.
2016-04-07 12:36:30 +02:00
cracyc
389e05a300 luaengine: direct and region accessors [Carl] 2016-04-05 21:10:13 -05:00
Miodrag Milanović
f9f2be3e43 Merge pull request #789 from ajrhacker/emuopts_drc
Revert software-installed slot/image options when changing software [AJR]
Remove emu.h's stealth include of emuopts.h through mconfig.h; reduce dependency on emuopts.h in other headers and source files.
MCFG_CPU_FORCE_NO_DRC is now a CPU configuration parameter rather than a global one; it still works to override the -drc option setting.
2016-04-05 08:57:37 +02:00
AJR
ee12b7d2f7 Revert software-installed slot/image options when changing software
- Remove emu.h's stealth include of emuopts.h through mconfig.h; reduce dependency on emuopts.h in other headers and source files.
- MCFG_CPU_FORCE_NO_DRC is now a CPU configuration parameter rather than a global one; it still works to override the -drc option setting.
2016-04-04 23:46:44 -04:00
cracyc
817f19fcc1 luaengine: add plugin options menu [Carl] 2016-04-04 18:17:18 -05:00
dankan1890
37f39ecf3c Small changes. (nw) 2016-04-03 18:45:34 +02:00
Jeffrey Clark
69eae891ad submenu lang and cosmetic (nw) 2016-04-03 16:02:16 +00:00
Miodrag Milanovic
d322c23ead make it translate (nw) 2016-04-03 16:00:30 +02:00
Miodrag Milanovic
945d1d5646 Prevent crashing when compiling with mingw (nw) 2016-04-03 15:47:04 +02:00
Jeffrey Clark
ca3e65e35f refactor miscmenu and add adv menu (nw) 2016-04-03 07:02:38 +00:00