X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=dosdemo;a=blobdiff_plain;f=src%2Ftunnel.c;h=9071b74ea4a1cba12010c6bcd4c86c88bfff6da3;hp=63f0f9feff3a3b51be8559eb77e717797328b75a;hb=3398fc6c4188104048f99b650a6cb90beda9b6ed;hpb=5d9ec41cc62ebddf5d406511714e561e88884987 diff --git a/src/tunnel.c b/src/tunnel.c index 63f0f9f..9071b74 100644 --- a/src/tunnel.c +++ b/src/tunnel.c @@ -6,6 +6,7 @@ #include "imago2.h" #include "demo.h" #include "screen.h" +#include "gfxutil.h" #ifndef M_PI #define M_PI 3.1415926535 @@ -182,9 +183,9 @@ static void draw(void) int starty = i * num_lines; int resty = starty + draw_lines; int rest_lines = num_lines - draw_lines; - draw_tunnel_range(vmem_back, xoffs, yoffs, starty, draw_lines, time_msec); + draw_tunnel_range(fb_pixels, xoffs, yoffs, starty, draw_lines, time_msec); if(rest_lines) { - memset(vmem_back + resty * fb_width, 0, rest_lines * fb_width * 2); + memset(fb_pixels + resty * fb_width, 0, rest_lines * fb_width * 2); } } @@ -213,18 +214,13 @@ static void tunnel_color(int *rp, int *gp, int *bp, long toffs, unsigned int tpa *bp = (b * fog) >> 8; } -#define PACK_RGB16(r, g, b) \ - (((((r) >> 3) & 0x1f) << 11) | ((((g) >> 2) & 0x3f) << 5) | (((b) >> 3) & 0x1f)) -#define PACK_RGB32(r, g, b) \ - ((((r) & 0xff) << 16) | (((g) & 0xff) << 8) | ((b) & 0xff)) - static void draw_tunnel_range(unsigned short *pix, int xoffs, int yoffs, int starty, int num_lines, long tm) { int i, j; unsigned int *tmap = tunnel_map + (starty + yoffs) * vxsz + xoffs; unsigned char *fog = tunnel_fog + (starty + yoffs) * vxsz + xoffs; - long toffs = tm / 4; + long toffs = tm / 8; unsigned int *pixels = (unsigned int*)pix + starty * (fb_width >> 1); for(i=0; i