summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/windows
Commit message (Collapse)AuthorAgeFilesLines
* Changed a number of comment declarations to read *.cpp instead of *.c npwoods2019-06-168-8/+8
|
* (nw) Clean up the mess on master Vas Crabb2019-03-266-41/+78
| | | | | | | | | | | | | This effectively reverts b380514764cf857469bae61c11143a19f79a74c5 and c24473ddff715ecec2e258a6eb38960cf8c8e98e, restoring the state at 598cd5227223c3b04ca31f0dbc1981256d9ea3ff. Before pushing, please check that what you're about to push is sane. Check your local commit log and ensure there isn't anything out-of-place before pushing to mainline. When things like this happen, it wastes everyone's time. I really don't need this in a week when real work™ is busting my balls and I'm behind where I want to be with preparing for MAME release.
* Revert "conflict resolution (nw)" andreasnaive2019-03-256-78/+41
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* misc fixes Vas Crabb2019-02-182-11/+40
| | | | | | | | | | testkeys: * Clean up and modernise code * Use std::endl to end lines for its implicit flush * Centre window (less likely to hide behind taskbar, etc.) osdwin: * Ensure new windows are positioned within the work area of a monitor
* osd/windows: Send logerror to stderr if no debugger is attached and -oslog ↵ Vas Crabb2019-01-134-30/+38
| | | | is on.
* clean up and improve option descriptions Vas Crabb2018-12-131-35/+35
|
* srcclean and cleanup (nw) Vas Crabb2018-10-281-1/+1
|
* HLSL Color Transforms and 3D LUT (#4043) Westley M. Martinez2018-10-072-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove broken scanline uniform from post_pass * Add 3D LUT to HLSL * Allow individual LUTs for screen and UI * WIP: Port 3D LUT to BGFX * Finish porting LUT to BGFX * Add individual phosphor color conversion for HLSL new file: hlsl/chroma.fx Shader for converting xyY3 to sRGB modified: hlsl/phosphor.fx Minor changes to emphasize idea that phosphors are color agnostic modified: hlsl/post.fx Conversion from signal RGB to xyY3 modified: src/osd/modules/render/d3d/d3dhlsl.cpp modified: src/osd/modules/render/d3d/d3dhlsl.h modified: src/osd/windows/winmain.cpp modified: src/osd/windows/winmain.h * Add phosphor examples and update presets * Port phosphor color shaders to BGFX * Fix missing newlines at EOF
* osdwindows: Fixed the BGFX not rendering across multiple windows. Internal ↵ mooglyguy2018-10-061-0/+1
| | | | UI is still glitchy. [Ryan Holtz]
* winmain.h: removed unused macro (nw) firewave2018-01-261-12/+0
|
* fix building for windows with qt debugger. [smf] smf-2017-12-261-1/+1
|
* Fixed an options overhaul regression (#2530) npwoods2017-10-062-1/+11
| | | | | | | | | | | | This crash (discovered by Wizz) had the following symptoms: 1. Start MAME 2. Choose "Configure Machine" 3. Choose "Video Options" CRASH This was the result of the options editor not having a fully formed list of options where it was expecting one. The fix is to change the declaration of emu_options to one that have full OSD options (it is possible that SDLMAME needs something slightly different) I created a osd_setup_osd_specific_emu_options(emu_options &) function that given an emu_options, will slap on system specific options. I see this as only marginally less gross, and I have zero opinion on whether this should be changed to return an emu_options (rather than have a reference parameter), be a static method on emu_options, or what have you.
* Attempted to sanitize/rationalize how we access UTF-8 command line arguments ↵ npwoods2017-09-182-25/+5
| | | | | | | | | | | (#2532) Specifically, this creates a call osd_get_command_line() that returns UTF-8 command line arguments as std::vector<std::string>. On non-Windows platforms, this does nothing more than build the vector. On Windows, this invokes GetCommandLineW() and CommandLineToArgvW(). This also attempts to unwind usage of wmain()/_tmain() on Windows, which is not standard. Related to this, this fixes a bug in Imgtool; specifically, non-7 bit ASCII was not being handled correctly in Windows. This is really an admission that the way that Windows handles Unicode and command line arguments sucks, and it is my belief that having a wmain() or _tmain() declaration specific for Windows is a worse solution. C'est la vie. I'm very open to the idea that src/osd/osdcore.[cpp|h] is not the best place to do this. Let me know if I should move it.
* Overhaul to how MAME handles options, take two (#2341) npwoods2017-06-251-9/+6
|
* Move static data out of devices into the device types. This is a ↵ Vas Crabb2017-05-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | significant change, so please pay attention. The core changes are: * Short name, full name and source file are no longer members of device_t, they are part of the device type * MACHINE_COFIG_START no longer needs a driver class * MACHINE_CONFIG_DERIVED_CLASS is no longer necessary * Specify the state class you want in the GAME/COMP/CONS line * The compiler will work out the base class where the driver init member is declared * There is one static device type object per driver rather than one per machine configuration Use DECLARE_DEVICE_TYPE or DECLARE_DEVICE_TYPE_NS to declare device type. * DECLARE_DEVICE_TYPE forward-declares teh device type and class, and declares extern object finders. * DECLARE_DEVICE_TYPE_NS is for devices classes in namespaces - it doesn't forward-declare the device type. Use DEFINE_DEVICE_TYPE or DEFINE_DEVICE_TYPE_NS to define device types. * These macros declare storage for the static data, and instantiate the device type and device finder templates. The rest of the changes are mostly just moving stuff out of headers that shouldn't be there, renaming stuff for consistency, and scoping stuff down where appropriate. Things I've actually messed with substantially: * More descriptive names for a lot of devices * Untangled the fantasy sound from the driver state, which necessitates breaking up sound/flip writes * Changed DECO BSMT2000 ready callback into a device delegate * Untangled Microprose 3D noise from driver state * Used object finders for CoCo multipak, KC85 D002, and Irem sound subdevices * Started to get TI-99 stuff out of the TI-990 directory and arrange bus devices properly * Started to break out common parts of Samsung ARM SoC devices * Turned some of FM, SID, SCSP DSP, EPIC12 and Voodoo cores into something resmbling C++ * Tried to make Z180 table allocation/setup a bit safer * Converted generic keyboard/terminal to not use WRITE8 - space/offset aren't relevant * Dynamically allocate generic terminal buffer so derived devices (e.g. teleprinter) can specify size * Imporved encapsulation of Z80DART channels * Refactored the SPC7110 bit table generator loop to make it more readable * Added wrappers for SNES PPU operations so members can be made protected * Factored out some boilerplate for YM chips with PSG * toaplan2 gfx * stic/intv resolution * Video System video * Out Run/Y-board sprite alignment * GIC video hookup * Amstrad CPC ROM box members * IQ151 ROM cart region * MSX cart IRQ callback resolution time * SMS passthrough control devices starting subslots I've smoke-tested several drivers, but I've probably missed something. Things I've missed will likely blow up spectacularly with failure to bind errors and the like. Let me know if there's more subtle breakage (could have happened in FM or Voodoo). And can everyone please, please try to keep stuff clean. In particular, please stop polluting the global namespace. Keep things out of headers that don't need to be there, and use things that can be scoped down rather than macros. It feels like an uphill battle trying to get this stuff under control while more of it's added.
* Revert "Overhaul to how MAME handles options (#2260)" Vas Crabb2017-05-071-6/+9
| | | | | | | | | | | | This reverts commit 536990e77b49ccc50ef275bfbf1018cc29c16154. Conflicts: src/frontend/mame/mame.cpp Sorry, but this change was half-baked. It breaks a lot of existing functionality and clearly hasn't been tested in more than a tiny subset of use cases. Please play this work back onto your own branch, and test it before submitting another PR.
* Overhaul to how MAME handles options (#2260) npwoods2017-05-051-9/+6
| | | | | | | | | | | | This is an overhaul to how MAME handles options to provide a better foundation for what MAME is already doing in practice. Previously, core_options was designed to provide an input/output facility for reading options from the command line and INI files. However, the current needs (image/slot/get_default_card_software calculus and MewUI) go way beyond that. Broadly, this PR makes the following changes: * core_options now has an extensibility mechanism, so one can register options that behave dramatically differently * With that foundation, emu_options now encapsulates all of the funky image/slot/get_default_card_software calculus that were previously handled by static methods in mameopts.cpp. Changes to emu_options should not automatically cascade in such a way so that it stays in a consistent state * emu_options no longer provides direct access to the slot_options/image_options maps; there are simpler API functions that control these capabilities * Many core_options functions that expose internal data structures (e.g. - priority) that were only really needed because of previous (now obsolete) techniques have been removed. * core_options is now exception based (rather than dumping text to an std::string). The burden is on the caller to catch these, and discern between warnings and errors as needed. Obviously this is a risky change; that's why this is being submitted at the start of the dev cycle.
* Merge pull request #2252 from npwoods/remove_duplicate_option R. Belmont2017-04-251-1/+1
|\ | | | | Removed redundant ";global_inputs"
| * Removed redundant ";global_inputs" Nathan Woods2017-04-231-1/+1
| |
* | Disambiguated the WINOPTION_YIQ_PHASE_COUNT option Nathan Woods2017-04-241-1/+1
|/ | | | "yiqp" was used for WINOPTION_YIQ_PVALUE and WINOPTION_YIQ_PHASE_COUNT
* Fixed an issue where device options (e.g. -cart) were reported as unknown ↵ Nathan Woods2017-02-222-9/+5
| | | | | | | | when they actually worked This change also changes around how command line arguments are passed around; specifically I changed argc/argv to be std::vector<std::string> Note this is not passed around 'const', the reason being that the command line processing will now "eat" the vector
* Cleanup, we already have NOMINMAX now in scripts (nw) Miodrag Milanovic2017-02-111-3/+0
|
* Revert "New phosphor persistence shaders for HLSL" R. Belmont2017-01-052-15/+3
|
* Correct LCD ghosting INI and slider defaults. Westley M. Martinez2017-01-031-1/+1
|
* Add LCD ghosting shader for Direct3D Westley M. Martinez2017-01-022-4/+7
| | | | | | | | | | | | | | | | | hlsl/ghosting.fx: Add LCD ghosting shader hlsl/phosphor.fx: Remove LCD logic ini/presets/gameboy.ini, ini/presets/gba.ini, ini/presets/lcd-matrix.ini, ini/presets/lcd.ini, ini/presets/raster.ini, ini/presets/vector.ini: Update presets src/osd/modules/render/d3d/d3dhlsl.cpp, src/osd/modules/render/d3d/d3dhlsl.h: Add LCD shader and sliders. Allow sliders to be adjusted for R, G, and B components. src/osd/windows/winmain.cpp, src/osd/windows/winmain.h: Add LCD ghosting options.# Please enter the commit message for your changes. Lines starting
* Scale and phosphor persistence sliders. Westley M. Martinez2016-12-302-7/+4
| | | | | | | | | | hlsl/phosphor.fx: Scale parameter into tau or gamma. src/osd/modules/render/d3d/d3dhlsl.cpp: src/osd/modules/render/d3d/d3dhlsl.h: src/osd/windows/winmain.cpp: src/osd/windows/winmain.h: Combine tau and beta sliders into one slider labeled 'Time Constant'.
* Implement LCD persistence shader. Westley M. Martinez2016-12-292-0/+3
| | | | | | | | | | | | | | | | hlsl/phosphor.fx: Do LCD persistence effect using boolean LCD. LCD persistence is monochrome and thus does not have separate components like phosphor persistence. src/osd/modules/render/d3d/d3dhlsl.cpp: Add slider for LCD games. src/osd/modules/render/d3d/d3dhlsl.h: (BP) Add options for LCD games. src/osd/windows/winmain.cpp: (BP) Add options for LCD games. src/osd/windows/winmain.h: (BP) Add options for LCD games.
* Implement new phosphor shader. Westley M. Martinez2016-12-292-3/+12
| | | | | | | | | | | | | | | | | hlsl/phosphor.fx: Make changes to the pixel shader. New uniforms: Mode, Tau, Beta, Gamma. Remove Phosphor. Mode selects the mode for phosphor simulation: off (no decay), exponential, inverse power. Tau is the time constant for exp. decay. Beta and Gamma are constants for inv-pow. src/osd/modules/render/d3d/d3dhlsl.cpp: Provide uniforms and add sliders for new options. src/osd/modules/render/d3d/d3dhlsl.h: (BP) Provide new options. src/osd/windows/winmain.cpp: (BP) Provide new options. src/osd/windows/winmain.h: (BP) Provide new options.
* Move special windows.h include directives to build defines (nw) Brad Hughes2016-12-288-8/+0
|
* srcclean (nw) Vas Crabb2016-11-271-2/+2
|
* Change window handle storage to template instead of void* (nw) (#1725) Brad Hughes2016-11-174-48/+48
| | | | * Change window handle storage to template instead of void* (nw)
* UWP: Output verbose to debug plus turn off view scaling (nw) Brad Hughes2016-11-141-1/+13
|
* added OPTION_HOMEPATH to point to read/write folder,for now used by LUA ↵ Miodrag Milanovic2016-11-121-0/+1
| | | | | | scripts (nw) Copied all needed files so plugins could be started under UWP
* UWP, added support to store files on Local storage (nw) Miodrag Milanovic2016-11-121-0/+16
|
* Revert "using of IS_ENABLED in files used in tiny build (nw)" Miodrag Milanovic2016-11-121-1/+1
| | | | This reverts commit 1efccdd38d4bac6ec44e13f0a6cdf877e3a1c7cb.
* using of IS_ENABLED in files used in tiny build (nw) Miodrag Milanovic2016-11-111-1/+1
|
* Small cleanup (nw) Miodrag Milanovic2016-11-114-5/+5
|
* UWP builds again but by no means working (nw) Brad Hughes2016-11-103-4/+22
|
* Add more UWP support (nw) Miodrag Milanovic2016-11-091-0/+4
|
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-223-21/+21
| | | | | 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
* use standard types uintptr_t, char16_t and char32_t instead of FPTR, ↵ Miodrag Milanovic2016-10-221-1/+1
| | | | utf16_char, unicode_char (nw)
* Bulk renaming of Windows string conversion functions Nathan Woods2016-10-034-13/+13
| | | | | utf8_from_[a|w|t]string ==> osd::text::from_[a|w|t]string [a|w|t]string_from_utf8 ==> osd::text::to_[a|w|t]string
* Adding new string conversion overloads Nathan Woods2016-10-011-1/+1
| | | | [a|w|t|utf8]_from_[a|w|t|utf8_]string(xyz.c_str()) seems to be common enough to justify overloads. Also, I'm explicitly assuming that it is legal to override the NUL pointer within a C++ basic_string (e.g. - s[s.size()] = '\0'). As far as I can tell, this seems to be legal - please don't shoot if I am wrong.
* Changed win_get_window_text_utf8() to return std::string Nathan Woods2016-09-252-17/+18
| | | | | | This eliminated an unnecessary conversion step. Also, I have no idea what this WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) stuff is; it is hard to understand how it could possibly be correct because it ignores the 'window' parameter
* srcclean (nw) Vas Crabb2016-09-261-1/+1
|
* Convert OSD monitor info to modules plus add DXGI implementation Brad Hughes2016-09-145-297/+44
|
* for bool type use true and false (nw) Miodrag Milanovic2016-07-311-4/+4
|
* std::min and std:max instead of MIN and MAX, also some more macros converted ↵ Miodrag Milanovic2016-07-311-9/+9
| | | | to inline functions (nw)
* Cleanups and version bump Miodrag Milanovic2016-07-271-1/+1
|
* Changed strconv.[cpp|h] functions to return their results as std::string and ↵ Nathan Woods2016-07-244-89/+43
| | | | std::wstring