diff --git a/src/fx.c b/src/fx.c
index 8a38050cf9bfc7789bae981efaa0e6791fe09298..01e58a4e68fee1d7771776416636458be7294cd3 100644 (file)
--- a/src/fx.c
+++ b/src/fx.c
-/*
- Copyright (C) Prikol Software 1996-1997
- Copyright (C) Aleksey Volynskov 1996-1997
-
- 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 <http://www.gnu.org/licenses/> 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 <http://www.gnu.org/licenses/>.
+ */
#include "glob.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "glob.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "vga.h"
#include "view.h"
#include "fx.h"
#include "misc.h"
enum{NONE,TFOG,IFOG,BUBL};
#include "view.h"
#include "fx.h"
#include "misc.h"
enum{NONE,TFOG,IFOG,BUBL};
-#pragma pack(1)
-typedef struct{
- int x,y,xv,yv;
- char t,s;
-}fx_t;
-#pragma pack()
+fx_t fx[MAXFX];
-static void *spr[15],*bsnd[2];
-static char sprd[15];
-static fx_t fx[MAXFX];
+static void *bsnd[2];
static char bubsn;
static int last;
static char bubsn;
static int last;
-unsigned char fx_scr1[64000],fx_scr2[64000];
+//unsigned char fx_scr1[64000],fx_scr2[64000];
#define SINP 256
#define SINPM (SINP-1)
#define SINP 256
#define SINPM (SINP-1)
for(i=0;i<SINP;++i) sintab[i]=stdsin[i]*a;
}
for(i=0;i<SINP;++i) sintab[i]=stdsin[i]*a;
}
-void FX_trans1(int t) {
-
+/*
+void FX_trans1 (int t) {
int x,y,u,v;
static unsigned char k;
unsigned p;
int x,y,u,v;
static unsigned char k;
unsigned p;
else scra[p]=fx_scr1[v*320+u];
}else scra[p]=fx_scr2[p];
}
else scra[p]=fx_scr1[v*320+u];
}else scra[p]=fx_scr2[p];
}
-
}
}
+*/
static void init_fx1sin(void) {
int j,r,l,rr;
static void init_fx1sin(void) {
int j,r,l,rr;
}
}
}
}
-void FX_savegame(FILE* h) {
- int i,n;
-
- for(i=n=0;i<MAXFX;++i) if(fx[i].t) ++n;
- myfwrite(&n,1,4,h);
- for(i=0;i<MAXFX;++i) if(fx[i].t) myfwrite(&fx[i],1,sizeof(fx_t),h);
-}
-
-void FX_loadgame(FILE* h) {
- int n;
-
- myfread(&n,1,4,h);
- myfread(fx,1,n*sizeof(fx_t),h);
-}
-
-void FX_alloc(void) {
- int i;
-
- for(i=0;i<10;++i) spr[i]=Z_getspr("TFOG",i,0,sprd+i);
- for(;i<15;++i) spr[i]=Z_getspr("IFOG",i-10,0,sprd+i);
+void FX_alloc (void) {
bsnd[0]=Z_getsnd("BUBL1");
bsnd[1]=Z_getsnd("BUBL2");
init_fx1sin();
}
bsnd[0]=Z_getsnd("BUBL1");
bsnd[1]=Z_getsnd("BUBL2");
init_fx1sin();
}
-void FX_init(void) {
+void FX_init (void) {
int i;
for(i=0;i<MAXFX;++i) fx[i].t=0;
int i;
for(i=0;i<MAXFX;++i) fx[i].t=0;
last=0;
}
last=0;
}
-void FX_act(void) {
+void FX_act (void) {
int i;
byte b;
int i;
byte b;
}
}
}
}
-void FX_draw(void) {
- int i,s;
-
- for(i=0;i<MAXFX;++i) {
- s=-1;
- switch(fx[i].t) {
- case TFOG: s=fx[i].s/2;break;
- case IFOG: s=fx[i].s/2+10;break;
- case BUBL:
- V_dot((fx[i].x>>8)-w_x+WD/2,(fx[i].y>>8)-w_y+HT/2+1+w_o,0xC0+fx[i].s);//V_dot((fx[i].x>>8)-w_x+100,(fx[i].y>>8)-w_y+50+w_o,0xC0+fx[i].s);
- continue;
- }
- if(s>=0) Z_drawspr(fx[i].x,fx[i].y,spr[s],sprd[s]);
- }
-}
-
-static int findfree(void) {
+static int findfree (void) {
int i;
for(i=0;i<MAXFX;++i) if(!fx[i].t) return i;
int i;
for(i=0;i<MAXFX;++i) if(!fx[i].t) return i;
return last;
}
return last;
}
-void FX_tfog(int x,int y) {
+void FX_tfog (int x, int y) {
int i;
i=findfree();
int i;
i=findfree();
fx[i].x=x;fx[i].y=y;
}
fx[i].x=x;fx[i].y=y;
}
-void FX_ifog(int x,int y) {
+void FX_ifog (int x, int y) {
int i;
i=findfree();
int i;
i=findfree();
fx[i].x=x;fx[i].y=y;
}
fx[i].x=x;fx[i].y=y;
}
-void FX_bubble(int x,int y,int xv,int yv,int n) {
+void FX_bubble (int x, int y, int xv, int yv, int n) {
int i;
if(!bubsn) {Z_sound(bsnd[rand()&1],128);bubsn=1;}
int i;
if(!bubsn) {Z_sound(bsnd[rand()&1],128);bubsn=1;}
fx[i].xv=xv;fx[i].yv=yv-myrand(256)-768;
}
}
fx[i].xv=xv;fx[i].yv=yv-myrand(256)-768;
}
}
-