@@ -27712,8 +27712,8 @@ void HeroClass::scrollscr(int32_t scrolldir, int32_t destscr, int32_t destdmap)
2771227712 if(XOR((newscr->flags7&fLAYER3BG) || (oldscr->flags7&fLAYER3BG), DMaps[currdmap].flags&dmfLAYER3BG)) do_primitives(scrollbuf, 3, newscr, sx, sy);
2771327713
2771427714 combotile_add_y -= sy;
27715- if(layer_0_lenscheck (newscr)) putscr(scrollbuf, 0, 0, newscr);
27716- if(layer_0_lenscheck (oldscr)) putscr(scrollbuf, 0, 176, oldscr);
27715+ if(lenscheck (newscr,0 )) putscr(scrollbuf, 0, 0, newscr);
27716+ if(lenscheck (oldscr,0 )) putscr(scrollbuf, 0, 176, oldscr);
2771727717 break;
2771827718
2771927719 case down:
@@ -27730,8 +27730,8 @@ void HeroClass::scrollscr(int32_t scrolldir, int32_t destscr, int32_t destdmap)
2773027730 if(XOR((newscr->flags7&fLAYER3BG) || (oldscr->flags7&fLAYER3BG), DMaps[currdmap].flags&dmfLAYER3BG)) do_primitives(scrollbuf, 3, newscr, sx, sy);
2773127731
2773227732 combotile_add_y -= sy;
27733- if(layer_0_lenscheck (oldscr)) putscr(scrollbuf, 0, 0, oldscr);
27734- if(layer_0_lenscheck (newscr)) putscr(scrollbuf, 0, 176, newscr);
27733+ if(lenscheck (oldscr,0 )) putscr(scrollbuf, 0, 0, oldscr);
27734+ if(lenscheck (newscr,0 )) putscr(scrollbuf, 0, 176, newscr);
2773527735 break;
2773627736
2773727737 case left:
@@ -27748,8 +27748,8 @@ void HeroClass::scrollscr(int32_t scrolldir, int32_t destscr, int32_t destdmap)
2774827748 if(XOR((newscr->flags7&fLAYER3BG) || (oldscr->flags7&fLAYER3BG), DMaps[currdmap].flags&dmfLAYER3BG)) do_primitives(scrollbuf, 3, newscr, sx, sy);
2774927749
2775027750 combotile_add_x -= sx;
27751- if(layer_0_lenscheck (newscr)) putscr(scrollbuf, 0, 0, newscr);
27752- if(layer_0_lenscheck (oldscr)) putscr(scrollbuf, 256, 0, oldscr);
27751+ if(lenscheck (newscr,0 )) putscr(scrollbuf, 0, 0, newscr);
27752+ if(lenscheck (oldscr,0 )) putscr(scrollbuf, 256, 0, oldscr);
2775327753 break;
2775427754
2775527755 case right:
@@ -27766,16 +27766,16 @@ void HeroClass::scrollscr(int32_t scrolldir, int32_t destscr, int32_t destdmap)
2776627766 if(XOR((newscr->flags7&fLAYER3BG) || (oldscr->flags7&fLAYER3BG), DMaps[currdmap].flags&dmfLAYER3BG)) do_primitives(scrollbuf, 3, newscr, sx, sy);
2776727767
2776827768 combotile_add_x -= sx;
27769- if(layer_0_lenscheck (oldscr)) putscr(scrollbuf, 0, 0, oldscr);
27770- if(layer_0_lenscheck (newscr)) putscr(scrollbuf, 256, 0, newscr);
27769+ if(lenscheck (oldscr,0 )) putscr(scrollbuf, 0, 0, oldscr);
27770+ if(lenscheck (newscr,0 )) putscr(scrollbuf, 256, 0, newscr);
2777127771 break;
2777227772 }
2777327773
2777427774 combotile_add_x = 0;
2777527775 combotile_add_y = 0;
2777627776
2777727777 blit(scrollbuf, framebuf, sx, sy, 0, playing_field_offset, 256, 168);
27778- if(layer_0_lenscheck (newscr))
27778+ if(lenscheck (newscr,0 ))
2777927779 do_primitives(framebuf, 0, newscr, 0, playing_field_offset);
2778027780
2778127781 do_layer(framebuf, 0, 1, oldscr, tx2, ty2, 3);
@@ -27791,14 +27791,18 @@ void HeroClass::scrollscr(int32_t scrolldir, int32_t destscr, int32_t destdmap)
2779127791 if(!(XOR(newscr->flags7&fLAYER2BG, DMaps[currdmap].flags&dmfLAYER2BG))) do_layer(framebuf, 0, 2, newscr, tx, ty, 2, false, !(oldscr->flags7&fLAYER2BG));
2779227792
2779327793 //push blocks
27794- do_layer(framebuf, -2, 0, oldscr, tx2, ty2, 3);
27795- do_layer(framebuf, -2, 0, newscr, tx, ty, 2);
27796- if(get_qr(qr_PUSHBLOCK_LAYER_1_2))
27794+ if(get_qr(qr_PUSHBLOCK_SPRITE_LAYER))
2779727795 {
27798- do_layer(framebuf, -2, 1, oldscr, tx2, ty2, 3);
27799- do_layer(framebuf, -2, 1, newscr, tx, ty, 2);
27800- do_layer(framebuf, -2, 2, oldscr, tx2, ty2, 3);
27801- do_layer(framebuf, -2, 2, newscr, tx, ty, 2);
27796+ do_layer(framebuf, -2, 0, oldscr, tx2, ty2, 3);
27797+ do_layer(framebuf, -2, 0, newscr, tx, ty, 2);
27798+ if(get_qr(qr_PUSHBLOCK_LAYER_1_2))
27799+ {
27800+ do_layer(framebuf, -2, 1, oldscr, tx2, ty2, 3);
27801+ do_layer(framebuf, -2, 1, newscr, tx, ty, 2);
27802+ do_layer(framebuf, -2, 2, oldscr, tx2, ty2, 3);
27803+ do_layer(framebuf, -2, 2, newscr, tx, ty, 2);
27804+ }
27805+ do_primitives(framebuf, SPLAYER_PUSHBLOCK, newscr, 0, playing_field_offset);
2780227806 }
2780327807
2780427808 do_walkflags(oldscr, tx2, ty2,3); //show walkflags if the cheat is on
@@ -30475,19 +30479,22 @@ void setup_red_screen_old()
3047530479
3047630480 if(XOR(tmpscr->flags7&fLAYER3BG, DMaps[currdmap].flags&dmfLAYER3BG)) do_layer(scrollbuf, 0, 3, tmpscr, 0, playing_field_offset, 2);
3047730481
30478- if(layer_0_lenscheck (tmpscr)) putscr(scrollbuf, 0, 0, tmpscr);
30482+ if(lenscheck (tmpscr,0 )) putscr(scrollbuf, 0, 0, tmpscr);
3047930483 putscrdoors(scrollbuf,0,0,tmpscr);
3048030484 blit(scrollbuf, framebuf, 0, 0, 0, playing_field_offset, 256, 168);
3048130485 do_layer(framebuf, 0, 1, tmpscr, 0, 0, 2);
3048230486
3048330487 if(!(XOR(tmpscr->flags7&fLAYER2BG, DMaps[currdmap].flags&dmfLAYER2BG))) do_layer(framebuf, 0, 2, tmpscr, 0, 0, 2);
3048430488
30485- do_layer(framebuf, -2, 0, tmpscr, 0, 0, 2);
30486- if(get_qr(qr_PUSHBLOCK_LAYER_1_2))
30489+ if(get_qr(qr_PUSHBLOCK_SPRITE_LAYER))
3048730490 {
30488- do_layer(framebuf, -2, 1, tmpscr, 0, 0, 2);
30489- do_layer(framebuf, -2, 2, tmpscr, 0, 0, 2);
30490- }
30491+ do_layer(framebuf, -2, 0, tmpscr, 0, 0, 2);
30492+ if(get_qr(qr_PUSHBLOCK_LAYER_1_2))
30493+ {
30494+ do_layer(framebuf, -2, 1, tmpscr, 0, 0, 2);
30495+ do_layer(framebuf, -2, 2, tmpscr, 0, 0, 2);
30496+ }
30497+ }
3049130498
3049230499 if(!(msg_bg_display_buf->clip))
3049330500 {
0 commit comments