However there is also a code path for drawing using a proprietary ATI CIF hardware accelerated 3D API in winati.c - support for RAGE cards only.
I'd never seen the proprietary ATI 3D calls before.
I dug up some more info here: https://drew1440.com/tag/ati-cif/
Boy some good vertigo memories come with that game.
I worked on this game at exactly the same time:
https://en.wikipedia.org/wiki/Abomination:_The_Nemesis_Proje...
That game was supposed to be 2D, but was switched to the characters being 3D, so I brought my whole DOS software 3D engine and ported it to DirectX over the course of 2 weeks.
I'm going to dig into that drawpoly.asm! There was a lot of competition in the early->mid 90s for poly blitting. I would say I had one of the very top ones. I was doing demo coding before I became a commercial video game developer.
LOL.. reading DRAWPOLY now...
; Draw flat shaded poly
; IN: EDI->polygon data
; OUT: Polygon appears as if by magic in buffer
The real blit code is in 3DPOLY.ASM. Doesn't look like it does perspective-correction on the texture-mapping, which isn't unusual for the time. I don't remember the PS1 well enough, did it do correction in hardware?