Circles, entirely too long ago, said:
there ya go
make it read off a byte table instead of a routine table please
Aaand now i’ve finally done it.
All this does is make the engine that decides which of these two modes to use be less stupid; and hopefully, easier to expand upon.
edit: ASM is now more efficiently compressed, so it fits inline without changing vanilla functions (for a few portraits that never get used as units normally, though, so the actual change is nil)