X-Git-Url: https://deadsoftware.ru/gitweb?p=flatwaifu.git;a=blobdiff_plain;f=src%2Fitems.c;h=32c4af541068073301894fc022b12ef018dcd8aa;hp=65f39e2bb5f5437a02ff017ead6f102bc9003776;hb=efb17348438f10c929e2e9807013969f71802661;hpb=99e9995ba077aa90b20b47d528ccd3ff27949652 diff --git a/src/items.c b/src/items.c index 65f39e2..32c4af5 100644 --- a/src/items.c +++ b/src/items.c @@ -68,99 +68,6 @@ void IT_init (void) { rsndtm = 0; } -int IT_load (FILE *h) { - int m, i, j; - old_thing_t t; - switch (blk.t) { - case MB_THING: - for (i = 0; blk.sz > 0; ++i, blk.sz -= 8) { - t.x = myfread16(h); - t.y = myfread16(h); - t.t = myfread16(h); - t.f = myfread16(h); - it[i].o.x = t.x; - it[i].o.y = t.y; - it[i].t = t.t; - it[i].s = t.f; - if (it[i].t && (it[i].s & THF_DM) && !g_dm) { - it[i].t=0; - } - } - m = i; - for (i = 0, j = -1; i < m; ++i) { - if (it[i].t == TH_PLR1) { - j = i; - it[i].t = 0; - } - } - if (!g_dm) { - if (j == -1) { - ERR_fatal("Предмет игрок_1 не найден"); - } - dm_pos[0].x = it[j].o.x; - dm_pos[0].y = it[j].o.y; - dm_pos[0].d = it[j].s & THF_DIR; - } - for (i = 0, j = -1; i < m; ++i) { - if (it[i].t == TH_PLR2) { - j = i; - it[i].t = 0; - } - } - if (!g_dm && _2pl) { - if (j == -1) { - ERR_fatal("Предмет игрок_2 не найден"); - } - dm_pos[1].x = it[j].o.x; - dm_pos[1].y = it[j].o.y; - dm_pos[1].d = it[j].s & THF_DIR; - } - for (i = 0, j = 0; i < m; ++i) { - if (it[i].t == TH_DMSTART) { - if (g_dm) { - dm_pos[j].x = it[i].o.x; - dm_pos[j].y = it[i].o.y; - dm_pos[j].d = it[i].s & THF_DIR; - } - it[i].t = 0; - ++j; - } - } - if (g_dm && j < 2) { - ERR_fatal("Меньше 2-ух точек DM"); - } - if (g_dm) { - dm_pnum = j; - dm_pl1p = myrand(dm_pnum); - do { - dm_pl2p = myrand(dm_pnum); - } while (dm_pl2p == dm_pl1p); - } else { - dm_pl1p = 0; - dm_pl2p = 1; - dm_pnum = 2; - } - PL_spawn(&pl1, dm_pos[dm_pl1p].x, dm_pos[dm_pl1p].y, dm_pos[dm_pl1p].d); - if (_2pl) { - PL_spawn(&pl2, dm_pos[dm_pl2p].x, dm_pos[dm_pl2p].y, dm_pos[dm_pl2p].d); - } - for (i = 0; i < m; ++i) { - if (it[i].t >= TH_CLIP && it[i].t < TH_DEMON) { - it[i].s = 0; - it[i].t = it[i].t - TH_CLIP + I_CLIP; - if (it[i].t >= I_KEYR && it[i].t <= I_KEYB) { - it[i].t |= 0x8000; - } - } else if (it[i].t >= TH_DEMON) { - MN_spawn(it[i].o.x, it[i].o.y, it[i].s & THF_DIR, it[i].t - TH_DEMON + MN_DEMON); - it[i].t = 0; - } - } - return 1; - } - return 0; -} - static void takesnd (int t) { if(tsndtm) return; t&=0x7FFF;