Commit Graph

546 Commits

Author SHA1 Message Date
Vas Crabb
79bef1e230 3rdparty/lzma: Updated to version 23.01. 2023-12-06 07:58:49 +11:00
Vas Crabb
466c450cb3 3rdparty/utf8proc: Updated to 2.9.0. 2023-12-06 07:05:45 +11:00
Vas Crabb
12590d6ad8 3rdparty/zlib: Updated to 1.3.0. 2023-12-06 06:42:53 +11:00
Vas Crabb
73751bcea9 3rdparty/libjpeg: Updated to version 9e. 2023-12-06 06:05:40 +11:00
Alex Brown
d6a7f2906a
3rdpary/asio: Fixed error check in sockatmark(). (#11656)
From chriskohlhoff/asio@f79d3dc5c8
2023-10-28 03:46:33 +11:00
Vas Crabb
c936fd8799
3rdparty/portaudio: Fixed inadvertent assignment in PulseAudio callback. 2023-10-24 06:39:17 +11:00
invertego
963561c7cb
3rdparty/portaudio: Updated to latest upstream version. (#11604)
Up-to-date with revision 24c8d575e588d557d28f4011becb753421346860.  Resolves issues building with Visual Studio.

Enabled PortAudio when building with Visual Studio and clang-cl.

docs: Removed note about duplicate GUID symbols in PortAudio when built with MSVC.
2023-10-09 01:50:30 +11:00
Romain TISSERAND
52e5d735ce
3rdparty/bgfx: Fixed duplicate import of GL functions on Linux when using GLES 2.0. (#11596)
From bkaradzic/bgfx@66d50eb721

Fixes build when using GLES 2.0 and Wayland.
2023-10-04 23:08:53 +11:00
Julian Sikorski
80155dfa8c
3rdparty/bgfx: Cherry-picked upstream commits needed to support Wayland on Linux. (#11539) 2023-09-29 01:14:29 +10:00
Vas Crabb
44eb5ea3c6 Revert "Updated bgfx, bx and bimg to current upstream versions. (#11493)"
This reverts commit 1c61ccfe84.
2023-09-08 05:14:35 +10:00
Julian Sikorski
1c61ccfe84
Updated bgfx, bx and bimg to current upstream versions. (#11493)
* Reverted "macOS, iOS: Removed OpenGL/OpenGLES support. (commit 4693983242a698eaafed87faf4ffef1789adc8f9).
* Reverted "Fix macOS build" (commit ce2c2c13eda7d699051f75f598e740a447343a88).
* Reverted "macOS: Fixed deprecated warnings." (commit 10a8cb61f882ebc9bb376ee2341d003880b7037f).
* Added bgfx/README.mame explaining deviations from upstream.
2023-09-06 01:10:24 +10:00
Vas Crabb
883f063cf8 bgfx: Hopefully fix glslang build with newer GNU C/C++ standard library verisons. 2023-05-31 16:06:23 +10:00
987123879113
fb2b5745d1
namco/namcos10.cpp: Add MP3 decoder support to the MEM(P3) board. (#11210)
* 3rdparty/minimp3: Update to latest source (afb604c06bc8beb145fecd42c0ceb5bda8795144).
* sound/mp3_audio.cpp: Add helper class to decode MP3 frame data, abstracting away minimp3 from devices.
* sound/lc82310.cpp: Added basic Sanyo LC82310 MP3 decoder emulation.
* namco/namcos10.cpp: Fixed light gun inputs for Golgo 13: Juusei no Requiem.

Systems promoted to working
------------------
Golgo 13: Juusei no Requiem (Japan, GLT1 VER.A)
Tsukkomi Yousei Gips Nice Tsukkomi (NTK1 Ver.A)
Seishun-Quiz Colorful High School (CHS1 Ver.A)
2023-05-15 14:38:30 +10:00
Vas Crabb
02eea1bd67 3rdparty/nanosvg: Re-base on latest upstream.
Now based on upstream 9da543e8329fdd81b64eb48742d8ccb09377aed1.

This fixes some issues with abbreviate path commands, gradients, and
locale sensitivity when parsing percentace-style colours.
2023-05-05 05:57:39 +10:00
Vas Crabb
a504bde3a7 3rdparty/lzma: Updated to LZMA SDK version 22.01 2023-05-04 02:41:16 +10:00
Patrick Mackinlay
5b567d4a37 taptun: fix adapter detection on windows for newer versions of taptun driver 2023-04-25 14:46:24 +07:00
feos
ed34e2ed6d
3rdparty/linenoise: Support keypad Enter on Windows. (#11109) 2023-04-18 03:34:25 +10:00
Curt Coder
46636e399d 3rdparty/portmidi: Fix compile with Clang 14.0.3 on macOS 2023-04-17 08:45:12 +03:00
arbee
645bbe989b PortAudio: sync to upstream GitHub revision 0e9b386a1053261340bc8bb32335484ef77b258b [R. Belmont, PortAudio team]
* Tested and works on Windows, macOS, and Linux.
* Fixes compatibility with macOS Ventura and bugfixes WASAPI and WDM-KS on Windows.
2023-04-01 19:03:31 -04:00
Vas Crabb
31c0d2a4a8 Reduce warnings that need to be suppressed to build linenoise. 2023-03-07 05:46:28 +11:00
Vas Crabb
8384223ac8 Updated forked linenoise to latest upstream.
This removes the need to force it to build as C++, and adds proper UTF-8
support for Windows.

Since this is a fork of linenoise, there's no hope for getting
lua-linenoise to sync with it upstream.  I made the bare minimum changes
to keep it working, but didn't add bindings for new functionality (e.g.
multi-line editing).
2023-03-07 05:33:37 +11:00
Vas Crabb
dc87571a43 3rdparty: Avoid the need for -fpermissive since clang doesn't like it.
I'll try to get some of this upstreamed.
2023-03-07 04:19:36 +11:00
Vas Crabb
b5475eb38b Various updates, mostly around Lua:
Compile Lua as C++.  When Lua is compiled as C, it uses setjmp/longjmp
for error handling, resulting in failure to unwind intermediate stack
frames.  Trying to ensure no objects with non-trivial destructors are in
scope when raising a Lua error is error-prone.  In particular,
converting an exception to a Lua error becomes convoluted, and raising a
Lua error from a constructor is effectively impossible.

Updated Lua to 5.4.4 - this includes a brand-new garbage collector
implementation with better performance.  The main thing removed is the
deprecated bitlib.

Updated sol2 to version 3.3.0 - this adds support for Lua 5.4 and fixes
a number of issues, including not correctly handling errors when Lua is
built as C++.

Updated LuaFileSystem to version 1.8.0 - this adds support for symbolic
links on Windows, as well as Lua 5.4 compatibility.

Updated LuaSQLite3 to version 0.9.5 - this fixes issues in
multi-threaded environments, as well as Lua 5.4 compatibility.

Fixed double-free after attempting to construct a debugger expression
from Lua with an invalid string, and exposed expression error to Lua in
a better way.

Added warning level print function to Lua.

Fixed saving cheats with shift operators in expressions, although this
code isn't actually used as there's no cheat editor.
2023-03-07 01:39:42 +11:00
Miodrag Milanović
bd59a0d447
Removed local copy of SDL source and update Android build support. (#10899)
* Removed SDL2 source.
* Updated gradle.
* Updated SDL2 Java support glue code.
* Increased minimum supported Android API version to 24.
* Updated required asset files for Android app.
* Added proper tag for Android logging.
* Added SDL2 hint to make BGFX work on Android.
2023-02-27 05:40:37 +11:00
Olivier Galibert
b733fd4b43 gcc: prevent use-after-free warning. 2023-02-22 09:13:03 +01:00
Miodrag Milanović
f6630310eb
Update rapidjson to 012be8528783cdbf4b7a9e64f78bd8f056b97e24 (#10842)
Co-authored-by: Milo Yip <miloyip@gmail.com>
2023-01-20 15:44:28 -05:00
cracyc
1287b114de i386: fix fpu log2 and atan 2023-01-09 14:08:08 -06:00
Miodrag Milanović
812e6094f4
Update BGFX, BX and BIMG (#10789)
* Update to bgfx a93a714632b79b5ddbf5c86ac323fa9b76ed3433
Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
2023-01-05 09:32:40 -05:00
R. Belmont
94b1e168b2
Revert "Update BGFX, BX and BIMG (#10750)" (#10787)
This reverts commit 5581eaa50a due to link failure on macOS.
2023-01-04 23:29:18 -05:00
Miodrag Milanović
5581eaa50a
Update BGFX, BX and BIMG (#10750)
* Update to bgfx a93a714632b79b5ddbf5c86ac323fa9b76ed3433
Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
2023-01-04 23:12:10 -05:00
Aaron Giles
c778f5406b
Update 3rdparty/ymfm to latest. (#10583)
* Fixes uninitialized member causing slight jitter in timing (GitHub #10414).
* Fixes OPNA behavior when LFO is disabled.
* Fixes a PCM playback wraparound bug due to incorrect auto-incrementing.
2022-11-25 02:56:33 +11:00
Aaron Giles
4384558d9b
Update ymfm library to latest version (a78b567): [Aaron Giles, hyano] (#10052)
- Fix incorrect operator volumes in some cases for OPL (MT8108)
 - Fix PCM playback to cut off previous notes when new waveforms are selected (see dragnblz)
 - Fix reversed OPM noise frequency
 - Fix bug preventing CSM key ons from being noticed
 - Fix bug where SSG EG envelope could be left in inverted state
 - Fix SSG envelope handling when tone and noise are off
 - Increase strength of DAC discontinuity in YM2612
 - Improve latching logic for fnums in OPN
 - Increase envelope suppression threshold so some effects don't get prematurely muted
 - Improve ADPCM-B behavior at stop/limit addresses (more thorough rewrite here coming later)
2022-07-08 09:44:18 -04:00
Vas Crabb
f47f9c3db3
ui, docs: Added menus to fill a couple of gaps, improved consistency. (#9915)
Added menus for controlling toggle inputs, and showing recognised input
devices and control state.  Moved input menu options off main menu to a
submenu, as there are a lot of them now.

Moved menu heading drawing into base class, added headings to more
menus, and made headings more consistent with the menu items used to
reach them.  Also made terminology more consistent.

Changed the default names for buttons and hat switches/D-pads to use
1-based numbering.  DirectInput still returns 0-based button numbers for
some devices.

Removed local copy of MinGW xaudio2.h as it’s now included in the MSYS2
package.  Also fixed building the DirectSound sound output module with
the SDL OSD on Windows - the Windows headers are sensitive to include
order.

Started adding documentation for menus, to hopefully help people find
menus they remember seeing but can't recall how to access.

For translators, this makes terminology more consistent.  In particular:
* "Settings" is preferred over "configuration" in a number of places, as
  the latter can be construed as referring specifically to settings
  stored in .cfg files in the cfg_directory folder.  Also, references to
  saving machine configuration could be interpreted as relating to the
  settings on the "Machine Configuration" menu.
* The controls on host input devices (e.g. keys, buttons, joystick axes)
  are referred to as "controls", while emulated inputs are referred to
  as "inputs".
* The menus for assigning host controls to emulated inputs are called
  "input assignments" menus to distinguish them from other input
  settings menus.
* Combinations of controls that can be assigned to emulated inputs are
  referred to as "combinations" rather than "sequences".
* The potentially confusing term "ROM set" has been removed altogether.
  Use "short name" to refer to a device or system's identifier.
* "System" is used in almost places to refer to a complete, runnable
  system rather than "Machine".
* "Driver" is now only used to refer to source files where systems or
  devices are defined - it is no longer used to refer to individual
  systems.
* A few more menus have message context for the messages.  This makes it
  a bit easier to guess where the messages are used.  It also means you
  can use different translations in different places if necessary (e.g.
  if the same English text should be translated differently as an item
  in one menu and as a heading in another).
2022-06-11 21:47:19 +10:00
Devin Acker
75e986a651
3rdparty/portmidi: Fixed windows MIDI callback signatures. (#9781) 2022-05-20 04:41:08 +10:00
Patrick Mackinlay
02e5f1e468 asmjit: sync with upstream 2022-05-17 16:51:29 +07:00
Vas Crabb
6fa1f03bf0 3rdparty: Updated zlib to version 1.2.12. 2022-04-14 10:39:41 +10:00
Patrick Mackinlay
e4588d1f45 asmjit: mame integration 2022-02-13 21:26:55 +07:00
Patrick Mackinlay
1fba2b4f2c asmjit: sync with upstream 2022-02-13 21:26:55 +07:00
Aaron Giles
d187a28fad
ymfm: Correct for free-running timer B multipler (#8988) 2021-12-16 08:16:48 -05:00
AJR
224384612e Build fixes for clang 2021-11-14 15:04:11 -05:00
Vas Crabb
d950b2d9b5 3rdparty/asio: Set x bit on scripts, since Windows git won't. 2021-11-15 04:50:36 +11:00
Vas Crabb
f570febfa1 Actually commit the source changes for ASIO 1.20.0 update.
Also changed the fix to ASIO itself to match the upstream change in
commit cd68912b7eb07f24e501e8cbff832b61ec292eea.
2021-11-15 04:41:40 +11:00
Vas Crabb
44ec6d2e0e 3rdparty: Updated ASIO to version 1.20.0.
The doc folder isn't included as it's pretty big.

This required include/asio/detail/win_iocp_socket_accept_op.hpp due to
mismatched order in the member declarations and initialiser list for the
win_iocp_socket_accept_op class.  I reversed the declaration order so it
matches win_iocp_socket_move_accept_op.
2021-11-15 04:15:13 +11:00
Matthew Barnes
11745ec4a5
genie: Define _FILE_OFFSET_BITS=64 on Linux. (#8808) 2021-11-11 17:14:18 +11:00
Vas Crabb
38082ccbee
Overdue internal UI enhancements (#8674)
* 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.
2021-10-09 12:16:17 +11:00
Julian Sikorski
0eeb918991
Update bgfx, bx and bimg to latest upstream (fixes issue #8057) (#8645) 2021-10-02 12:21:12 -04:00
Бранимир Караџић
1a6a018fc3 Update bgfx to latest 2021-08-10 20:28:56 +02:00
Бранимир Караџић
702c9b45cc Update bimg to latest 2021-08-10 20:27:19 +02:00
Бранимир Караџић
a851430879 Update bx to latest 2021-08-10 20:26:34 +02:00
Aaron Giles
3d450c480d ymf278b: Allow PCM writes if new2flag is set, even if newflag is not. Fixes MT08033. 2021-07-24 00:53:38 -07:00
Aaron Giles
6bb6d3db45 ymfm: Return masked status from set/reset function. Fixes MT08034. 2021-07-23 18:26:36 -07:00
Aaron Giles
f996103315 ymfm: Sync with upstream
* Fix LFO disable on YM2151
* Fix swapped lower nibbles for 12-bit PCM on OPL4
2021-07-23 01:21:27 -07:00
Calvin Buckley
4ab4f74106
Implement 68k FPU FATAN instruction (#8287) 2021-07-18 12:53:08 -04:00
Miodrag Milanovic
1c0852d3d4 Fix cross compiling benchmarks 2021-06-22 14:42:42 +02:00
Aaron Giles
86d1ef2604 ymfm: Play ADPCM-A samples through the end of the end block inclusive 2021-06-22 00:39:32 -07:00
Aaron Giles
102f311ae7 Fix reporting of ADPCM-B end-of-sample. Seems to fix MT08006; hopefully will fix other neogeo issues as well. 2021-06-21 20:22:33 -07:00
Aaron Giles
973373e712 ymfm: Sync with upstream:
* Fix panning calculations in OPL4 (YMF278B)
* Make OPQ reverb less ridiculous
2021-06-01 09:54:44 -07:00
Aaron Giles
04027e4fa7 ymfm: Sync with upstream:
* Match OPN LFO frequencies to hardware measurements
 * Improve OPQ detune, reverb, and KSR
2021-05-29 02:37:19 -07:00
Aaron Giles
646938cf96 ymfm: Don't mask off top bit of octave for OPQ. 2021-05-23 20:50:54 -07:00
Aaron Giles
9e1ed0acf4 ymfm: Improve OPQ behavior for timers and register access. Add YM3533 device and use that instead of YM3806. 2021-05-23 18:13:07 -07:00
Aaron Giles
48bde2d647 ymfm: Fix OPZ fine tuning and envelope shift. Now pretty much all the TX81Z built-in instruments sound reasonable. 2021-05-23 16:02:28 -07:00
Aaron Giles
ac96627377 ymfm: Some progress on OPZ. Some instruments in the TX81Z sound kind of ok now. 2021-05-23 13:24:36 -07:00
Aaron Giles
b78991fc83 ymfm: Fix OPL3 waveform 7 to better match hardware. 2021-05-22 13:28:30 -07:00
Aaron Giles
3ccdbfc3b5 ymfm: Add missing clamp in YM2608 2021-05-22 11:20:43 -07:00
Aaron Giles
e825cb34bb ymfm: Boost ADPCM-B volume by a factor of 2 to more closely match previous levels. Addresses MT #07956 2021-05-22 11:13:44 -07:00
Aaron Giles
d9db7d77c4
ymfm: Sync with latest, add complete YMF278B support (#8090)
* Sync with upstream. I/O callbacks are now consolidated into a single read callback and a single write callback, with an access type specifier.
* Initial working implementation of YM278B. Most features implemented, except vibrato.
* Implement vibrato and status register flags. Fix envelope rate computation.
* Rename ymfm_interface::external_type to access_class and clean up the fallout.
* Formally replace the old YMF278B engine with the one from ymfm
* Rotated YMF278B outputs into a more logical order.
* Re-evaluted envelope calculations and 2x works better than the weird 15/8 I came up with before. Also changed the way FM resampling is computed to be more precise (and simpler). Turned off extraneous debugging.
* Start of/reset to a null state with no loaded waveforms.
* Fix YM2608 I/O ports.
2021-05-22 12:33:21 -04:00
Aaron Giles
cb48ece8f9 ymfm: Switch to internal SSG for YM2203/2608/2610. Clean up code to determine the number of SSG outputs. 2021-05-15 00:40:03 -07:00
Aaron Giles
3cfc522458
ymfm: Refactor new FM engine into a 3rdparty library (#8046)
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)
2021-05-14 18:33:49 -07:00
987123879113
e6d3720985
-Improved accuracy of System 573's digital I/O audio emulation. (#7664)
* Refactored mas3507d and k573dio/fpga to be more accurate to real hardware.

-3rdparty/minimp3: Updated to latest master and removed local changes.
2021-01-16 05:12:26 +11:00
arbee
29cff632d3 SDL2: temp macOS compile fix for bundled SDL2 pending the 2.0.14 release [R. Belmont] 2020-12-12 21:58:26 -05:00
cracyc
d73b585d65 linenoise: properly handle numpad enter 2020-12-05 10:57:34 -06:00
Vas Crabb
f191d038ec Minimal changes to sol2 and bgfx to compile as C++17.
These changes should be sent upstream as pull requests.
2020-11-15 03:57:08 +11:00
Vas Crabb
55b8ca317a -Switch to building MAME as C++17.
* 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
2020-11-15 03:53:47 +11:00
Vas Crabb
d256f069a5 -3rdparty/expat: Update to 2.2.10."
-Fixed tiny build (missing s11c_bg_device) and unused lambda capture in emu/rendlay.cpp.
2020-10-15 04:28:42 +11:00
Vas Crabb
f390ea1004 3rdparty/nanosvg: Re-base on latest upstream.
Now based on upstream cc6c08d3a80f1a305021af3d6394cdf1535d02a2.

Among other things, this version is supposed to be less sensitive to the
global locale.
2020-10-05 22:18:22 +11:00
Vas Crabb
009ef965f2 3rdparty/sqlite3: Updated to SQLite 3.33.0 2020-10-04 13:54:52 +11:00
AJR
dcbee7cda6 Fix SOL2 build on GCC 10.2 by working around overload resolution problem 2020-07-28 20:33:25 -04:00
Patrick Mackinlay
954451fbfa asmjit: sync with upstream (nw) 2020-06-18 18:26:21 +07:00
Patrick Mackinlay
c70d979b7e asmjit: mame changes (nw) 2020-06-12 12:01:44 +07:00
Patrick Mackinlay
19214dd8e6 asmjist: sync with upstream (nw) 2020-06-12 11:55:10 +07:00
AJR
9f5ab3f237 Fix build even more (nw) 2020-05-30 15:56:10 -04:00
AJR
bc0c1b74c7 Fix build (nw) 2020-05-30 15:54:33 -04:00
Patrick Mackinlay
45615b7f4b asmjit: new 3rdparty library 2020-05-28 20:24:40 +07:00
Justin Kerk
d9138cb8e0 rv unintentional change (nw) 2020-05-22 23:49:41 -07:00
Justin Kerk
4c2424c805 New not working software list additions
---------------------------------------
ibm5150: Wizzardz & War Lordz [LGR]

(nw) cleanups, move SimLife to ibm5170 (#6728)
2020-05-22 21:04:53 -07:00
Vas Crabb
5bce46bd75 Removed winpcap and cleaned up network module selection.
(nw) The pcap.h header itself has the problematic original BSD license,
including the obnoxious advertising clause.  Using tap/tun networking on
Windows provides a much better experience, so the extra setup is worth
it.  This patch also allows you to enable pcap on platforms where it's
disabled by default with USE_PCAP=1 if you really want to use it.
2020-03-05 21:23:21 +11:00
Vas Crabb
11ac7454db Maintenance:
* Removed empty nl_examples from dist.mak
* Added copyright acknowledgements and full text of licenses to binary distribution
* Fixed up the list of third-party libraries
* Moved WDL fft.c to 3rdparty
2020-03-04 22:41:15 +11:00
Julian Sikorski
1a5ac25f61 Sync with GENie upstream revision ce9f3c5 (#6262)
* Change makerules to take variable $(PROJECT_TYPE) instead of hardcoded 'gmake'

This allows to run `make projgen PROJECT_TYPE=ninja` to generate ninja build files instead.
and to build GENie using ninja by running `make release PROJECT_TYPE=ninja`.

Using ninja improves build times,
e.g. for macOS: 12.47s with gmake goes down to 2.05s with ninja.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Set prefer project set as solution.startproject as default target

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Adding `GenerateMapFiles` flag.

Causes Visual Studio's linker to generate .map files for that
configuration.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Add ninja support for 'wholearchive' libraries

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fixup ninja.esc to gracefully ignore nil passed as value

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Use -Wl,-force_load for wholearchive libs when building for macosx

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Add space after filename in 'Generating' message

This makes the filename 'clickable' to open in iTerm and VSCode

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Print generated filenames as quoted string

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Remove '...' after filename

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Pop cwd after pushing to run file

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Make paths in embed.lua rely on script dir

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fix issues caused by make-4.3 no longer adding spaces to variables in some cases The fix was found by @asavah.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fixed release script.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Update scripts.c

Co-authored-by: Christian Helmich <kagekirin@gmail.com>
Co-authored-by: Johan Sköld <johan@skold.cc>
Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
2020-02-06 12:49:15 +11:00
Robert
b48efcdac6
Revert "Sync with GENie upstream revision ce9f3c5 (#6262)" (#6263)
This reverts commit a06d8e9cc6.
2020-02-06 10:02:41 +11:00
Julian Sikorski
a06d8e9cc6
Sync with GENie upstream revision ce9f3c5 (#6262)
* Change makerules to take variable $(PROJECT_TYPE) instead of hardcoded 'gmake'

This allows to run `make projgen PROJECT_TYPE=ninja` to generate ninja build files instead.
and to build GENie using ninja by running `make release PROJECT_TYPE=ninja`.

Using ninja improves build times,
e.g. for macOS: 12.47s with gmake goes down to 2.05s with ninja.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Set prefer project set as solution.startproject as default target

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Adding `GenerateMapFiles` flag.

Causes Visual Studio's linker to generate .map files for that
configuration.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Add ninja support for 'wholearchive' libraries

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fixup ninja.esc to gracefully ignore nil passed as value

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Use -Wl,-force_load for wholearchive libs when building for macosx

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Add space after filename in 'Generating' message

This makes the filename 'clickable' to open in iTerm and VSCode

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Print generated filenames as quoted string

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Remove '...' after filename

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Pop cwd after pushing to run file

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Make paths in embed.lua rely on script dir

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fix issues caused by make-4.3 no longer adding spaces to variables in some cases The fix was found by @asavah.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Fixed release script.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Updated README.

Signed-off-by: Julian Sikorski <belegdol+github@gmail.com>

* Update scripts.c

Co-authored-by: Christian Helmich <kagekirin@gmail.com>
Co-authored-by: Johan Sköld <johan@skold.cc>
Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
2020-02-05 17:21:10 -05:00
Julian Sikorski
0c70101b74 Sync bgfx, bx and bimg with upstream; fix the hlsl fs_chroma.sc matrix transposition properly (#5875)
* Sync bgfx with upstream revision 280420d

* Sync bx with upstream revision 267727d

* Sync bimg with upstream revision c1bab10

* Use bgfx helper functions to ensure correct matrix orientation

* Rebuild hlsl chain
2019-11-12 22:08:23 -05:00
Couriersud
d88a02f776 Fix waitvsync for bgfx vulkan backend. [Couriersud]
Currently waitvsync is broken in the bgfx vulkan backend.
The option is just ignored and a mode waiting for vsync is selected.
This also breaks throttle. -nothrottle doesn't work.

These changes fix this. If available a non-syncing mode is used if
-nowaitvsync is used.
2019-10-27 14:46:45 +01:00
R. Belmont
c82cfa1768
Merge pull request #5758 from vadosnaprimer/luaengine_ram
luaengine: reduce memory usage during compilation
2019-10-19 12:11:13 -04:00
feos
d51d2a71d5 luaengine: reduce memory usage during compilation
Previous semantics were encouraged by sol2, and ThePhD admitted it was a bad idea for usertypes with lots of members. sol3 allows to assign members outside a constructor for regular usertypes, but mame can't move to sol3 because it requires C++17. Turns out sol2 also has a way to add members separately, and that is what I used. This helps immensely.

This approach required a fix to warning C5046 copied from here 5799084572

Tested current mame plugins, everything seems to work.

PS: Due to come black magic, if I use simple_usertype::set() with "manager" as well, "machine" member dies (others are fine!), so I had to leave it intact.
2019-10-19 11:37:01 +03:00
couriersud
697dfa9fac Revert accidental commit of bgfx hacks. (nw) 2019-10-18 18:01:13 +02:00
Julian Sikorski
93a1cde67d Continuous integration improvements (#5703)
* Add workaround for imgtool and jedutil failing vs2019 debug builds with /ZI

* No longer allow msvc build to fail

* Enable tools build for travis to make it more useful

* Switch travis to Xcode 11 in order to fix nltool linking failure

* Prefer 64-bit compiler with VS 2019 too

* Setting PreferredToolArchitecture to x64 is not needed, genie puts it into the project files for vs2015 or later

* OPTIMIZE=1 build is faster that OPTIMIZE=0 for some reason. So fast in fact, that TOOLS=1 can be enabled without hitting the 60 minute timeout

* Switch MINGW build to VS 2017 image until appveyor figure out why builds on VS 2019 are almost twice as slow

* Run pacman twice to account for core system upgrades
2019-10-18 10:30:48 -04:00
couriersud
db318046c4 Netlist: code maintenance and bug fixes. (nw)
- solver now uses dynamic allocation on systems larger than 512x512
- fixed osx build
- moved nl_lists.h classes to plists.h
- fixed netlist makefile clint section
- readability and typos
2019-10-17 10:21:00 +02:00
Julian Sikorski
4470d977da Unbreak building shaders in cmd shell and add support for building them in MINGW bash shell (#5740) 2019-10-15 12:32:42 -04:00
AJR
73c4665039 Fix BGFX build on older OS X systems (nw)
The Vulkan renderer has to be disabled on Yosemite and older because its backend depends on Metal.
2019-10-14 07:47:37 -04:00
Robbbert
269970125a (nw) fixed compile error 2019-10-14 02:34:55 +11:00