AKOS codec5 rewrite (experimental)
This patch replaces AkosRenderer::codec5(). It used to call drawBomp(), which cared nothing for masking or the shadow table. As can be seen from the screenshots, this makes quite a difference for the cars in Full Throttle's junkyard.
Of course, this could be the wrong approach. Maybe the right thing to do would be to change drawBomp()? Time will tell, I guess...
Unfortunately, it's not quite working yet. I don't understand why the upper right car is masked the way it is. There are other things that look strange as well, but I believe those are because of different bugs.
One thing that I'm particularly uncertain about is the setting of draw_top and draw_bottom. They used to be set to 0 and vs->height respectively, with a comment from Yazoo that "this is not correct, but fix a lot of bugs for the moment". I don't know which bugs he was talking about, but until I changed it I was never able to walk out of that part of the junkyard. I had to let the dog chase me. I don't know why this is.
I could really use some help at this point...
By the way, I found a number of places where we increase a mask pointer by 40. (Heck, I had to add one of those myself.) Doesn't that mean we're still making assumptions about the screen width, except this time in bits rather than pixels?
Ticket imported from: #618888. Ticket imported from: patches/184.