Note that 'horizontal' is mapped to rotate around the Z axis, not Y. The Nif particle parameters seem to be set up to expect a normal OpenGL (Direct3D?) orientation, rather than the 90-degree pitch offset of the game.
Not complete yet (doesn't handle the vertical or horizontal direction/angle), and should probably be renamed.