summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/genie.lua
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove CI20 Miodrag Milanovic2021-10-261-12/+1
|
* Remove steamlink Miodrag Milanovic2021-10-261-12/+0
|
* Remove pnacl remains Miodrag Milanovic2021-10-261-17/+4
|
* Overdue internal UI enhancements (#8674) Vas Crabb2021-10-091-1/+1
| | | | | | | | | | | | | | | | * frontend: Added support for message context to localisations. * frontend: Added string_view versions of the message lookup functions. * frontend: Added a few more folder options to the internal UI. * emu/softlist.cpp: Use more appropriate containers. * Switched to Python 3 by default - this will become a requirement. * Updated msgfmt.py for message context support. * frontend: Show all software item info in the internal UI. * frontend: Search alternate titles in software selection menu. * 3rdparty/utf8proc: Updated to v2.6.1 (has several fixes). * frontend: Added software filters for common info fields. * frontend: Allow UI manager to hold onto persistent session data. * frontend: Cache software lists for eight machines. * frontend: Added support for loading localised system names. * frontend: Add UI for selecting localised system names.
* util/strformat.h: Detect C++ standard > C++17 before doing weird stuff. Vas Crabb2021-09-181-0/+3
|
* Revert "enable BGFX_CONFIG_DEBUG to get proper asserts" Miodrag Milanovic2021-08-201-1/+1
| | | | This reverts commit 4abb9da0ec7efde4254a436ec1baa9a889264109.
* enable BGFX_CONFIG_DEBUG to get proper asserts Miodrag Milanovic2021-08-131-1/+1
|
* Disable another MSVC warning that is known to be noisy (and which showed up ↵ Aaron Giles2021-07-091-0/+1
| | | | with the recent setjmp workaround).
* Stupid warning is stupid Olivier Galibert2021-05-261-0/+1
|
* srcclean for release Vas Crabb2021-05-231-4/+4
|
* Preliminary support for GCC 11.1 (Fedora 34) [R. Belmont] arbee2021-05-201-0/+8
|
* ymfm: Refactor new FM engine into a 3rdparty library (#8046) Aaron Giles2021-05-141-0/+1
| | | | | | | | | | | | | | | ymfm: refactor the code into a separate 3rdparty library * Moved ymfm core implementation to 3rdparty/ymfm * Split out each family (OPM/OPN/OPL/etc) into its own source file * Added preliminary OPQ and OPZ support, still WIP * Put all 3rdparty code into its own namespace ymfm * Fixed various bugs reported in #8042 * Created interface class for communication between the 3rdparty engine and the emulator * Standardized MAME implementation of all Yamaha devices based on a template class * Created standard base class ym_generic that can be used when multiple YM chips are swapped in * Changed YM2203/2608/2610 to embed a YM2149 as a subdevice instead of deriving from ay8910_device * Also provided compile-time option to use a simplified built-in SSG rather than using MAME's at all (currently off) * Consolidated MAME header files from one-per-chip (ym2151.h, ym2203.h, etc) to one-per-family (ymopm.h, ymopn.h, etc)
* Fix vs2019_clang build feos2021-04-051-3/+2
|
* Merge tag 'mame0230' into mainline-master Vas Crabb2021-03-311-0/+6
|\ | | | | | | MAME 0.230
| * Fix building with clang 6 Vas Crabb2021-03-291-0/+6
| | | | | | | | | | Annoyingly, clang 6 produces warnings for unused private static data members, but does not recognise the [[maybe_unused]] attribute for them.
* | makefile: added param to override ar hap2021-03-301-0/+5
|/
* formats: Create mame_formats_full_list which gives access to all the ↵ Olivier Galibert2021-03-041-2/+35
| | | | supported formats, make floptool use it. Castool should use it too probably, but I don't want to touch it.
* -docs update: Vas Crabb2021-01-231-1/+1
| | | | | | | | | | | | | | | * Added note explaining that view options saved in machine CFG take precedence over INI/command line. * Added prerequisites for building HTML documentation under MSYS2 and Fedora Linux. * Explicitly mentioned that Ubuntu modifies GCC to enable "fortify source" by default in the relevant section. * Removed obsolete reference to glibstdc++6. * Re-formated compiling guide source (hard wrap at 80 columns, typographical quotes, code blocks for sample command lines). -genie.lua: Show GCC ignored attribute warnings, but don't fail for them.
* genie.lua: Attempted fix for GCC build AJR2021-01-221-0/+1
|
* Add macosx_arm64_clang target support [R. Belmont, Miodrag Milanovic] arbee2020-12-121-2/+9
|
* Fixed clang warning in Lua engine properly, converted a few fallthrough ↵ Vas Crabb2020-11-171-9/+9
| | | | comments to attributes, sorted some warning options alphabetically
* Add C++17 flag for visual studio (hopefully in the right place) Vas Crabb2020-11-151-0/+3
|
* Enable GCC implicit fallthrough warning. Vas Crabb2020-11-151-0/+6
| | | | | | I've guessed whether break or [[fallthrough]] is appropriate. In cases where it looked particularly suspicious, I added a FIXME comment. All of these changes should be reviewed by someone familiar with the code.
* -Switch to building MAME as C++17. Vas Crabb2020-11-151-37/+10
| | | | | | | * Updated sol2 to 3.2.2 * Updated pugixml to 1.10 * Increased minimum clang version to 6 * Cleaned up some stuff that can use new features
* Apple calls llvm/clang 10 Xcode 12, update warning flags. Vas Crabb2020-10-291-1/+1
|
* Fix link errors with new versions of Emscripten Justin Kerk2020-10-181-0/+1
|
* emscripten: netlist and OpenGL improvements. (#7254) couriersud2020-09-181-1/+1
| | | | | | | | | | | * Most OpenGL link issues fixed. Two remain from drawogl.cpp. This isn't working anyhow. * "-video accel" now uses WebGL. This allows GL based scaling and provides a performance improvement. * Fixed pong and other games by adding another function to the exception whitelist * Target now is mame.html. This allows emrun to be used for testing. mame.js is created as well and thus the current behaviour unchanged.
* Clean up clang options now that clang 5 is a hard requirement, and suppress ↵ Vas Crabb2020-08-181-15/+11
| | | | xor-used-as-pow warning introduced in clang 10
* genie: mingw sdl build fails with end-group auto added by that ↵ hap2020-06-211-5/+8
| | | | LinkSupportCircularDependencies flag option (nw)
* Fix OS X build on older Xcode versions (nw) AJR2020-06-181-0/+10
|
* Enable option to generate symbols in Release as well as Debug under Visual ↵ Frank Palazzolo2020-05-271-0/+5
| | | | Studio. (This is important because debugging Debug builds is too slow)
* mingw: get rid of missing end-group warning (nw) hap2020-05-101-2/+2
|
* GCC 10 fix for sqlite3 (nw) arbee2020-05-021-0/+5
|
* Fix hang with Emscripten's "upstream" backend (nw) Justin Kerk2020-04-161-0/+2
|
* removed the remaining bits of the FASTDEBUG/MAME_DEBUG_FAST silliness I ↵ firewave2020-01-211-16/+0
| | | | introduced ages ago (nw)
* Lower number of warnings disabled with visual studio from 71 to 27 (nw) yz70s2020-01-021-58/+16
| | | | | And most of the remaining ones could be removed with simple code modifications.
* Revert "Revert "enable clang missing braces warning - it's useful to be able ↵ Vas Crabb2019-12-211-1/+0
| | | | | | to see when you're initialising a structure or nested array inside an array"" This reverts commit 4264fcd1369dadbb774fd681bf9375e2761d5286.
* Revert "enable clang missing braces warning - it's useful to be able to see ↵ AJR2019-12-201-0/+1
| | | | | | when you're initialising a structure or nested array inside an array" This (mostly) reverts commit 6959de07197e623262e614fdd0734007a41eb778.
* enable clang missing braces warning - it's useful to be able to see when ↵ Vas Crabb2019-12-201-1/+0
| | | | you're initialising a structure or nested array inside an array
* damn inconsistent macros, maybe I really _will_ kill them off next year (nw) Vas Crabb2019-12-201-2/+2
|
* Enable visual studio warning C5038 about member initialization order (nw) yz70s2019-12-201-14/+13
| | | | Also put vs warning options all in one place.
* Revert "Fix gcc version 5 compile. (nw)" couriersud2019-11-011-10/+4
| | | | This reverts commit b1246642eb6e3f48f1fe19b7ae6584c1e544e88b.
* Fix gcc version 5 compile. (nw) couriersud2019-11-011-4/+10
| | | | Cross compiling for windows on certain ubuntu versions fails without this.
* Make devdelegate more like devcb for configuration. This is a Vas Crabb2019-10-261-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fundamental change to show device delegates are configured. Device delegates are now aware of the current device during configuration and will resolve string tags relative to it. This means that device delegates need a device to be supplied on construction so they can find the machine configuration object. There's a one-dimensional array helper to make it easier to construct arrays of device delegates with the same owner. (I didn't make an n-dimensional one because I didn't hit a use case, but it would be a simple addition.) There's no more bind_relative_to member - just call resolve() like you would for a devcb. There's also no need to cast nullptr when creating a late bind device delegate. The flip side is that for an overloaded or non-capturing lambda you'll need to cast to the desired type. There is one less conditional branch in the hot path for calls for delegates bound to a function pointer of member function pointer. This comes at the cost of one additional unconditional branch in the hot path for calls to delegates bound to functoids (lambdas, functions that don't take an object reference, other callable objects). This applies to all delegates, not just device delegates. Address spaces will now print an error message if a late bind error is encountered while installing a handler. This will give the range and address range, hopefully making it easier to guess which memory map is faulty. For the simple case of allowing a device_delegate member to be configured, use a member like this: template <typename... T> void set_foo(T &&...args) { m_foo_cb.set(std::forward<T>(args)...); } For a case where different delegates need to be used depending on the function signature, see src/emu/screen.h (the screen update function setters). Device delegates now take a target specification and function pointer. The target may be: * Target omitted, implying the current device being configured. This can only be used during configuration. It will work as long as the current device is not removed/replaced. * A tag string relative to the current device being configured. This can only be used during configuration. It will not be callable until .resolve() is called. It will work as long as the current device is not removed/replaced. * A device finder (required_device/optional_device). The delegate will late bind to the current target of the device finder. It will not be callable until .resolve() is called. It will work properly if the target device is replaced, as long as the device finder's base object isn't removed/replaced. * A reference to an object. It will be callable immediately. It will work as long as the target object is not removed/replaced. The target types and restrictions are pretty similar to what you already have on object finders and devcb, so it shouldn't cause any surprises. Note that dereferencing a device finder will changes the effect. To illustrate this: ... required_device<some_device> m_dev; ... m_dev(*this, "dev") ... // will late bind to "dev" relative to *this // will work if "dev" hasn't been created yet or is replaced later // won't work if *this is removed/replaced // won't be callable until resolve() is called cb1.set(m_dev, FUNC(some_device::w)); ... // will bind to current target of m_dev // will not work if m_dev is not resolved // will not work if "dev" is replaced later // will be callable immediately cb2.set(*m_dev, FUNC(some_device::w)); ... The order of the target and name has been reversed for functoids (lambdas and other callable objects). This allows the NAME macro to be used on lambdas and functoids. For example: foo.set_something(NAME([this] (u8 data) { m_something = data; })); I realise the diagnostic messages get ugly if you use NAME on a large lambda. You can still give a literal name, you just have to place it after the lambda rather than before. This is uglier, but it's intentional. I'm trying to drive developers away from a certain style. While it's nice that you can put half the driver code in the memory map, it detracts from readability. It's hard to visualise the memory range mappings if the memory map functions are punctuated by large lambdas. There's also slightly higher overhead for calling a delegate bound to a functoid. If the code is prettier for trivial lambdas but uglier for non-trivial lambdas in address maps, it will hopefully steer people away from putting non-trivial lambdas in memory maps. There were some devices that were converted from using plain delegates without adding bind_relative_to calls. I fixed some of them (e.g. LaserDisc) but I probably missed some. These will likely crash on unresolved delegate calls. There are some devices that reset delegates at configuration complete or start time, preventing them from being set up during configuration (e.g. src/devices/video/ppu2c0x.cpp and src/devices/machine/68307.cpp). This goes against the design principles of how device delegates should be used, but I didn't change them because I don't trust myself to find all the places they're used. I've definitely broken some stuff with this (I know about asterix), so report issues and bear with me until I get it all fixed.
* Fix build for nonstandard compiler versions like '8.3-win32' Melissa Goad2019-10-171-0/+3
|
* fix for clang 9.0.0 on windows (nw) smf-2019-10-131-0/+1
|
* WIP: sync bgfx, bx and bimg with latest upstream (#5723) Julian Sikorski2019-10-131-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Sync with bgfx upstream revision b91d0b6 * Sync with bx upstream revision d60912b * Sync with bimg upstream revision bd81f60 * Add astc-codec decoder * Rename VertexDecl to VertexLayout * Rename UniformType enum Int1 to Sampler. * Add NVN stub * Fix unused-const-variable error on macOS * Drop redundant explicit language parameters buildoptions_cpp are only applied to c++ files and buildoptions_objcpp are only applied to objective c++ files. As such, hardcoding -x offers no benefit while preventing overrides (such as one needed by 3rdparty/bgfx/src/renderer_vk.cpp on macOS) from working. * Re-introduce -x c++ in places where C code is compiled as C++ to prevent clang from throwing a warning * Build bgfx as Objective-C++ on macOS It is needed due to included headers * Enable Direct3D12 and Vulkan bgfx rendering backends * Enable building of spirv shaders * Properly escape /c in cmd call * Comment out dx12 bgfx renderer * Honor VERBOSE setting during shaders build * Only invert hlsl shader XYZ_TO_sRGB matrix for opengl * Add spirv shaders * OpenGL ES needs transposed matrix too * Metal needs transposed matrix as well
* (nw) fix std::array initialisation with GCC5 in nlwav.cpp, stop suppressing ↵ Vas Crabb2019-10-051-6/+0
| | | | -Wterminate now that asserts are really asserts
* Build system maintenance: Vas Crabb2019-10-041-3/+5
| | | | | | | | | | | * Re-write makedep.py for better performance and better parsing front-end * Make srcclean deal with kinds of preprocessor abuse I never want to see in real life (nw) The new parser front-end is better at recognising C++ syntax and also substantially faster - bootstrapping a single-driver build should be noticeably quicker. Having a single parser for C++, .lst and .flt files also gets us a bit closer to making it simpler to create custom subtargets.
* vs2019 fixes, initial clang-cl support (#5698) Julian Sikorski2019-10-021-0/+23
| | | | | | | | * Add initial clangcl support * Fix uwp builds' vs version typos * Add missing vs2019 toolchain.lua bits