Commit Graph

42 Commits

Author SHA1 Message Date
Miodrag Milanovic
89c5e1f681 Various cleanups suggested by static analyzer (nw) 2016-04-24 12:58:31 +02:00
Miodrag Milanovic
1c726824f2 Split UI and frontend part from core [Miodrag Milanovic] 2016-04-23 11:26:47 +02:00
ImJezze
b1c06acb61 Implemented handling for u_screen_scale and u_screen_offset (nw) 2016-04-21 07:52:29 +02:00
Miodrag Milanovic
dc08f48c36 Cleanup (nw) 2016-04-20 13:42:52 +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
ImJezze
60eb6d0494 Added reasonable texcoord handling without known examples (nw) 2016-04-17 14:12:31 +02:00
ImJezze
454db9d5d3 Fixed texture coordinates for vector screen quad (nw) 2016-04-16 15:46:04 +02:00
ImJezze
32f0e6efac Removed hacks for vector screens from shaders (nw)
- added handling of texture coordinates for vector screens to core render
- added handling of orientation/rotation for vector screens to D3D renderer
2016-04-13 19:21:57 +02:00
Antonio Giner
cf830e71da Make overscan on integer scaled targets optional (add option -intoverscan). 2016-04-05 23:30:06 +02:00
AJR
54f7422c2a Conflict resolution (nw) 2016-03-31 10:29:46 -04:00
AJR
a7e393b36b Iterate over core classes C++11 style
C++11 range-based for loops can now iterate over simple_list, tagged_list, core_options, device_t::subdevice_list, device_t::interface_list, render_primitive_list and all subclasses of the above, and much code has been refactored to use them. Most core classes that have these lists as members now have methods that return the lists themselves, replacing most of the methods that returned the object at an owned list's head. (A few have been retained due to their use in drivers or OSD.)

device_t now manages subdevice and interface lists through subclasses, but has given up the work of adding and removing subdevices to machine_config.

memory_manager has its tagged lists exposed, though the old rooted tag lookup methods have been removed (they were privatized already).
2016-03-31 09:43:53 -04:00
Miodrag Milanovic
9353a1ccb3 Compressed internal layouts [David Haywood] 2016-03-30 20:40:05 +02:00
Miodrag Milanovic
913ab1e140 Cleanups and version bump 2016-03-30 08:35:21 +02:00
Antonio Giner
fdf97109be Fix issue with ui aspect due to recent changes in -keepaspect
This also makes sure ui aspect ratio is computed correctly even on
rotated targets.
2016-03-25 00:25:12 +01:00
Antonio Giner
0a09b8a2cb Fix wrong aspect in snapshots due to rencent changes in -keepaspect 2016-03-22 16:51:34 +01:00
Antonio Giner
c1a77ecd92 Apply better factors on multiple-screen views 2016-03-21 16:55:59 +01:00
Antonio Giner
ffb9d33843 Fix aspect on rotated games 2016-03-21 01:14:41 +01:00
Antonio Giner
bb51885229 Move integer scaling implementation to render_target::compute_visible_area
- Add core option -unevenstretch
- Add core option -unevenstretchx
2016-03-20 21:57:38 +01:00
Antonio Giner
57199a7dff Revert changes in layout view prior to rework of integer scaling 2016-03-19 00:02:41 +01:00
Antonio Giner
e39daaf5bd Merge remote-tracking branch 'refs/remotes/mamedev/master' 2016-03-18 22:41:17 +01:00
Scott Stone
ba499f3860 Merge pull request #724 from ImJezze/master
HLSL refactoring
2016-03-17 20:27:10 -04:00
Antonio Giner
da18057256 Implement integer scaling in core renderer [Calamity] 2016-03-15 01:04:37 +01:00
Vas Crabb
42fbb9c396 Make osd_file a polymorphic class that's held with smart pointers
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
2016-03-14 18:55:00 +11:00
ImJezze
c2d4e3c018 Cleanup (nw)
- options are reset to loaded preset when game is closed
- changed default values of options to result in no effects activated
- init_slider_list() does not returns but sets g_slider_list directly
- removed unnecessary oriented_vector_texcoords
2016-03-13 17:11:08 +01:00
ImJezze
7add547602 Refactoring of render targes and vector texture coordinates
- implemented proper texture coordinates for vector quad primitive
- vector screen is now processed in texture coordinates
- revered workaround for raster screen, which is again processed in
texture coordinates
- known issue: cocktail mode for vector screen looks wrong
2016-03-12 16:03:28 +01:00
ImJezze
cc24a339d8 Merge remote-tracking branch 'refs/remotes/mamedev/master'
Second attempt
2016-02-21 11:48:45 +01:00
therealmogminer@gmail.com
fbe6e54400 Fix remaining issues with bgfx renderer 2016-02-17 01:35:38 +01:00
therealmogminer@gmail.com
622df200de Fix errors with -rol and -ror, nw 2016-02-15 20:22:20 +01:00
therealmogminer@gmail.com
b0a7bcd346 Significant speed improvements to the BGFX renderer. [MooglyGuy] 2016-02-15 17:57:28 +01:00
Miodrag Milanovic
42622cfe8e replace osd_lock with std::mutex [Miodrag Milanovic] 2016-01-30 20:43:50 +01:00
dankan1890
361d32d37f Small code cleanup:
- 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.
2016-01-29 00:43:18 +01:00
Miodrag Milanovic
3e5ad46410 modernized configuration_manager (nw) 2016-01-10 15:17:18 +01:00
Miodrag Milanovic
4afd75e2fd Cleanups and version bump 2015-12-30 08:18:51 +01:00
mahlemiut
043eed6171 Make new internal debugger windows appear in a cascade-like position, and give some windows better default sizes. Change render_target::debug_top() to put targets at the end of the target list, fixing the order in which windows are rendered (nothing else uses this function). 2015-12-17 19:10:31 +13:00
Miodrag Milanovic
91605d3f4d clang-modernize part 1 (nw) 2015-12-03 18:17:25 +01:00
Miodrag Milanovic
92f81361d6 Initial conversion of core to C++14. Note that compilers are now limited to GCC 4.9.0 and up, Clang 3.4.0 and up, and VS2013 and up [Miodrag Milanovic] 2015-12-03 11:40:45 +01:00
ImJezze
05f83580c0 Fixed dynamic beam width for invariabel vector intensity
- the vector renderer now tries to detect a invariabel vector intensity
and disables the calculation of a dynamic beam width
2015-11-18 13:37:53 +01:00
ImJezze
8be53c28f0 Changed screen adjustment for HLSL
- screen adjustment (scale, offset) can now be handled by the respective
render API itself (default behavior is as before)
- D3D (if HLSL) is activated handles screen adjustment by itself within
the shader, which fixes the odd behavior of some effects (e.g. round
corners) when screen scale and offset is used
2015-11-17 19:37:56 +01:00
Miodrag Milanovic
61d05aacb8 Fixed some suggestions by ReSharper C++ (nw) 2015-11-14 19:05:18 +01:00
Miodrag Milanovic
d1dc775f9b Some cleanups and init fixes with help of ReSharper C++ (nw) 2015-11-11 16:31:18 +01:00
therealmogminer@gmail.com
7b5119e166 nw, more PVS-Studio fixes 2015-11-09 12:23:29 +01:00
Miodrag Milanovic
7c19aac60e Rename *.c -> *.cpp in our source (nw) 2015-11-08 12:56:12 +01:00