#define FBWIDTH 240
#define FBHEIGHT 160
/* map size */
-#define XSZ 512
-#define YSZ 512
-#define XSHIFT 9
-#define XMASK 0x1ff
-#define YMASK 0x1ff
+#define XSZ 256
+#define YSZ 256
+#define XSHIFT 8
+#define XMASK 0xff
+#define YMASK 0xff
+#define HSCALE 20
#define NO_LERP
{
struct voxscape *vox;
+ assert(xsz == XSZ && ysz == YSZ);
+
if(!(vox = calloc(1, sizeof *vox))) {
return 0;
}
color = last_col;
} else {
hval = vox->height[offs] - vox->vheight;
- hval = hval * 40 / (vox->znear + n) + vox->horizon;
+ hval = hval * HSCALE / (vox->znear + n) + vox->horizon;
if(hval > FBHEIGHT) hval = FBHEIGHT;
color = vox->color[offs];
last_offs = offs;
color = last_col;
} else {
hval = vox->height[offs] - vox->vheight;
- hval = hval * 40 / (vox->znear + n) + vox->horizon;
+ hval = hval * HSCALE / (vox->znear + n) + vox->horizon;
if(hval > FBHEIGHT) hval = FBHEIGHT;
color = vox->color[offs];
last_offs = offs;