diff --git a/src/view.c b/src/view.c
index 51e8179a1279b0e940909327a1de068e1f99b403..b6b52c88df9a29f0ab3f1d47b00d5b8b58fca44c 100644 (file)
--- a/src/view.c
+++ b/src/view.c
memset(s, 0, 8);
} else if (walh[n] == -2) {
memcpy(s, "_WATER_", 8);
memset(s, 0, 8);
} else if (walh[n] == -2) {
memcpy(s, "_WATER_", 8);
- s[7] = (char)walp[n] - 1 + '0';
+ s[7] = (char)((intptr_t)walp[n] - 1 + '0');
} else {
F_getresname(s, walh[n] & 0x7FFF);
}
} else {
F_getresname(s, walh[n] & 0x7FFF);
}
walani[i] = getani(s);
if (strncasecmp(s, "_WATER_", 7) == 0) {
walh[i] = -2;
walani[i] = getani(s);
if (strncasecmp(s, "_WATER_", 7) == 0) {
walh[i] = -2;
- walp[i] = (void*)(s[7] - '0' + 1);
+ walp[i] = (void*)((intptr_t)s[7] - '0' + 1);
} else {
walh[i] = F_getresid(s);
walp[i] = V_getvgaimg(walh[i]);
} else {
walh[i] = F_getresid(s);
walp[i] = V_getvgaimg(walh[i]);
horiz = V_loadvgaimg(s);
}
horiz = V_loadvgaimg(s);
}
-void W_adjust(void) {
- int MAXX =(FLDW*CELW-WD/2);//
- int MAXY =(FLDH*CELH-HT/2);//
-
- if(w_x<WD/2) w_x=WD/2;
- if(w_y<HT/2) w_y=HT/2;
- if(w_x>MAXX) w_x=MAXX;
- if(w_y>MAXY) w_y=MAXY;
-}
-
-void W_draw(void) {
- W_adjust();
- V_setrect(0,WD,w_o+1,HT);
- if(w_horiz) {
-
-
- //V_pic(127-(word)(w_x-WD/2)*56U/(word)(MAXX-WD/2),w_o+123-(word)(w_y-HT/2)*28U/(word)(MAXY-HT/2),horiz);
- vgaimg *img = (vgaimg*)horiz;
- int x=0;
- int d=0;
- do {
- int y=w_o;
- d &= ~2;
- do {
- V_rotspr(x,y,img,d);
- y+=img->h;
- d^=2;
- } while (y<HT+w_o);
- x+=img->w;
- d^=1;
- } while (x<WD);
-
-
-
- if(sky_type==2) if(lt_time<0) {
- if(!lt_side) V_spr(0,w_o+lt_ypos,ltn[lt_type][(lt_time<-5)?0:1]);
- else V_spr2(WD-1,w_o+lt_ypos,ltn[lt_type][(lt_time<-5)?0:1]);
- }
- }else V_clr(0,WD,w_o+1,HT,0x97);
- Z_drawfld((byte *)fldb, 1);
- DOT_draw();
- IT_draw();
- PL_draw(&pl1);
- if(_2pl) PL_draw(&pl2);
- MN_draw();
- WP_draw();
- SMK_draw();
- FX_draw();
- Z_drawfld((byte *)fldf, 0);
- if(sky_type==2)
- if(lt_time==-4 || lt_time==-2)
- V_remap_rect(0,WD,w_o+1,HT,clrmap+256*11);
-}
-
-
void W_init(void) {
int i,j;
static char *anm[ANIT-1][5]={
void W_init(void) {
int i,j;
static char *anm[ANIT-1][5]={
myfread(w.n, 8, 1, h);
w.t = myfread8(h);
if (strncasecmp(w.n, "_WATER_", 7) == 0) {
myfread(w.n, 8, 1, h);
w.t = myfread8(h);
if (strncasecmp(w.n, "_WATER_", 7) == 0) {
- walp[i] = (void*)(w.n[7] - '0' + 1);
+ walp[i] = (void*)((intptr_t)w.n[7] - '0' + 1);
walh[i] = -2;
} else {
walh[i] = F_getresid(w.n);
walh[i] = -2;
} else {
walh[i] = F_getresid(w.n);