trunk/docs/hlsl.txt
| r250286 | r250287 | |
| 10 | 10 | hlslpath [path] Path to the .fx files that are in use. (default: hlsl) |
| 11 | 11 | hlsl_prescale_x [horizontal] HLSL pre-scale override factor for X. (0 for auto) |
| 12 | 12 | hlsl_prescale_y [vertical] HLSL pre-scale override factor for Y. (0 for auto) |
| 13 | | hlsl_preset -1 through 3 HLSL preset to use. (default: -1) |
| 14 | | hlsl_write [filename] Enable HLSL AVI writing. (huge disk bandwidth suggested) |
| 13 | hlsl_write [filename] Enables HLSL AVI writing. (huge disk bandwidth suggested) |
| 15 | 14 | hlsl_snap_width [width] HLSL upscaled-snapshot width. (default: 2048) |
| 16 | | hlsl_snap_height [height] HLSL upscaled-snapshot height. (default: 1536) |
| 15 | hlsl_snap_height [height] HLSL upscaled-snapshot height. (default: 1536) |
| 17 | 16 | |
| 18 | 17 | |
| 19 | 18 | Surface/Color Processing Parameters |
| r250286 | r250287 | |
| 22 | 21 | Name Values Description |
| 23 | 22 | shadow_mask_alpha 0.0 to 1.0 The ovearll darkness of each shadow mask pixel. |
| 24 | 23 | shadow_mask_texture [filename] A PNG that defines the shadow mask for each pixel. |
| 25 | | shadow_mask_x_count 1+ The count of shadow mask elements, X (usually 640-ish). |
| 26 | | shadow_mask_y_count 1+ The count of shadow mask elements, Y (usually 480-ish). |
| 27 | | shadow_mask_usize 0.0 to 1.0 These parameters define the *in-use* pixel count on the |
| 28 | | shadow_mask_vsize 0.0 to 1.0 X and Y axes of the shadow mask texture. |
| 29 | | curvature 0.0 to 1.0 Screen curvature. Affects borders and shadow mask. |
| 30 | | pincushion 0.0 to 1.0 Image curvature. Affects the source image only. |
| 24 | shadow_mask_x_count 1+ The number of pixels one shadow mask tile uses on screen. |
| 25 | shadow_mask_y_count 1+ This stretches the shadow mask tiles on X and Y axis. |
| 26 | shadow_mask_usize 0.0 to 1.0 The size of one shadow mask tile in U/V coordinate. |
| 27 | shadow_mask_vsize 0.0 to 1.0 The shadow mask textures always has a size of power-of-two. |
| 28 | shadow_mask_voffset -1.0 to 1.0 The offset of the shadow mask texture in U/V coordinates. |
| 29 | shadow_mask_voffset -1.0 to 1.0 An offset of 1.0 repressents one pixel on screen. |
| 30 | curvature 0.0 to 1.0 Curvature amount of the screen. |
| 31 | round_corner 0.0 to 1.0 Rounded corners amount of the screen. |
| 32 | smooth_border 0.0 to 1.0 Smooth borders amount of the screen. |
| 33 | reflection 0.0 to 1.0 Refelection amount of the screen highlight. |
| 34 | vignetting 0.0 to 1.0 Vignetting amount of the image. |
| 31 | 35 | scanline_alpha 0.0 to 1.0 The overall darkness of each scanline furrow. |
| 32 | 36 | scanline_size 0.0 to 4.0 The overall height of each scanline. |
| 33 | 37 | scanline_height [height] Individual height scaling value for scanlines. |
| r250286 | r250287 | |
| 97 | 101 | Bloom Post-Processing Options |
| 98 | 102 | ----------------------------- |
| 99 | 103 | Name Default Values Description |
| 100 | | vector_bloom_scale 0.300 Intensity factor for vector bloom. (0.000-1.000) |
| 101 | | raster_bloom_scale 0.225 Intensity factor for raster bloom. (0.000-1.000) |
| 104 | bloom_scale 0.500 Bloom intensity factor. (0.000-2.000) |
| 105 | bloom_overdrive 0.00,0.00,0.00 Bloom overdrive factor to bright full saturated colors. (0.000-2.000) |
| 102 | 106 | bloom_lvl0_weight 1.00 Bloom level 0 (full-size target) weight. (0.00-1.00) |
| 103 | 107 | bloom_lvl1_weight 0.21 Bloom level 1 (half-size target) weight. (0.00-1.00) |
| 104 | 108 | bloom_lvl2_weight 0.19 Bloom level 2 (quarter-size target) weight. (0.00-1.00) |
trunk/src/osd/modules/render/d3d/d3dhlsl.c
| r250286 | r250287 | |
| 54 | 54 | |
| 55 | 55 | namespace d3d |
| 56 | 56 | { |
| 57 | | hlsl_options shaders::s_hlsl_presets[4] = |
| 58 | | { |
| 59 | | { // 25% Shadow mask, 50% Scanlines, 3% Pincushion, 0 defocus, No Tint, 0.9 Exponent, 5% Floor, 25% Phosphor Return, 120% Saturation |
| 60 | | true, |
| 61 | | 0.25f, { "adapture-grill.png" }, 6, 6, 0.1875f, 0.1875f, 0.0f, 0.0f, |
| 62 | | 0.03f, 0.0f, 0.0f, 0.0f, 0.0f, |
| 63 | | 0.5f, 1.0f, 0.5f, 1.0f, 0.0f, 0.0f, |
| 64 | | { 0.0f, 0.0f }, |
| 65 | | { 0.0f, 0.0f, 0.0f }, |
| 66 | | { 0.0f, 0.0f, 0.0f }, |
| 67 | | { 0.0f, 0.0f, 0.0f }, |
| 68 | | { 0.0f, 0.0f, 0.0f }, |
| 69 | | { 1.0f, 0.0f, 0.0f }, |
| 70 | | { 0.0f, 1.0f, 0.0f }, |
| 71 | | { 0.0f, 0.0f, 1.0f }, |
| 72 | | { 0.0f, 0.0f, 0.0f }, |
| 73 | | { 1.0f, 1.0f, 1.0f }, |
| 74 | | { 0.9f, 0.9f, 0.9f }, |
| 75 | | { 0.05f,0.05f,0.05f}, |
| 76 | | { 0.25f,0.25f,0.25f}, |
| 77 | | 1.2f, |
| 78 | | false, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, |
| 79 | | 0.9f, 4.0f, |
| 80 | | 1.0f, |
| 81 | | { 0.0f, 0.0f, 0.0f }, |
| 82 | | 0.21f, 0.19f, 0.17f, 0.15f, 0.14f, 0.13f, 0.12f, 0.11f, 0.10f, 0.09f |
| 83 | | }, |
| 84 | | { // 25% Shadow mask, 0% Scanlines, 3% Pincushion, 0 defocus, No Tint, 0.9 Exponent, 5% Floor, 25% Phosphor Return, 120% Saturation |
| 85 | | true, |
| 86 | | 0.25f, { "adapture-grill.png" }, 6, 6, 0.1875f, 0.1875f, 0.0f, 0.0f, |
| 87 | | 0.03f, 0.0f, 0.0f, 0.0f, 0.0f, |
| 88 | | 0.0f, 1.0f, 0.5f, 1.0f, 0.0f, 0.0f, |
| 89 | | { 0.0f, 0.0f }, |
| 90 | | { 0.0f, 0.0f, 0.0f }, |
| 91 | | { 0.0f, 0.0f, 0.0f }, |
| 92 | | { 0.0f, 0.0f, 0.0f }, |
| 93 | | { 0.0f, 0.0f, 0.0f }, |
| 94 | | { 1.0f, 0.0f, 0.0f }, |
| 95 | | { 0.0f, 1.0f, 0.0f }, |
| 96 | | { 0.0f, 0.0f, 1.0f }, |
| 97 | | { 0.0f, 0.0f, 0.0f }, |
| 98 | | { 1.0f, 1.0f, 1.0f }, |
| 99 | | { 0.9f, 0.9f, 0.9f }, |
| 100 | | { 0.05f,0.05f,0.05f}, |
| 101 | | { 0.25f,0.25f,0.25f}, |
| 102 | | 1.2f, |
| 103 | | false, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, |
| 104 | | 0.9f, 4.0f, |
| 105 | | 1.0f, |
| 106 | | { 0.0f, 0.0f, 0.0f }, |
| 107 | | 0.21f, 0.19f, 0.17f, 0.15f, 0.14f, 0.13f, 0.12f, 0.11f, 0.10f, 0.09f |
| 108 | | }, |
| 109 | | { // 25% Shadow mask, 0% Scanlines, 0% Pincushion, 0 defocus, No Tint, 0.9 Exponent, 5% Floor, 25% Phosphor Return, 120% Saturation |
| 110 | | true, |
| 111 | | 0.25f, { "adapture-grill.png" }, 6, 6, 0.1875f, 0.1875f, 0.0f, 0.0f, |
| 112 | | 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, |
| 113 | | 0.0f, 1.0f, 0.5f, 1.0f, 0.0f, 0.0f, |
| 114 | | { 0.0f, 0.0f }, |
| 115 | | { 0.0f, 0.0f, 0.0f }, |
| 116 | | { 0.0f, 0.0f, 0.0f }, |
| 117 | | { 0.0f, 0.0f, 0.0f }, |
| 118 | | { 0.0f, 0.0f, 0.0f }, |
| 119 | | { 1.0f, 0.0f, 0.0f }, |
| 120 | | { 0.0f, 1.0f, 0.0f }, |
| 121 | | { 0.0f, 0.0f, 1.0f }, |
| 122 | | { 0.0f, 0.0f, 0.0f }, |
| 123 | | { 1.0f, 1.0f, 1.0f }, |
| 124 | | { 0.9f, 0.9f, 0.9f }, |
| 125 | | { 0.05f,0.05f,0.05f}, |
| 126 | | { 0.25f,0.25f,0.25f}, |
| 127 | | 1.2f, |
| 128 | | false, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, |
| 129 | | 0.9f, 4.0f, |
| 130 | | 1.0f, |
| 131 | | { 0.0f, 0.0f, 0.0f }, |
| 132 | | 0.21f, 0.19f, 0.17f, 0.15f, 0.14f, 0.13f, 0.12f, 0.11f, 0.10f, 0.09f |
| 133 | | }, |
| 134 | | { // 25% Shadow mask, 100% Scanlines, 15% Pincushion, 3 defocus, 24-degree Tint Out, 1.5 Exponent, 5% Floor, 70% Phosphor Return, 80% Saturation, Bad Convergence |
| 135 | | true, |
| 136 | | 0.25f, { "adapture-grill.png" }, 6, 6, 0.1875f, 0.1875f, 0.0f, 0.0f, |
| 137 | | 0.15f, 0.0f, 0.0f, 0.0f, 0.0f, |
| 138 | | 1.0f, 1.0f, 0.5f, 1.0f, 0.0f, 0.5f, |
| 139 | | { 3.0f, 3.0f }, |
| 140 | | { 0.5f,-0.33f,0.7f }, |
| 141 | | { 0.0f,-1.0f, 0.5f }, |
| 142 | | { 0.0f, 0.2f, 0.3f }, |
| 143 | | { 0.0f, 0.2f, 0.0f }, |
| 144 | | { 0.8f, 0.2f, 0.0f }, |
| 145 | | { 0.0f, 0.8f, 0.2f}, |
| 146 | | { 0.2f, 0.0f, 0.8f}, |
| 147 | | { 0.0f, 0.0f, 0.0f }, |
| 148 | | { 1.0f, 1.0f, 1.0f }, |
| 149 | | { 1.5f, 1.5f, 1.5f }, |
| 150 | | { 0.05f,0.05f,0.05f}, |
| 151 | | { 0.7f, 0.7f, 0.7f}, |
| 152 | | 0.8f, |
| 153 | | false, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, |
| 154 | | 0.9f, 4.0f, |
| 155 | | 1.0f, |
| 156 | | { 0.0f, 0.0f, 0.0f }, |
| 157 | | 0.21f, 0.19f, 0.17f, 0.15f, 0.14f, 0.13f, 0.12f, 0.11f, 0.10f, 0.09f |
| 158 | | }, |
| 159 | | }; |
| 160 | 57 | |
| 161 | | |
| 162 | 58 | //============================================================ |
| 163 | 59 | // PROTOTYPES |
| 164 | 60 | //============================================================ |
| 165 | 61 | |
| 166 | | static void get_vector(const char *data, int count, float *out, int report_error); |
| 62 | static void get_vector(const char *data, int count, float *out, bool report_error); |
| 167 | 63 | |
| 168 | 64 | |
| 169 | 65 | //============================================================ |
| r250286 | r250287 | |
| 201 | 97 | |
| 202 | 98 | shaders::~shaders() |
| 203 | 99 | { |
| 204 | | global_free(options); |
| 205 | 100 | cache_target *currcache = cachehead; |
| 206 | 101 | while(cachehead != NULL) |
| 207 | 102 | { |
| r250286 | r250287 | |
| 751 | 646 | this->d3dintf = d3dintf; |
| 752 | 647 | this->machine = machine; |
| 753 | 648 | this->d3d = renderer; |
| 649 | this->options = renderer->get_shaders_options(); |
| 754 | 650 | |
| 755 | 651 | windows_options &winoptions = downcast<windows_options &>(machine->options()); |
| 756 | 652 | |
| r250286 | r250287 | |
| 759 | 655 | hlsl_prescale_y = winoptions.d3d_hlsl_prescale_y(); |
| 760 | 656 | snap_width = winoptions.d3d_snap_width(); |
| 761 | 657 | snap_height = winoptions.d3d_snap_height(); |
| 762 | | preset = winoptions.d3d_hlsl_preset(); |
| 763 | 658 | |
| 764 | | if (preset < -1 || preset > 3) |
| 659 | if (!options->params_init) |
| 765 | 660 | { |
| 766 | | preset = -1; |
| 767 | | } |
| 768 | | |
| 769 | | options = (hlsl_options*)global_alloc_clear(hlsl_options); |
| 770 | | |
| 771 | | // unsafe |
| 772 | | strcpy(options->shadow_mask_texture, winoptions.screen_shadow_mask_texture()); |
| 773 | | |
| 774 | | if (preset == -1) |
| 775 | | { |
| 661 | strncpy(options->shadow_mask_texture, winoptions.screen_shadow_mask_texture(), sizeof(options->shadow_mask_texture)); |
| 776 | 662 | options->shadow_mask_alpha = winoptions.screen_shadow_mask_alpha(); |
| 777 | 663 | options->shadow_mask_count_x = winoptions.screen_shadow_mask_count_x(); |
| 778 | 664 | options->shadow_mask_count_y = winoptions.screen_shadow_mask_count_y(); |
| r250286 | r250287 | |
| 805 | 691 | get_vector(winoptions.screen_floor(), 3, options->floor, TRUE); |
| 806 | 692 | get_vector(winoptions.screen_phosphor(), 3, options->phosphor, TRUE); |
| 807 | 693 | options->saturation = winoptions.screen_saturation(); |
| 694 | options->yiq_enable = winoptions.screen_yiq_enable(); |
| 695 | options->yiq_cc = winoptions.screen_yiq_cc(); |
| 696 | options->yiq_a = winoptions.screen_yiq_a(); |
| 697 | options->yiq_b = winoptions.screen_yiq_b(); |
| 698 | options->yiq_o = winoptions.screen_yiq_o(); |
| 699 | options->yiq_p = winoptions.screen_yiq_p(); |
| 700 | options->yiq_n = winoptions.screen_yiq_n(); |
| 701 | options->yiq_y = winoptions.screen_yiq_y(); |
| 702 | options->yiq_i = winoptions.screen_yiq_i(); |
| 703 | options->yiq_q = winoptions.screen_yiq_q(); |
| 704 | options->yiq_scan_time = winoptions.screen_yiq_scan_time(); |
| 705 | options->yiq_phase_count = winoptions.screen_yiq_phase_count(); |
| 706 | options->vector_length_scale = winoptions.screen_vector_length_scale(); |
| 707 | options->vector_length_ratio = winoptions.screen_vector_length_ratio(); |
| 708 | options->bloom_scale = winoptions.screen_bloom_scale(); |
| 709 | get_vector(winoptions.screen_bloom_overdrive(), 3, options->bloom_overdrive, TRUE); |
| 710 | options->bloom_level0_weight = winoptions.screen_bloom_lvl0_weight(); |
| 711 | options->bloom_level1_weight = winoptions.screen_bloom_lvl1_weight(); |
| 712 | options->bloom_level2_weight = winoptions.screen_bloom_lvl2_weight(); |
| 713 | options->bloom_level3_weight = winoptions.screen_bloom_lvl3_weight(); |
| 714 | options->bloom_level4_weight = winoptions.screen_bloom_lvl4_weight(); |
| 715 | options->bloom_level5_weight = winoptions.screen_bloom_lvl5_weight(); |
| 716 | options->bloom_level6_weight = winoptions.screen_bloom_lvl6_weight(); |
| 717 | options->bloom_level7_weight = winoptions.screen_bloom_lvl7_weight(); |
| 718 | options->bloom_level8_weight = winoptions.screen_bloom_lvl8_weight(); |
| 719 | options->bloom_level9_weight = winoptions.screen_bloom_lvl9_weight(); |
| 720 | options->bloom_level10_weight = winoptions.screen_bloom_lvl10_weight(); |
| 721 | |
| 722 | options->params_init = true; |
| 808 | 723 | } |
| 809 | | else |
| 810 | | { |
| 811 | | options = &s_hlsl_presets[preset]; |
| 812 | | } |
| 813 | 724 | |
| 814 | | options->yiq_enable = winoptions.screen_yiq_enable(); |
| 815 | | options->yiq_cc = winoptions.screen_yiq_cc(); |
| 816 | | options->yiq_a = winoptions.screen_yiq_a(); |
| 817 | | options->yiq_b = winoptions.screen_yiq_b(); |
| 818 | | options->yiq_o = winoptions.screen_yiq_o(); |
| 819 | | options->yiq_p = winoptions.screen_yiq_p(); |
| 820 | | options->yiq_n = winoptions.screen_yiq_n(); |
| 821 | | options->yiq_y = winoptions.screen_yiq_y(); |
| 822 | | options->yiq_i = winoptions.screen_yiq_i(); |
| 823 | | options->yiq_q = winoptions.screen_yiq_q(); |
| 824 | | options->yiq_scan_time = winoptions.screen_yiq_scan_time(); |
| 825 | | options->yiq_phase_count = winoptions.screen_yiq_phase_count(); |
| 826 | | options->vector_length_scale = winoptions.screen_vector_length_scale(); |
| 827 | | options->vector_length_ratio = winoptions.screen_vector_length_ratio(); |
| 828 | | options->bloom_scale = winoptions.screen_bloom_scale(); |
| 829 | | get_vector(winoptions.screen_bloom_overdrive(), 3, options->bloom_overdrive, TRUE); |
| 830 | | options->bloom_level0_weight = winoptions.screen_bloom_lvl0_weight(); |
| 831 | | options->bloom_level1_weight = winoptions.screen_bloom_lvl1_weight(); |
| 832 | | options->bloom_level2_weight = winoptions.screen_bloom_lvl2_weight(); |
| 833 | | options->bloom_level3_weight = winoptions.screen_bloom_lvl3_weight(); |
| 834 | | options->bloom_level4_weight = winoptions.screen_bloom_lvl4_weight(); |
| 835 | | options->bloom_level5_weight = winoptions.screen_bloom_lvl5_weight(); |
| 836 | | options->bloom_level6_weight = winoptions.screen_bloom_lvl6_weight(); |
| 837 | | options->bloom_level7_weight = winoptions.screen_bloom_lvl7_weight(); |
| 838 | | options->bloom_level8_weight = winoptions.screen_bloom_lvl8_weight(); |
| 839 | | options->bloom_level9_weight = winoptions.screen_bloom_lvl9_weight(); |
| 840 | | options->bloom_level10_weight = winoptions.screen_bloom_lvl10_weight(); |
| 841 | | |
| 842 | 725 | options->params_dirty = true; |
| 843 | 726 | |
| 844 | 727 | g_slider_list = init_slider_list(); |
| r250286 | r250287 | |
| 2104 | 1987 | |
| 2105 | 1988 | initialized = false; |
| 2106 | 1989 | |
| 1990 | options = NULL; |
| 1991 | |
| 2107 | 1992 | cache_target *currcache = cachehead; |
| 2108 | 1993 | while(cachehead != NULL) |
| 2109 | 1994 | { |
| r250286 | r250287 | |
| 2235 | 2120 | // get_vector |
| 2236 | 2121 | //============================================================ |
| 2237 | 2122 | |
| 2238 | | static void get_vector(const char *data, int count, float *out, int report_error) |
| 2123 | static void get_vector(const char *data, int count, float *out, bool report_error) |
| 2239 | 2124 | { |
| 2240 | 2125 | if (count > 3 && |
| 2241 | 2126 | sscanf(data, "%f,%f,%f,%f", &out[0], &out[1], &out[2], &out[3]) < 4 && report_error) |
trunk/src/osd/windows/winmain.c
| r250286 | r250287 | |
| 274 | 274 | // performance options |
| 275 | 275 | { NULL, NULL, OPTION_HEADER, "WINDOWS PERFORMANCE OPTIONS" }, |
| 276 | 276 | { WINOPTION_PRIORITY "(-15-1)", "0", OPTION_INTEGER, "thread priority for the main game thread; range from -15 to 1" }, |
| 277 | | { WINOPTION_PROFILE, "0", OPTION_INTEGER, "enable profiling, specifying the stack depth to track" }, |
| 277 | { WINOPTION_PROFILE, "0", OPTION_INTEGER, "enables profiling, specifying the stack depth to track" }, |
| 278 | 278 | |
| 279 | 279 | // video options |
| 280 | 280 | { NULL, NULL, OPTION_HEADER, "WINDOWS VIDEO OPTIONS" }, |
| 281 | | { WINOPTION_MENU, "0", OPTION_BOOLEAN, "enable menu bar if available by UI implementation" }, |
| 281 | { WINOPTION_MENU, "0", OPTION_BOOLEAN, "enables menu bar if available by UI implementation" }, |
| 282 | 282 | |
| 283 | 283 | // DirectDraw-specific options |
| 284 | 284 | { NULL, NULL, OPTION_HEADER, "DIRECTDRAW-SPECIFIC OPTIONS" }, |
| 285 | | { WINOPTION_HWSTRETCH ";hws", "1", OPTION_BOOLEAN, "enable hardware stretching" }, |
| 285 | { WINOPTION_HWSTRETCH ";hws", "1", OPTION_BOOLEAN, "enables hardware stretching" }, |
| 286 | 286 | |
| 287 | 287 | // post-processing options |
| 288 | 288 | { NULL, NULL, OPTION_HEADER, "DIRECT3D POST-PROCESSING OPTIONS" }, |
| 289 | | { WINOPTION_HLSL_ENABLE";hlsl", "0", OPTION_BOOLEAN, "enable HLSL post-processing (PS3.0 required)" }, |
| 289 | { WINOPTION_HLSL_ENABLE";hlsl", "0", OPTION_BOOLEAN, "enables HLSL post-processing (PS3.0 required)" }, |
| 290 | 290 | { WINOPTION_HLSLPATH, "hlsl", OPTION_STRING, "path to hlsl files" }, |
| 291 | 291 | { WINOPTION_HLSL_PRESCALE_X, "0", OPTION_INTEGER, "HLSL pre-scale override factor for X (0 for auto)" }, |
| 292 | 292 | { WINOPTION_HLSL_PRESCALE_Y, "0", OPTION_INTEGER, "HLSL pre-scale override factor for Y (0 for auto)" }, |
| 293 | | { WINOPTION_HLSL_PRESET";(-1-3)", "-1", OPTION_INTEGER, "HLSL preset to use (0-3)" }, |
| 294 | | { WINOPTION_HLSL_WRITE, NULL, OPTION_STRING, "enable HLSL AVI writing (huge disk bandwidth suggested)" }, |
| 293 | { WINOPTION_HLSL_WRITE, NULL, OPTION_STRING, "enables HLSL AVI writing (huge disk bandwidth suggested)" }, |
| 295 | 294 | { WINOPTION_HLSL_SNAP_WIDTH, "2048", OPTION_STRING, "HLSL upscaled-snapshot width" }, |
| 296 | 295 | { WINOPTION_HLSL_SNAP_HEIGHT, "1536", OPTION_STRING, "HLSL upscaled-snapshot height" }, |
| 297 | 296 | { WINOPTION_SHADOW_MASK_ALPHA";fs_shadwa(0.0-1.0)", "0.0", OPTION_FLOAT, "shadow mask alpha-blend value (1.0 is fully blended, 0.0 is no mask)" }, |
| 298 | 297 | { WINOPTION_SHADOW_MASK_TEXTURE";fs_shadwt(0.0-1.0)", "aperture.png", OPTION_STRING, "shadow mask texture name" }, |
| 299 | | { WINOPTION_SHADOW_MASK_COUNT_X";fs_shadww", "6", OPTION_INTEGER, "shadow mask width, in phosphor dots" }, |
| 300 | | { WINOPTION_SHADOW_MASK_COUNT_Y";fs_shadwh", "6", OPTION_INTEGER, "shadow mask height, in phosphor dots" }, |
| 301 | | { WINOPTION_SHADOW_MASK_USIZE";fs_shadwu(0.0-1.0)", "0.1875", OPTION_FLOAT, "shadow mask texture size in U direction" }, |
| 302 | | { WINOPTION_SHADOW_MASK_VSIZE";fs_shadwv(0.0-1.0)", "0.1875", OPTION_FLOAT, "shadow mask texture size in V direction" }, |
| 303 | | { WINOPTION_SHADOW_MASK_UOFFSET";fs_shadwou(-1.0-1.0)", "0.0", OPTION_FLOAT, "shadow mask texture offset in U direction" }, |
| 304 | | { WINOPTION_SHADOW_MASK_VOFFSET";fs_shadwov(-1.0-1.0)", "0.0", OPTION_FLOAT, "shadow mask texture offset in V direction" }, |
| 298 | { WINOPTION_SHADOW_MASK_COUNT_X";fs_shadww", "6", OPTION_INTEGER, "shadow mask tile width, in screen dimensions" }, |
| 299 | { WINOPTION_SHADOW_MASK_COUNT_Y";fs_shadwh", "6", OPTION_INTEGER, "shadow mask tile height, in screen dimensions" }, |
| 300 | { WINOPTION_SHADOW_MASK_USIZE";fs_shadwu(0.0-1.0)", "0.1875", OPTION_FLOAT, "shadow mask texture width, in U/V dimensions" }, |
| 301 | { WINOPTION_SHADOW_MASK_VSIZE";fs_shadwv(0.0-1.0)", "0.1875", OPTION_FLOAT, "shadow mask texture height, in U/V dimensions" }, |
| 302 | { WINOPTION_SHADOW_MASK_UOFFSET";fs_shadwou(-1.0-1.0)", "0.0", OPTION_FLOAT, "shadow mask texture offset, in U direction" }, |
| 303 | { WINOPTION_SHADOW_MASK_VOFFSET";fs_shadwov(-1.0-1.0)", "0.0", OPTION_FLOAT, "shadow mask texture offset, in V direction" }, |
| 305 | 304 | { WINOPTION_CURVATURE";fs_curv(0.0-1.0)", "0.0", OPTION_FLOAT, "screen curvature amount" }, |
| 306 | 305 | { WINOPTION_ROUND_CORNER";fs_rndc(0.0-1.0)", "0.0", OPTION_FLOAT, "screen round corner amount" }, |
| 307 | 306 | { WINOPTION_SMOOTH_BORDER";fs_smob(0.0-1.0)", "0.0", OPTION_FLOAT, "screen smooth border amount" }, |
| r250286 | r250287 | |
| 331 | 330 | { WINOPTION_PHOSPHOR";fs_phosphor", "0.4,0.4,0.4",OPTION_STRING, "phosphorescence decay rate (0.0 is instant, 1.0 is forever)" }, |
| 332 | 331 | /* NTSC simulation below this line */ |
| 333 | 332 | { NULL, NULL, OPTION_HEADER, "NTSC POST-PROCESSING OPTIONS" }, |
| 334 | | { WINOPTION_YIQ_ENABLE";yiq", "0", OPTION_BOOLEAN, "enable YIQ-space HLSL post-processing" }, |
| 333 | { WINOPTION_YIQ_ENABLE";yiq", "0", OPTION_BOOLEAN, "enables YIQ-space HLSL post-processing" }, |
| 335 | 334 | { WINOPTION_YIQ_CCVALUE";yiqcc", "3.59754545",OPTION_FLOAT, "Color Carrier frequency for NTSC signal processing" }, |
| 336 | 335 | { WINOPTION_YIQ_AVALUE";yiqa", "0.5", OPTION_FLOAT, "A value for NTSC signal processing" }, |
| 337 | 336 | { WINOPTION_YIQ_BVALUE";yiqb", "0.5", OPTION_FLOAT, "B value for NTSC signal processing" }, |
| r250286 | r250287 | |
| 367 | 366 | |
| 368 | 367 | // full screen options |
| 369 | 368 | { NULL, NULL, OPTION_HEADER, "FULL SCREEN OPTIONS" }, |
| 370 | | { WINOPTION_TRIPLEBUFFER ";tb", "0", OPTION_BOOLEAN, "enable triple buffering" }, |
| 369 | { WINOPTION_TRIPLEBUFFER ";tb", "0", OPTION_BOOLEAN, "enables triple buffering" }, |
| 371 | 370 | { WINOPTION_FULLSCREENBRIGHTNESS ";fsb(0.1-2.0)", "1.0", OPTION_FLOAT, "brightness value in full screen mode" }, |
| 372 | 371 | { WINOPTION_FULLSCREENCONTRAST ";fsc(0.1-2.0)", "1.0", OPTION_FLOAT, "contrast value in full screen mode" }, |
| 373 | 372 | { WINOPTION_FULLSCREENGAMMA ";fsg(0.1-3.0)", "1.0", OPTION_FLOAT, "gamma value in full screen mode" }, |
| 374 | 373 | |
| 375 | 374 | // input options |
| 376 | 375 | { NULL, NULL, OPTION_HEADER, "INPUT DEVICE OPTIONS" }, |
| 377 | | { WINOPTION_GLOBAL_INPUTS ";global_inputs", "0", OPTION_BOOLEAN, "enable global inputs" }, |
| 378 | | { WINOPTION_DUAL_LIGHTGUN ";dual", "0", OPTION_BOOLEAN, "enable dual lightgun input" }, |
| 376 | { WINOPTION_GLOBAL_INPUTS ";global_inputs", "0", OPTION_BOOLEAN, "enables global inputs" }, |
| 377 | { WINOPTION_DUAL_LIGHTGUN ";dual", "0", OPTION_BOOLEAN, "enables dual lightgun input" }, |
| 379 | 378 | |
| 380 | 379 | { NULL } |
| 381 | 380 | }; |