DEADSOFTWARE

map: move map loading to separate file
[flatwaifu.git] / src / view.c
index 18196984a49fff3acc5aaf33351195f7630584b0..80e753f17b5eaf68d2bb01c95534434dbb796b0f 100644 (file)
 #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];
 
-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();
-  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);
-    (void)myfread8(h); // useless in new code
-  }
-  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) {
   DOT_init();
   SMK_init();
@@ -102,75 +57,4 @@ void W_init (void) {
   PL_init();
   MN_init();
   R_loadsky(1);
-  free_chunks();
-}
-
-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) {
-  char s[8];
-  int i, j, t;
-  void *p, *buf;
-  switch (blk.t) {
-  case MB_WALLNAMES:
-    R_begin_load();
-    for (i = 1; i < 256 && blk.sz > 0; i++, blk.sz -= 9) {
-      myfread(s, 8, 1, h);
-      t = myfread8(h);
-      R_load(s, t);
-      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;
 }