X-Git-Url: https://deadsoftware.ru/gitweb?p=flatwaifu.git;a=blobdiff_plain;f=src%2Fview.c;h=7a90e1c2d48dada151c94195be558d8d8f37ecba;hp=6a8132996c3d632302621c66cd908bde5c45453a;hb=ef16dea09f87b15fc6d58fae0aa0832e0648c00e;hpb=563dffaf02ff36da4054f937fcc9f99a072e15bf diff --git a/src/view.c b/src/view.c index 6a81329..7a90e1c 100644 --- a/src/view.c +++ b/src/view.c @@ -1,24 +1,19 @@ -/* - Copyright (C) Prikol Software 1996-1997 - Copyright (C) Aleksey Volynskov 1996-1997 - Copyright (C) 2011 - - This file is part of the Doom2D:Rembo project. - - Doom2D:Rembo is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License version 2 as - published by the Free Software Foundation. - - Doom2D:Rembo is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see or - write to the Free Software Foundation, Inc., - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ +/* Copyright (C) 1996-1997 Aleksey Volynskov + * Copyright (C) 2011 Rambo + * Copyright (C) 2020 SovietPony + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 3 of the License ONLY. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include "glob.h" #include @@ -58,74 +53,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; -}