X-Git-Url: https://deadsoftware.ru/gitweb?p=flatwaifu.git;a=blobdiff_plain;f=src%2Fview.c;h=80e753f17b5eaf68d2bb01c95534434dbb796b0f;hp=6a8132996c3d632302621c66cd908bde5c45453a;hb=efb17348438f10c929e2e9807013969f71802661;hpb=99e9995ba077aa90b20b47d528ccd3ff27949652 diff --git a/src/view.c b/src/view.c index 6a81329..80e753f 100644 --- a/src/view.c +++ b/src/view.c @@ -58,74 +58,3 @@ void W_init (void) { MN_init(); R_loadsky(1); } - -static void unpack (void *buf, int len, void *obuf) { - int i = 0; - int j = 0; - unsigned char *p = buf; - unsigned char *q = obuf; - while (i < len) { - int id = p[i]; - int step = 1; - i += 1; - if (id == 0xff) { - step = p[i] | p[i + 1] << 8; - id = p[i + 2]; - i += 3; - } - memset(&q[j], id, step); - j += step; - } -} - -int W_load (FILE *h) { - int i; - char s[8]; - void *p, *buf; - switch (blk.t) { - case MB_WALLNAMES: - R_begin_load(); - memset(walf, 0, sizeof(walf)); - for (i = 1; i < 256 && blk.sz > 0; i++, blk.sz -= 9) { - myfread(s, 8, 1, h); - walf[i] = myfread8(h) ? 1 : 0; // ??? - R_load(s); - if (strncasecmp(s, "VTRAP01", 8) == 0) { - walf[i] |= 2; - } - } - R_end_load(); - return 1; - case MB_BACK: - p = fldb; - goto unp; - case MB_WTYPE: - p = fld; - goto unp; - case MB_FRONT: - p = fldf; - unp: - switch (blk.st) { - case 0: - myfread(p, FLDW * FLDH, 1, h); - break; - case 1: - buf = malloc(blk.sz); - if (buf == NULL) { - ERR_fatal("Не хватает памяти"); - } - myfread(buf, blk.sz, 1, h); - unpack(buf, blk.sz, p); - free(buf); - break; - default: - return 0; - } - return 1; - case MB_SKY: - sky_type = myfread16(h); - R_loadsky(sky_type); - return 1; - } - return 0; -}