X-Git-Url: https://deadsoftware.ru/gitweb?p=flatwaifu.git;a=blobdiff_plain;f=src%2Fview.c;h=6a8132996c3d632302621c66cd908bde5c45453a;hp=73953d7dea30d469ec88408bf47f4cd230cc1ff1;hb=563dffaf02ff36da4054f937fcc9f99a072e15bf;hpb=d070670f189ec66ed2ac6b45834a192c004bc92f diff --git a/src/view.c b/src/view.c index 73953d7..6a81329 100644 --- a/src/view.c +++ b/src/view.c @@ -23,7 +23,6 @@ #include "glob.h" #include #include -#include "vga.h" #include "memory.h" #include "files.h" #include "error.h" @@ -42,66 +41,13 @@ #include "my.h" #include "render.h" -int WD; -int HT; - -extern map_block_t blk; - -byte w_horiz=ON; -int w_o,w_x,w_y,sky_type=1; +int sky_type=1; dword walf[256]; -byte walswp[256]; byte fldb[FLDH][FLDW]; byte fldf[FLDH][FLDW]; byte fld[FLDH][FLDW]; -extern int lt_time,lt_type,lt_side,lt_ypos; -extern void *ltn[2][2]; - -void W_savegame (FILE* h) { - char s[8]; - int i; - myfwrite32(sky_type, h); - for(i = 1; i < 256; ++i) { - R_get_name(i, s); - myfwrite(s, 8, 1, h); - } - for (i = 0; i < 256; i++) { - myfwrite32(walf[i], h); - } - for (i = 0; i < 256; i++) { - myfwrite8(walswp[i], h); - } - myfwrite(fldb, FLDW*FLDH, 1, h); - myfwrite(fld, FLDW*FLDH, 1, h); - myfwrite(fldf, FLDW*FLDH, 1, h); -} - -void W_loadgame (FILE* h) { - int i; - char s[256][8]; - sky_type = myfread32(h); - R_loadsky(sky_type); - for (i = 1; i < 256; ++i) { - myfread(s[i], 8, 1, h); - } - R_begin_load(); - R_load("", 0); // empty - i = myfread32(h); // ignore - for (i = 1; i < 256; i++) { - walf[i] = myfread32(h); - R_load(s[i], walf[i] & 1); - } - for (i = 0; i < 256; i++) { - walswp[i] = myfread8(h); - } - myfread(fldb, FLDW*FLDH, 1, h); - myfread(fld, FLDW*FLDH, 1, h); - myfread(fldf, FLDW*FLDH, 1, h); - R_end_load(); -} - -void W_init(void) { +void W_init (void) { DOT_init(); SMK_init(); FX_init(); @@ -111,10 +57,9 @@ void W_init(void) { PL_init(); MN_init(); R_loadsky(1); - free_chunks(); } -static void unpack(void *buf, int len, void *obuf) { +static void unpack (void *buf, int len, void *obuf) { int i = 0; int j = 0; unsigned char *p = buf; @@ -134,17 +79,17 @@ static void unpack(void *buf, int len, void *obuf) { } int W_load (FILE *h) { + int i; char s[8]; - int i, j, t; void *p, *buf; switch (blk.t) { case MB_WALLNAMES: R_begin_load(); - R_load("", 0); // empty + memset(walf, 0, sizeof(walf)); for (i = 1; i < 256 && blk.sz > 0; i++, blk.sz -= 9) { myfread(s, 8, 1, h); - t = myfread8(h); - R_load(s, t); + walf[i] = myfread8(h) ? 1 : 0; // ??? + R_load(s); if (strncasecmp(s, "VTRAP01", 8) == 0) { walf[i] |= 2; }