X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame.c;h=1846b5760ee06854dd05e1b8d2f84fbe7828bf20;hb=da79be9b6a4134aa9cd19e6f5909fedb20d318cb;hp=194365ecc3a739663131a9eedb7c5f5b87a8705c;hpb=a2115940e7643dcb1b87286f3d19fe95f7b79bd3;p=flatwaifu.git diff --git a/src/game.c b/src/game.c index 194365e..1846b57 100644 --- a/src/game.c +++ b/src/game.c @@ -27,7 +27,6 @@ #include "files.h" #include "memory.h" #include "vga.h" -#include "error.h" #include "keyb.h" #include "sound.h" #include "view.h" @@ -113,29 +112,57 @@ static void set_trans(int st) { } void G_savegame(FILE* h) { - myfwrite(&_2pl,1,1,h);myfwrite(&g_dm,1,1,h);myfwrite(&g_exit,1,1,h);myfwrite(&g_map,1,1,h); - myfwrite(&g_time,1,4,h);myfwrite(&dm_pl1p,1,4,h);myfwrite(&dm_pl2p,1,4,h); - myfwrite(&dm_pnum,1,4,h);myfwrite(dm_pos,1,dm_pnum*sizeof(pos_t),h); - myfwrite(&cheat,1,1,h); - myfwrite(g_music,1,8,h); + myfwrite8(_2pl, h); + myfwrite8(g_dm, h); + myfwrite8(g_exit, h); + myfwrite8(g_map, h); + myfwrite32(g_time, h); + myfwrite32(dm_pl1p, h); + myfwrite32(dm_pl2p, h); + myfwrite32(dm_pnum, h); + int i = 0; + while (i < dm_pnum) { + myfwrite32(dm_pos[i].x, h); + myfwrite32(dm_pos[i].y, h); + myfwrite8(dm_pos[i].d, h); + i += 1; + } + myfwrite8(cheat, h); + myfwrite(g_music, 8, 1, h); } void G_loadgame(FILE* h) { - myfread(&_2pl,1,1,h);myfread(&g_dm,1,1,h);myfread(&g_exit,1,1,h);myfread(&g_map,1,1,h); - myfread(&g_time,1,4,h);myfread(&dm_pl1p,1,4,h);myfread(&dm_pl2p,1,4,h); - myfread(&dm_pnum,1,4,h);myfread(dm_pos,1,dm_pnum*sizeof(pos_t),h); - myfread(&cheat,1,1,h); - myfread(g_music,1,8,h);F_loadmus(g_music); + myfread8(&_2pl, h); + myfread8(&g_dm, h); + myfread8(&g_exit, h); + myfread8(&g_map, h); + myfread32(&g_time, h); + myfread32(&dm_pl1p, h); + myfread32(&dm_pl2p, h); + myfread32(&dm_pnum, h); + int i = 0; + while (i < dm_pnum) { + myfread32(&dm_pos[i].x, h); + myfread32(&dm_pos[i].y, h); + myfread8(&dm_pos[i].d, h); + i += 1; + } + myfread8(&cheat, h); + myfread(g_music, 8, 1, h); + F_loadmus(g_music); } -int G_load(FILE* h) { - switch(blk.t) { +int G_load (FILE *h) { + switch (blk.t) { case MB_MUSIC: - myfread(g_music,1,8,h); - if (music_random) F_randmus(g_music); - F_loadmus(g_music); + myfread(g_music, 8, 1, h); + if (music_random) { + F_randmus(g_music); + } + F_loadmus(g_music); return 1; - }return 0; + } + return 0; } void load_game(int n) { @@ -196,10 +223,10 @@ void G_init(void) { logo("G_init: настройка ресурсов игры "); logo_gas(5,GGAS_TOTAL); telepsnd=Z_getsnd("TELEPT"); - scrnh[0]=M_lock(F_getresid("TITLEPIC")); - scrnh[1]=M_lock(F_getresid("INTERPIC")); - scrnh[2]=M_lock(F_getresid("ENDPIC")); - cd_scr=M_lock(F_getresid("CD1PIC")); + scrnh[0]=V_loadvgaimg("TITLEPIC"); + scrnh[1]=V_loadvgaimg("INTERPIC"); + scrnh[2]=V_loadvgaimg("ENDPIC"); + cd_scr=V_loadvgaimg("CD1PIC"); for(i=0;i<2;++i) { sprintf(s,"LTN%c",i+'1'); for(j=0;j<2;++j)