some 'fixes', better solution: change to what it was before the neutron fix.
This commit is contained in:
parent
24d5ca7d4e
commit
fdd3d24031
2
Makefile
2
Makefile
@ -30,7 +30,7 @@ powder-64-sse3-opengl: $(SOURCES)
|
|||||||
$(COMPILER) -m64 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE3) $(SOURCES) -DLIN64 -lGL -lGLU -DOpenGL
|
$(COMPILER) -m64 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE3) $(SOURCES) -DLIN64 -lGL -lGLU -DOpenGL
|
||||||
strip $@
|
strip $@
|
||||||
powder-64-sse3: $(SOURCES)
|
powder-64-sse3: $(SOURCES)
|
||||||
$(COMPILER) -m64 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE3) $(SOURCES) -DLIN64
|
$(COMPILER) -m64 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE3) $(SOURCES) -DLIN64 -j3
|
||||||
strip $@
|
strip $@
|
||||||
mv $@ build
|
mv $@ build
|
||||||
powder-64-sse2: $(SOURCES)
|
powder-64-sse2: $(SOURCES)
|
||||||
|
@ -888,7 +888,7 @@ int drawtextwrap(pixel *vid, int x, int y, int w, const char *s, int r, int g, i
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(x-cw>=w){
|
if(x-cw>=w) {
|
||||||
x = sx;
|
x = sx;
|
||||||
rw = 0;
|
rw = 0;
|
||||||
y+=FONT_H+2;
|
y+=FONT_H+2;
|
||||||
@ -2137,7 +2137,7 @@ void draw_parts(pixel *vid)
|
|||||||
}
|
}
|
||||||
if(cmode == 4&&t!=PT_FIRE&&t!=PT_PLSM&&t!=PT_HFLM&&t!=PT_NONE&&t!=PT_ACID&&t!=PT_LCRY&&t!=PT_GLOW&&t!=PT_SWCH&&t!=PT_SMKE&&t!=PT_WTRV&&!(t==PT_FIRW&&parts[i].tmp==3))
|
if(cmode == 4&&t!=PT_FIRE&&t!=PT_PLSM&&t!=PT_HFLM&&t!=PT_NONE&&t!=PT_ACID&&t!=PT_LCRY&&t!=PT_GLOW&&t!=PT_SWCH&&t!=PT_SMKE&&t!=PT_WTRV&&!(t==PT_FIRW&&parts[i].tmp==3))
|
||||||
{
|
{
|
||||||
if(t==PT_PHOT){
|
if(t==PT_PHOT) {
|
||||||
cg = 0;
|
cg = 0;
|
||||||
cb = 0;
|
cb = 0;
|
||||||
cr = 0;
|
cr = 0;
|
||||||
|
@ -2197,7 +2197,7 @@ int search_ui(pixel *vid_buf)
|
|||||||
|
|
||||||
if((b && !bq && mp!=-1 && !st && !uih) || do_open==1)
|
if((b && !bq && mp!=-1 && !st && !uih) || do_open==1)
|
||||||
{
|
{
|
||||||
if(open_ui(vid_buf, search_ids[mp], search_dates[mp]?search_dates[mp]:NULL)==1){
|
if(open_ui(vid_buf, search_ids[mp], search_dates[mp]?search_dates[mp]:NULL)==1) {
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
@ -2619,7 +2619,7 @@ int open_ui(pixel *vid_buf, char *save_id, char *save_date)
|
|||||||
if(status_2 == 200)
|
if(status_2 == 200)
|
||||||
{
|
{
|
||||||
info_ready = info_parse(info_data, info);
|
info_ready = info_parse(info_data, info);
|
||||||
if(info_ready==-1){
|
if(info_ready==-1) {
|
||||||
error_ui(vid_buf, 0, "Not found");
|
error_ui(vid_buf, 0, "Not found");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -2630,12 +2630,12 @@ int open_ui(pixel *vid_buf, char *save_id, char *save_date)
|
|||||||
http_2 = NULL;
|
http_2 = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(data_ready && !hasdrawnthumb){
|
if(data_ready && !hasdrawnthumb) {
|
||||||
draw_image(vid_buf, save_pic, 51, 51, thumb_w, thumb_h, 255);
|
draw_image(vid_buf, save_pic, 51, 51, thumb_w, thumb_h, 255);
|
||||||
hasdrawnthumb = 1;
|
hasdrawnthumb = 1;
|
||||||
memcpy(old_vid, vid_buf, ((XRES+BARSIZE)*(YRES+MENUSIZE))*PIXELSIZE);
|
memcpy(old_vid, vid_buf, ((XRES+BARSIZE)*(YRES+MENUSIZE))*PIXELSIZE);
|
||||||
}
|
}
|
||||||
if(info_ready && !hasdrawninfo){
|
if(info_ready && !hasdrawninfo) {
|
||||||
//drawtext(vid_buf, 2, 2, info->name, 255, 255, 255, 255);
|
//drawtext(vid_buf, 2, 2, info->name, 255, 255, 255, 255);
|
||||||
cix = drawtext(vid_buf, 60, (YRES/2)+60, info->name, 255, 255, 255, 255);
|
cix = drawtext(vid_buf, 60, (YRES/2)+60, info->name, 255, 255, 255, 255);
|
||||||
cix = drawtext(vid_buf, 60, (YRES/2)+72, "Author:", 255, 255, 255, 155);
|
cix = drawtext(vid_buf, 60, (YRES/2)+72, "Author:", 255, 255, 255, 155);
|
||||||
@ -2645,7 +2645,7 @@ int open_ui(pixel *vid_buf, char *save_id, char *save_date)
|
|||||||
drawtextwrap(vid_buf, 62, (YRES/2)+86, (XRES/2)-24, info->description, 255, 255, 255, 200);
|
drawtextwrap(vid_buf, 62, (YRES/2)+86, (XRES/2)-24, info->description, 255, 255, 255, 200);
|
||||||
|
|
||||||
ccy = 0;
|
ccy = 0;
|
||||||
for(cc=0;cc<info->comment_count;cc++){
|
for(cc=0; cc<info->comment_count; cc++) {
|
||||||
drawtext(vid_buf, 60+(XRES/2)+1, ccy+60, info->commentauthors[cc], 255, 255, 255, 255);
|
drawtext(vid_buf, 60+(XRES/2)+1, ccy+60, info->commentauthors[cc], 255, 255, 255, 255);
|
||||||
ccy += 12;
|
ccy += 12;
|
||||||
ccy += drawtextwrap(vid_buf, 60+(XRES/2)+1, ccy+60, XRES+BARSIZE-100-((XRES/2)+1)-20, info->comments[cc], 255, 255, 255, 185);
|
ccy += drawtextwrap(vid_buf, 60+(XRES/2)+1, ccy+60, XRES+BARSIZE-100-((XRES/2)+1)-20, info->comments[cc], 255, 255, 255, 185);
|
||||||
@ -2657,11 +2657,11 @@ int open_ui(pixel *vid_buf, char *save_id, char *save_date)
|
|||||||
memcpy(old_vid, vid_buf, ((XRES+BARSIZE)*(YRES+MENUSIZE))*PIXELSIZE);
|
memcpy(old_vid, vid_buf, ((XRES+BARSIZE)*(YRES+MENUSIZE))*PIXELSIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(queue_open){
|
if(queue_open) {
|
||||||
if(info_ready && data_ready){
|
if(info_ready && data_ready) {
|
||||||
// Do Open!
|
// Do Open!
|
||||||
status = parse_save(data, data_size, 1, 0, 0);
|
status = parse_save(data, data_size, 1, 0, 0);
|
||||||
if(!status){
|
if(!status) {
|
||||||
//if(svf_last)
|
//if(svf_last)
|
||||||
//free(svf_last);
|
//free(svf_last);
|
||||||
svf_last = data;
|
svf_last = data;
|
||||||
@ -2705,53 +2705,53 @@ int open_ui(pixel *vid_buf, char *save_id, char *save_date)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Open Button
|
//Open Button
|
||||||
if(sdl_key==SDLK_RETURN){
|
if(sdl_key==SDLK_RETURN) {
|
||||||
queue_open = 1;
|
queue_open = 1;
|
||||||
}
|
}
|
||||||
drawrect(vid_buf, 70, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 255);
|
drawrect(vid_buf, 70, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 255);
|
||||||
drawtext(vid_buf, 93, YRES+MENUSIZE-63, "Open", 255, 255, 255, 255);
|
drawtext(vid_buf, 93, YRES+MENUSIZE-63, "Open", 255, 255, 255, 255);
|
||||||
drawtext(vid_buf, 78, YRES+MENUSIZE-64, "\x81", 255, 255, 255, 255);
|
drawtext(vid_buf, 78, YRES+MENUSIZE-64, "\x81", 255, 255, 255, 255);
|
||||||
if(mx > 70 && mx < 70+50 && my > YRES+MENUSIZE-68 && my < YRES+MENUSIZE-50){
|
if(mx > 70 && mx < 70+50 && my > YRES+MENUSIZE-68 && my < YRES+MENUSIZE-50) {
|
||||||
fillrect(vid_buf, 70, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 40);
|
fillrect(vid_buf, 70, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 40);
|
||||||
if(b && !bq){
|
if(b && !bq) {
|
||||||
queue_open = 1;
|
queue_open = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Fav Button
|
//Fav Button
|
||||||
if(svf_login){
|
if(svf_login) {
|
||||||
drawrect(vid_buf, 140, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 255);
|
drawrect(vid_buf, 140, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 255);
|
||||||
drawtext(vid_buf, 162, YRES+MENUSIZE-63, "Fav.", 255, 255, 255, 255);
|
drawtext(vid_buf, 162, YRES+MENUSIZE-63, "Fav.", 255, 255, 255, 255);
|
||||||
drawtext(vid_buf, 147, YRES+MENUSIZE-64, "\xCC", 255, 255, 255, 255);
|
drawtext(vid_buf, 147, YRES+MENUSIZE-64, "\xCC", 255, 255, 255, 255);
|
||||||
if(mx > 140 && mx < 140+50 && my > YRES+MENUSIZE-68 && my < YRES+MENUSIZE-50){
|
if(mx > 140 && mx < 140+50 && my > YRES+MENUSIZE-68 && my < YRES+MENUSIZE-50) {
|
||||||
fillrect(vid_buf, 140, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 40);
|
fillrect(vid_buf, 140, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 40);
|
||||||
if(b && !bq){
|
if(b && !bq) {
|
||||||
//Button Clicked
|
//Button Clicked
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Report Button
|
//Report Button
|
||||||
if(svf_login){
|
if(svf_login) {
|
||||||
drawrect(vid_buf, 210, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 255);
|
drawrect(vid_buf, 210, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 255);
|
||||||
drawtext(vid_buf, 228, YRES+MENUSIZE-63, "Report", 255, 255, 255, 255);
|
drawtext(vid_buf, 228, YRES+MENUSIZE-63, "Report", 255, 255, 255, 255);
|
||||||
drawtext(vid_buf, 218, YRES+MENUSIZE-63, "!", 255, 255, 255, 255);
|
drawtext(vid_buf, 218, YRES+MENUSIZE-63, "!", 255, 255, 255, 255);
|
||||||
if(mx > 210 && mx < 210+50 && my > YRES+MENUSIZE-68 && my < YRES+MENUSIZE-50){
|
if(mx > 210 && mx < 210+50 && my > YRES+MENUSIZE-68 && my < YRES+MENUSIZE-50) {
|
||||||
fillrect(vid_buf, 210, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 40);
|
fillrect(vid_buf, 210, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 40);
|
||||||
if(b && !bq){
|
if(b && !bq) {
|
||||||
//Button Clicked
|
//Button Clicked
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Delete Button
|
//Delete Button
|
||||||
if(authoritah){
|
if(authoritah) {
|
||||||
drawrect(vid_buf, 280, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 255);
|
drawrect(vid_buf, 280, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 255);
|
||||||
drawtext(vid_buf, 298, YRES+MENUSIZE-63, "Delete", 255, 255, 255, 255);
|
drawtext(vid_buf, 298, YRES+MENUSIZE-63, "Delete", 255, 255, 255, 255);
|
||||||
drawtext(vid_buf, 286, YRES+MENUSIZE-64, "\xAA", 255, 255, 255, 255);
|
drawtext(vid_buf, 286, YRES+MENUSIZE-64, "\xAA", 255, 255, 255, 255);
|
||||||
if(mx > 280 && mx < 280+50 && my > YRES+MENUSIZE-68 && my < YRES+MENUSIZE-50){
|
if(mx > 280 && mx < 280+50 && my > YRES+MENUSIZE-68 && my < YRES+MENUSIZE-50) {
|
||||||
fillrect(vid_buf, 280, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 40);
|
fillrect(vid_buf, 280, YRES+MENUSIZE-68, 50, 18, 255, 255, 255, 40);
|
||||||
if(b && !bq){
|
if(b && !bq) {
|
||||||
//Button Clicked
|
//Button Clicked
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2856,7 +2856,7 @@ int info_parse(char *info_data, save_info *info)
|
|||||||
}
|
}
|
||||||
else if(!strncmp(info_data, "COMMENT ", 8))
|
else if(!strncmp(info_data, "COMMENT ", 8))
|
||||||
{
|
{
|
||||||
if(info->comment_count>=6){
|
if(info->comment_count>=6) {
|
||||||
info_data = p;
|
info_data = p;
|
||||||
continue;
|
continue;
|
||||||
} else {
|
} else {
|
||||||
@ -2870,7 +2870,7 @@ int info_parse(char *info_data, save_info *info)
|
|||||||
}
|
}
|
||||||
info_data = p;
|
info_data = p;
|
||||||
}
|
}
|
||||||
if(j>=8){
|
if(j>=8) {
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
return -1;
|
return -1;
|
||||||
|
2
src/main.c
Executable file → Normal file
2
src/main.c
Executable file → Normal file
@ -507,7 +507,7 @@ int parse_save(void *save, int size, int replace, int x0, int y0)
|
|||||||
if(p >= size)
|
if(p >= size)
|
||||||
goto corrupt;
|
goto corrupt;
|
||||||
j=d[p++];
|
j=d[p++];
|
||||||
if(j >= PT_NUM){
|
if(j >= PT_NUM) {
|
||||||
//TODO: Possibly some server side translation
|
//TODO: Possibly some server side translation
|
||||||
j = PT_DUST;//goto corrupt;
|
j = PT_DUST;//goto corrupt;
|
||||||
}
|
}
|
||||||
|
53
src/powder.c
53
src/powder.c
@ -71,14 +71,11 @@ static int eval_move(int pt, int nx, int ny, unsigned *rr)
|
|||||||
if((r&0xFF)==PT_VOID || (r&0xFF)==PT_BHOL)
|
if((r&0xFF)==PT_VOID || (r&0xFF)==PT_BHOL)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
if(pt==PT_NEUT && (r&0xFF)==PT_GLAS)
|
|
||||||
return 2;
|
|
||||||
|
|
||||||
if(pt==PT_PHOT&&(
|
if(pt==PT_PHOT&&(
|
||||||
(r&0xFF)==PT_GLAS || (r&0xFF)==PT_PHOT ||
|
(r&0xFF)==PT_GLAS || (r&0xFF)==PT_PHOT ||
|
||||||
(r&0xFF)==PT_CLNE || (r&0xFF)==PT_PCLN ||
|
(r&0xFF)==PT_CLNE || (r&0xFF)==PT_PCLN ||
|
||||||
(r&0xFF)==PT_GLOW ||
|
(r&0xFF)==PT_GLOW || (r&0xFF)==PT_WATR ||
|
||||||
(r&0xFF)==PT_WATR || (r&0xFF)==PT_DSTW || (r&0xFF)==PT_SLTW ||
|
(r&0xFF)==PT_DSTW || (r&0xFF)==PT_SLTW ||
|
||||||
((r&0xFF)==PT_LCRY&&parts[r>>8].life > 5)))
|
((r&0xFF)==PT_LCRY&&parts[r>>8].life > 5)))
|
||||||
return 2;
|
return 2;
|
||||||
|
|
||||||
@ -99,10 +96,12 @@ static int eval_move(int pt, int nx, int ny, unsigned *rr)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if(pt == PT_PHOT)
|
if(pt == PT_PHOT)
|
||||||
return 2;
|
return 0;
|
||||||
|
|
||||||
if(pt == PT_NEUT)
|
if(pt == PT_NEUT)
|
||||||
return 1;
|
return 1;
|
||||||
|
if(pt == PT_NEUT && (r&0xFF == PT_WATR||r&0xFF == PT_SLTW ||r&0xFF == PT_DSTW))
|
||||||
|
return 2;
|
||||||
|
|
||||||
if((r&0xFF) == PT_NEUT)
|
if((r&0xFF) == PT_NEUT)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@ -131,22 +130,28 @@ int try_move(int i, int x, int y, int nx, int ny)
|
|||||||
(pmap[y][x]&0xFF)==PT_BMTL))
|
(pmap[y][x]&0xFF)==PT_BMTL))
|
||||||
e = 2;
|
e = 2;
|
||||||
|
|
||||||
if(!e) {
|
if(!e)
|
||||||
if(!legacy_enable && parts[i].type==PT_PHOT) {
|
{
|
||||||
|
if(!legacy_enable && parts[i].type==PT_PHOT)
|
||||||
|
{
|
||||||
if((r & 0xFF) == PT_COAL || (r & 0xFF) == PT_BCOL)
|
if((r & 0xFF) == PT_COAL || (r & 0xFF) == PT_BCOL)
|
||||||
parts[r>>8].temp = parts[i].temp;
|
parts[r>>8].temp = parts[i].temp;
|
||||||
|
|
||||||
if((r & 0xFF) < PT_NUM)
|
if((r & 0xFF) < PT_NUM)
|
||||||
parts[i].temp = parts[r>>8].temp =
|
parts[i].temp = parts[r>>8].temp = restrict_flt((parts[r>>8].temp+parts[i].temp)/2, MIN_TEMP, MAX_TEMP);
|
||||||
restrict_flt((parts[r>>8].temp+parts[i].temp)/2, MIN_TEMP, MAX_TEMP);
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if(e == 2) {
|
|
||||||
|
if(e == 2)
|
||||||
|
{
|
||||||
if(parts[i].type == PT_PHOT && (r&0xFF)==PT_GLOW && !parts[r>>8].life)
|
if(parts[i].type == PT_PHOT && (r&0xFF)==PT_GLOW && !parts[r>>8].life)
|
||||||
if(rand() < RAND_MAX/30) {
|
if(rand() < RAND_MAX/30)
|
||||||
|
{
|
||||||
parts[r>>8].life = 120;
|
parts[r>>8].life = 120;
|
||||||
create_gain_photon(i);
|
create_gain_photon(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(parts[i].type == PT_NEUT && (r&0xFF)==PT_GLAS) {
|
if(parts[i].type == PT_NEUT && (r&0xFF)==PT_GLAS) {
|
||||||
if(rand() < RAND_MAX/10)
|
if(rand() < RAND_MAX/10)
|
||||||
create_cherenkov_photon(i);
|
create_cherenkov_photon(i);
|
||||||
@ -1288,8 +1293,8 @@ void update_particles_i(pixel *vid, int start, int inc)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(t==PT_BMTL){
|
else if(t==PT_BMTL) {
|
||||||
if(parts[i].tmp>1){
|
if(parts[i].tmp>1) {
|
||||||
parts[i].tmp--;
|
parts[i].tmp--;
|
||||||
for(nx=-1; nx<2; nx++)
|
for(nx=-1; nx<2; nx++)
|
||||||
for(ny=-1; ny<2; ny++)
|
for(ny=-1; ny<2; ny++)
|
||||||
@ -1305,13 +1310,13 @@ void update_particles_i(pixel *vid, int start, int inc)
|
|||||||
parts[r>>8].tmp=(parts[i].tmp<=7)?parts[i].tmp=1:parts[i].tmp-(rand()%5);//rand()/(RAND_MAX/300)+100;
|
parts[r>>8].tmp=(parts[i].tmp<=7)?parts[i].tmp=1:parts[i].tmp-(rand()%5);//rand()/(RAND_MAX/300)+100;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if(parts[i].tmp==1 && 1>rand()%1000){
|
} else if(parts[i].tmp==1 && 1>rand()%1000) {
|
||||||
parts[i].tmp = 0;
|
parts[i].tmp = 0;
|
||||||
t = parts[i].type = PT_BRMT;
|
t = parts[i].type = PT_BRMT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if(t==PT_IRON){
|
else if(t==PT_IRON) {
|
||||||
for(nx=-1; nx<2; nx++)
|
for(nx=-1; nx<2; nx++)
|
||||||
for(ny=-1; ny<2; ny++)
|
for(ny=-1; ny<2; ny++)
|
||||||
if(x+nx>=0 && y+ny>0 && x+nx<XRES && y+ny<YRES && (nx || ny))
|
if(x+nx>=0 && y+ny>0 && x+nx<XRES && y+ny<YRES && (nx || ny))
|
||||||
@ -1332,7 +1337,7 @@ void update_particles_i(pixel *vid, int start, int inc)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if((t==PT_SPRK||parts[i].type==PT_SPRK) && parts[i].ctype==PT_IRON){
|
else if((t==PT_SPRK||parts[i].type==PT_SPRK) && parts[i].ctype==PT_IRON) {
|
||||||
for(nx=-1; nx<2; nx++)
|
for(nx=-1; nx<2; nx++)
|
||||||
for(ny=-1; ny<2; ny++)
|
for(ny=-1; ny<2; ny++)
|
||||||
if(x+nx>=0 && y+ny>0 && x+nx<XRES && y+ny<YRES && (nx || ny))
|
if(x+nx>=0 && y+ny>0 && x+nx<XRES && y+ny<YRES && (nx || ny))
|
||||||
@ -1777,7 +1782,7 @@ void update_particles_i(pixel *vid, int start, int inc)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(t==PT_MORT){
|
else if(t==PT_MORT) {
|
||||||
create_part(-1, x, y-1, PT_SMKE);
|
create_part(-1, x, y-1, PT_SMKE);
|
||||||
}
|
}
|
||||||
else if(t==PT_LCRY)
|
else if(t==PT_LCRY)
|
||||||
@ -2641,12 +2646,12 @@ killed:
|
|||||||
(pmap[y+ny][x+nx]&0xFF)!=PT_STKM &&
|
(pmap[y+ny][x+nx]&0xFF)!=PT_STKM &&
|
||||||
(pmap[y+ny][x+nx]&0xFF)!=0xFF)
|
(pmap[y+ny][x+nx]&0xFF)!=0xFF)
|
||||||
parts[i].ctype = pmap[y+ny][x+nx]&0xFF;
|
parts[i].ctype = pmap[y+ny][x+nx]&0xFF;
|
||||||
if(parts[i].ctype && parts[i].life==10){
|
if(parts[i].ctype && parts[i].life==10) {
|
||||||
if(parts[i].ctype==PT_PHOT){
|
if(parts[i].ctype==PT_PHOT) {
|
||||||
for(nx=-1; nx<2; nx++){
|
for(nx=-1; nx<2; nx++) {
|
||||||
for(ny=-1; ny<2; ny++){
|
for(ny=-1; ny<2; ny++) {
|
||||||
r = create_part(-1, x+nx, y+ny, parts[i].ctype);
|
r = create_part(-1, x+nx, y+ny, parts[i].ctype);
|
||||||
if(r!=-1){
|
if(r!=-1) {
|
||||||
parts[r].vx = nx*3;
|
parts[r].vx = nx*3;
|
||||||
parts[r].vy = ny*3;
|
parts[r].vy = ny*3;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user