X-Git-Url: https://deadsoftware.ru/gitweb?p=flatwaifu.git;a=blobdiff_plain;f=src%2Fview.c;h=f902e23648dbe7727678f94a702feda84f22d4d9;hp=18196984a49fff3acc5aaf33351195f7630584b0;hb=2b481ae25adcf3bebf37be182eafc8bfa0acb4c1;hpb=2bb81ea2565c3627c954b5c37326db89b0048472 diff --git a/src/view.c b/src/view.c index 1819698..f902e23 100644 --- a/src/view.c +++ b/src/view.c @@ -41,10 +41,8 @@ #include "my.h" #include "render.h" -byte w_horiz=ON; int sky_type=1; dword walf[256]; -byte walswp[256]; byte fldb[FLDH][FLDW]; byte fldf[FLDH][FLDW]; byte fld[FLDH][FLDW]; @@ -61,7 +59,7 @@ void W_savegame (FILE* h) { myfwrite32(walf[i], h); } for (i = 0; i < 256; i++) { - myfwrite8(walswp[i], h); + myfwrite8(R_get_swp(i), h); } myfwrite(fldb, FLDW*FLDH, 1, h); myfwrite(fld, FLDW*FLDH, 1, h); @@ -70,26 +68,26 @@ void W_savegame (FILE* h) { void W_loadgame (FILE* h) { int i; - char s[256][8]; + char s[8]; sky_type = myfread32(h); R_loadsky(sky_type); + R_begin_load(); for (i = 1; i < 256; ++i) { - myfread(s[i], 8, 1, h); + myfread(s, 8, 1, h); + if (s[0]) { + R_load(s); + } } - R_begin_load(); - i = myfread32(h); // ignore - for (i = 1; i < 256; i++) { - walf[i] = myfread32(h); - R_load(s[i], walf[i] & 1); + R_end_load(); + for (i = 0; i < 256; i++) { + myfread32(h); // useless } for (i = 0; i < 256; i++) { - //walswp[i] = myfread8(h); - (void)myfread8(h); // useless in new code + walf[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) { @@ -102,7 +100,6 @@ void W_init (void) { PL_init(); MN_init(); R_loadsky(1); - free_chunks(); } static void unpack (void *buf, int len, void *obuf) { @@ -125,16 +122,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(); + 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; }