X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fsmoke.c;h=15961599ebbe65185f948a3b331efa06fdbc97e3;hb=534310c1f131bb9a53be865c32d90342ed026734;hp=6b012610b2eb64487d85602e9dc595bf65a50e19;hpb=da79be9b6a4134aa9cd19e6f5909fedb20d318cb;p=flatwaifu.git diff --git a/src/smoke.c b/src/smoke.c index 6b01261..1596159 100644 --- a/src/smoke.c +++ b/src/smoke.c @@ -27,25 +27,15 @@ #include "smoke.h" #include "fx.h" #include "misc.h" +#include "my.h" #define MAXSR 20 -#define SMSN 10 -#define FLSN 8 +smoke_t sm[MAXSMOK]; -#pragma pack(1) -typedef struct{ - int x,y,xv,yv; - byte t,s; - short o; -}smoke_t; -#pragma pack() - -static smoke_t sm[MAXSMOK]; static int sr_r,sxr[MAXSR],syr[MAXSR]; static int lsm; -static void *spr[SMSN],*fspr[FLSN]; static void *burnsnd; static int burntm=0; @@ -76,15 +66,15 @@ void SMK_savegame (FILE *h) { void SMK_loadgame (FILE *h) { int i, n; - myfread32(&n, h); + n = myfread32(h); for (i = 0; i < n; ++i) { - myfread32(&sm[i].x, h); - myfread32(&sm[i].y, h); - myfread32(&sm[i].xv, h); - myfread32(&sm[i].xv, h); - myfread8(&sm[i].t, h); - myfread8(&sm[i].s, h); - myfread16(&sm[i].o, h); + sm[i].x = myfread32(h); + sm[i].y = myfread32(h); + sm[i].xv = myfread32(h); + sm[i].xv = myfread32(h); + sm[i].t = myfread8(h); + sm[i].s = myfread8(h); + sm[i].o = myfread16(h); } } @@ -98,10 +88,7 @@ void SMK_init(void) { void SMK_alloc(void) { int i; - burnsnd=Z_getsnd("BURN"); - for(i=0;i=(SMSN-1)*3) s=0; else s=SMSN-1-s/3; - V_sprf((sm[i].x>>8)-w_x+WD/2,(sm[i].y>>8)-w_y+HT/2+1+w_o,spr[s],&smoke_sprf);//V_sprf((sm[i].x>>8)-w_x+100,(sm[i].y>>8)-w_y+50+w_o,spr[s],&smoke_sprf); - break; - case 1: - if((s=sm[i].t)>=(FLSN-1)) s=0; else s=FLSN-1-s; - V_sprf((sm[i].x>>8)-w_x+WD/2,(sm[i].y>>8)-w_y+HT/2+1+w_o,fspr[s],&flame_sprf);//V_sprf((sm[i].x>>8)-w_x+100,(sm[i].y>>8)-w_y+50+w_o,fspr[s],&flame_sprf); - break; - } -} - void SMK_add(int x,int y,int xv,int yv,byte t,byte s,short o) { int i;