Buenas gente.
Tengo un problema, por lo que veo, en las últimas versiones de mame reescribieron los shader para HLSL y ahora no logro emular la geometría (curvatura) de un CRT.
Lo primero, estoy probando con MAME 173 de 64 bit, sobre window 10.
Segundo. las opciones para habilitar el HLSL las tengo de la siguiente manera:
#
# OSD VIDEO OPTIONS
#
#video opengl
video d3d
numscreens 1
window 0
maximize 1
waitvsync 0
syncrefresh 1
#
# OSD FULL SCREEN OPTIONS
#
switchres 0
#
# OSD ACCELERATED VIDEO OPTIONS
#
filter 0
prescale 0
#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlslpath hlsl
hlsl_enable 1
hlsl_oversampling 0
hlsl_write
hlsl_snap_width 2048
hlsl_snap_height 1536
shadow_mask_tile_mode 1
shadow_mask_alpha 0.2
shadow_mask_texture crt_slot_mask.png
shadow_mask_x_count 320
shadow_mask_y_count 240
shadow_mask_usize 0.375000
shadow_mask_vsize 0.250000
shadow_mask_uoffset 0.0
shadow_mask_voffset 0.0
distortion 0.05 # 1/2 curvature
cubic_distortion 0.025 # 1/4 curvature
distort_corner 0.075 # distortion + cubic_distortion
round_corner 0.05 # no change
smooth_border 0.4 # no change
reflection 0.0
vignetting 0.0
scanline_alpha 0.0
scanline_size 1.0
scanline_height 1.0
scanline_variation 1.0
scanline_bright_scale 1.0
scanline_bright_offset 0.0
scanline_jitter 0.0
hum_bar_alpha 0.0
defocus 1.500000,1.500000
converge_x -0.300000,0.000000,0.300000
converge_y -0.300000,0.000000,0.300000
radial_converge_x 0.000000,0.000000,0.000000
radial_converge_y 0.000000,0.000000,0.000000
red_ratio 1.000000,0.000000,0.000000
grn_ratio 0.000000,1.000000,0.000000
blu_ratio 0.000000,0.000000,1.000000
saturation 1.050000
offset 0.000000,0.000000,0.000000
scale 1.020000,1.020000,1.020000
power 1.300000,1.300000,1.300000
floor 0.050000,0.050000,0.050000
phosphor_life 0.400000,0.400000,0.400000
Tercero, HLSL si funciona, ya que si veo algunos efectos, como el "shadow mask", pero no tengo el efecto de curvatura. Se supone que en esta versión de mame, esto se consigue con los siguiente parámetros:
distortion 0.05 # 1/2 curvature
cubic_distortion 0.025 # 1/4 curvature
distort_corner 0.075 # distortion + cubic_distortion
round_corner 0.05 # no change
smooth_border 0.4 # no change
Pero por más que toco esos parámetros no hay cambio alguno.
Imagino que me debe estar faltando algo, pero no sé qué, a ver si alguien más entendido en el tema me da una pista de que me falta.
gracias.
NOTA:
Por si acaso, por lo que leí, los viejos parámetros de HLSL que funcionaban en las versiones 1.5x ya no hacen nada (y si, los probé también), me refiero a
curvature 0.150000
pincushion 0.040000
EDIT:
Ya di con el problema, dejo la solución acá por si a alguien más le sirve.
En el directorio INI de mame, viene un subdirectorio llamado "presets" que contiene diferentes configuraciones para diferentes plataformas (esto viene por defecto en la descarga de mame) y esos archivos tienen prioridad sobre el mame.ini.
Borrar o renombrar esa carpeta y listo, ahora si que mame les tomará en cuenta los parámetros que coloquen en mame.ini.