I'm aware of TEVs -- I did write http://magcius.github.io/bmdview.js/bmdview.html after all, which compiles TEV back into GL shaders :)
My point was more that TEVs can't modify texture coordinates, since texcoordgen happens before the TEV stage. TEVs only specify how to blend vertex colors, texture samples, game-set registers and lighting results together using configurable formulas.
It's been a while, but I seem to remember there was an additional indirect texture unit for doing just this kind of stuff.
He mentioned this already:
> the only method of texture warping is INDTEXMTX, which was only used for the heat effects in Dragon Roost Cavern
I agree. I wrote a large comment about this over on reddit.
https://www.reddit.com/r/programming/comments/5cffew/wind_wa...
At my old company I wrote an assembler to read text source and assemble the instructions into TEV format.