The Speaker Config option in Silent Hill 2 became obsolete after Windows XP, since the OS doesn’t let third party apps change that audio configuration any more. We changed that option to emulate the other volume sliders, adding a new “Master Volume” option.

The original sh2 options menu Analyzing polygons in PIX The completed feature
Screenshots taken while developing the feature.

This involved reverse engineering vertex data from the game, drawing those graphics at the right time, handling resolution changes by scaling/translating the vertices and setting the color based on changed/unchanged option.

The right arrow that took input from the mouse was moved to the right, and the function that checks for cursor hitboxes was modified to accommodate the new arrow position. Keyboard interaction was detected by redirecting execution where the game already checked for them. The game’s own check for changed options was used, swapping addresses for my new variables, as was the code to confirm/discard changes. These last features were handled directly in ASM.