X-Git-Url: https://deadsoftware.ru/gitweb?p=flatwaifu.git;a=blobdiff_plain;f=src%2Fswitch.c;h=886bee934096b71df73538dbd69580096c898988;hp=79f15c02fc38aef8840ca6f2f5658faec2611372;hb=ef16dea09f87b15fc6d58fae0aa0832e0648c00e;hpb=21e27adcd50196e94141390f96c8d4a089ccde08 diff --git a/src/switch.c b/src/switch.c index 79f15c0..886bee9 100644 --- a/src/switch.c +++ b/src/switch.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 @@ -32,88 +27,15 @@ #include "game.h" #include "my.h" #include "monster.h" - -#define MAXSW 100 - -typedef struct { - byte x, y; - byte t, tm; - byte a, b, c, d; - byte f; -} sw_t; +#include "render.h" int sw_secrets; +sw_t sw[MAXSW]; -static sw_t sw[MAXSW]; static void *sndswn, *sndswx, *sndnoway, *sndbdo, *sndbdc, *sndnotele; static int swsnd; static byte cht, chto, chf, f_ch; -void SW_savegame (FILE *h) { - int i, n; - for (n = MAXSW - 1; n >= 0 && sw[n].t == 0; n--) { - // empty - } - n += 1; - myfwrite32(n, h); - for (i = 0; i < n; i++) { - myfwrite8(sw[i].x, h); - myfwrite8(sw[i].y, h); - myfwrite8(sw[i].t, h); - myfwrite8(sw[i].tm, h); - myfwrite8(sw[i].a, h); - myfwrite8(sw[i].b, h); - myfwrite8(sw[i].c, h); - myfwrite8(sw[i].d, h); - myfwrite8(sw[i].f, h); - } - myfwrite32(sw_secrets, h); -} - -void SW_loadgame (FILE *h) { - int i, n; - n = myfread32(h); - for (i = 0; i < n; i++) { - sw[i].x = myfread8(h); - sw[i].y = myfread8(h); - sw[i].t = myfread8(h); - sw[i].tm = myfread8(h); - sw[i].a = myfread8(h); - sw[i].b = myfread8(h); - sw[i].c = myfread8(h); - sw[i].d = myfread8(h); - sw[i].f = myfread8(h); - } - sw_secrets = myfread32(h); -} - -int SW_load (FILE *h) { - int i; - switch(blk.t) { - case MB_SWITCH2: - sw_secrets = 0; - for (i = 0; i < MAXSW && blk.sz > 0; ++i, blk.sz -= 9) { - sw[i].x = myfread8(h); - sw[i].y = myfread8(h); - sw[i].t = myfread8(h); - sw[i].tm = myfread8(h); // unused - sw[i].a = myfread8(h); - sw[i].b = myfread8(h); - sw[i].c = myfread8(h); - sw[i].d = myfread8(h); // unused - sw[i].f = myfread8(h); - sw[i].tm = 0; - sw[i].d = 0; - sw[i].f |= 0x80; - if (sw[i].t == SW_SECRET) { - ++sw_secrets; - } - } - return 1; - } - return 0; -} - void SW_alloc (void) { sndswn=Z_getsnd("SWTCHN"); sndswx=Z_getsnd("SWTCHX");