- int32_t u, v;
- int c00, c01, c10, c11, c0, c1;
-
- if(!vox->cfilt) {
- return C(x, y);
- }
-
- c00 = C(x, y);
- c01 = C(x, y + 0x10000);
- c10 = C(x + 0x10000, y);
- c11 = C(x + 0x10000, y + 0x10000);
-
- u = x & 0xffff;
- v = y & 0xffff;
-
- c0 = XLERP(c00, c01, v, 16);
- c1 = XLERP(c10, c11, v, 16);
- return XLERP(c0, c1, u, 16);
-}
-#endif /* !NO_LERP */
-
-
-void vox_filter(struct voxscape *vox, int hfilt, int cfilt)
-{
- vox->hfilt = hfilt;
- vox->cfilt = cfilt;
-}
-
-void vox_framebuf(struct voxscape *vox, int xres, int yres, void *fb, int horizon)
-{
- if(xres != vox->fbwidth) {
- if(!(vox->coltop = iwram_sbrk(xres * sizeof *vox->coltop))) {