Skip to content

Commit dd365e8

Browse files
committed
feat: Can now disable pushblock draw layer [QR Pushable Block Sprite Layer]
1 parent 4799cb0 commit dd365e8

File tree

10 files changed

+106
-60
lines changed

10 files changed

+106
-60
lines changed

src/base/qrs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ enum
176176
qr_SCROLLWARP_NO_RESET_FRAME, qr_BROKEN_RAFT_SCROLL, qr_BROKEN_INPUT_DOWN_STATE, qr_OLD_GUY_HANDLING,
177177
//52
178178
qr_FREEFORM_SUBSCREEN_CURSOR, qr_SUBSCR_PRESS_TO_EQUIP, qr_FAIRY_FLAG_COMPAT, qr_MIRROR_PRISM_LAYERS,
179-
qr_OLD_LENS_LAYEREFFECT,
179+
qr_OLD_LENS_LAYEREFFECT, qr_PUSHBLOCK_SPRITE_LAYER,
180180
//EMILY SPOT
181181
//60
182182
//CONNOR SPOT qr_ = 60*8,

src/base/zdefs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ enum {ENC_METHOD_192B104=0, ENC_METHOD_192B105, ENC_METHOD_192B185, ENC_METHOD_2
251251
#define V_SFX 8
252252
#define V_FAVORITES 3
253253

254-
#define V_COMPATRULE 50
254+
#define V_COMPATRULE 51
255255
#define V_ZINFO 3
256256

257257
//= V_SHOPS is under V_MISC

src/dialog/quest_rules.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,9 @@ static GUI::ListData comboRulesList
238238
{ "Moving pushblock switch blocks obey switch toggle", qr_SWITCHES_AFFECT_MOVINGBLOCKS,
239239
"If enabled, when a crystal switch toggles, it will toggle any"
240240
" pushblocks that are currently moving, while they are moving."},
241+
{ "Pushable Block Sprite Layer", qr_PUSHBLOCK_SPRITE_LAYER,
242+
"If enabled, pushable blocks draw to a 'block sprite layer'."
243+
" pushblocks that are currently moving, while they are moving."},
241244
{ "Burn Flags Are Triggered Instantly", qr_INSTABURNFLAGS,
242245
"Makes it so Fire weapons instantly trigger secrets upon touching"
243246
" a burn spot. If this rule is disabled, fire weapons need to linger"

src/qst.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3774,6 +3774,8 @@ int32_t readrules(PACKFILE *f, zquestheader *Header)
37743774
set_qr(qr_FAIRY_FLAG_COMPAT,1);
37753775
if(compatrule_version < 50)
37763776
set_qr(qr_OLD_LENS_LAYEREFFECT,1);
3777+
if(compatrule_version < 51)
3778+
set_qr(qr_PUSHBLOCK_SPRITE_LAYER,1);
37773779

37783780
set_qr(qr_ANIMATECUSTOMWEAPONS,0);
37793781
if (s_version < 16)

src/sprite.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2749,6 +2749,18 @@ void movingblock::draw(BITMAP *dest)
27492749
}
27502750
}
27512751

2752+
bool movingblock::draw(BITMAP* dest, int layer)
2753+
{
2754+
if(!(fallclk || drownclk || clk)) return false;
2755+
if(layer < 0 || blockLayer == layer)
2756+
{
2757+
zprint2("mblock2.draw for layer %d\n", layer);
2758+
draw(dest);
2759+
return true;
2760+
}
2761+
return false;
2762+
}
2763+
27522764
//Portal
27532765
portal::portal()
27542766
{

src/sprite.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,7 @@ class movingblock : public sprite
301301
bool check_trig() const;
302302
virtual bool animate(int32_t index);
303303
virtual void draw(BITMAP *dest);
304+
bool draw(BITMAP *dest, int layer);
304305
};
305306

306307
class portal : public sprite

src/zc/hero.cpp

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -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
{

src/zc/maps.cpp

Lines changed: 48 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3274,11 +3274,20 @@ void do_scrolling_layer(BITMAP *bmp, int32_t type, int32_t layer, mapscr* basesc
32743274
}
32753275
}
32763276

3277-
bool layer_0_lenscheck(mapscr* basescr)
3277+
bool lenscheck(mapscr* basescr, int layer)
32783278
{
3279-
if(!get_qr(qr_OLD_LENS_LAYEREFFECT))
3280-
if((lensclk ? basescr->lens_hide : basescr->lens_show) & (1<<0))
3279+
if(layer < 0 || layer > 6) return true;
3280+
if(get_qr(qr_OLD_LENS_LAYEREFFECT))
3281+
{
3282+
if(!layer) return true;
3283+
if((layer==(int32_t)(basescr->lens_layer&7)+1) && ((basescr->lens_layer&llLENSSHOWS && !lensclk) || (basescr->lens_layer&llLENSHIDES && lensclk)))
3284+
return false;
3285+
}
3286+
else
3287+
{
3288+
if((lensclk ? basescr->lens_hide : basescr->lens_show) & (1<<layer))
32813289
return false;
3290+
}
32823291
return true;
32833292
}
32843293
void do_layer(BITMAP *bmp, int32_t type, int32_t layer, mapscr* basescr, int32_t x, int32_t y, int32_t tempscreen, bool scrolling, bool drawprimitives)
@@ -3363,27 +3372,24 @@ void do_layer(BITMAP *bmp, int32_t type, int32_t layer, mapscr* basescr, int32_t
33633372

33643373
if(!type)
33653374
{
3366-
if(get_qr(qr_OLD_LENS_LAYEREFFECT))
3367-
{
3368-
if((layer==(int32_t)(basescr->lens_layer&7)+1) && ((basescr->lens_layer&llLENSSHOWS && !lensclk) || (basescr->lens_layer&llLENSHIDES && lensclk)))
3369-
showlayer = false;
3370-
}
3371-
else
3372-
{
3373-
if((lensclk ? basescr->lens_hide : basescr->lens_show) & (1<<layer))
3374-
showlayer = false;
3375-
}
3375+
if(!lenscheck(basescr,layer))
3376+
showlayer = false;
33763377
}
33773378

33783379

33793380
if(showlayer)
33803381
{
33813382
if(type || !(basescr->hidelayers & (1 << (layer))))
3383+
{
33823384
do_scrolling_layer(bmp, type, layer, basescr, x, y, scrolling, tempscreen);
3385+
if(!type && !get_qr(qr_PUSHBLOCK_SPRITE_LAYER))
3386+
if(mblock2.draw(bmp,layer))
3387+
do_primitives(bmp, SPLAYER_MOVINGBLOCK, basescr, 0, playing_field_offset);
3388+
}
33833389

33843390
if(!type && drawprimitives && layer > 0 && layer <= 6)
33853391
{
3386-
do_primitives(bmp, layer, basescr, 0, playing_field_offset);
3392+
do_primitives(bmp, layer, basescr, 0, playing_field_offset);
33873393
}
33883394
}
33893395
}
@@ -3910,8 +3916,13 @@ void draw_screen(mapscr* this_screen, bool showhero, bool runGeneric)
39103916
}
39113917

39123918

3913-
if(layer_0_lenscheck(this_screen))
3919+
if(lenscheck(this_screen,0))
3920+
{
39143921
putscr(scrollbuf,0,playing_field_offset,this_screen);
3922+
if(!get_qr(qr_PUSHBLOCK_SPRITE_LAYER))
3923+
if(mblock2.draw(scrollbuf,0))
3924+
do_primitives(scrollbuf, SPLAYER_MOVINGBLOCK, this_screen, 0, playing_field_offset);
3925+
}
39153926

39163927
// Lens hints, then primitives, then particles.
39173928
if((lensclk || (get_debug() && zc_getkey(KEY_L))) && !get_qr(qr_OLDLENSORDER))
@@ -3920,7 +3931,7 @@ void draw_screen(mapscr* this_screen, bool showhero, bool runGeneric)
39203931
do_primitives(scrollbuf, SPLAYER_LENS_UNDER_1, this_screen, 0, playing_field_offset);
39213932
}
39223933

3923-
if(show_layer_0 && layer_0_lenscheck(this_screen))
3934+
if(show_layer_0 && lenscheck(this_screen,0))
39243935
do_primitives(scrollbuf, 0, this_screen, 0, playing_field_offset);
39253936

39263937
particles.draw(temp_buf, true, -3);
@@ -4006,14 +4017,16 @@ void draw_screen(mapscr* this_screen, bool showhero, bool runGeneric)
40064017
}
40074018
}
40084019

4009-
do_layer(scrollbuf, -2, 0, this_screen, 0, 0, 2); // push blocks!
4010-
if(get_qr(qr_PUSHBLOCK_LAYER_1_2))
4020+
if(get_qr(qr_PUSHBLOCK_SPRITE_LAYER))
40114021
{
4012-
do_layer(scrollbuf, -2, 1, this_screen, 0, 0, 2); // push blocks!
4013-
do_layer(scrollbuf, -2, 2, this_screen, 0, 0, 2); // push blocks!
4022+
do_layer(scrollbuf, -2, 0, this_screen, 0, 0, 2); // push blocks!
4023+
if(get_qr(qr_PUSHBLOCK_LAYER_1_2))
4024+
{
4025+
do_layer(scrollbuf, -2, 1, this_screen, 0, 0, 2); // push blocks!
4026+
do_layer(scrollbuf, -2, 2, this_screen, 0, 0, 2); // push blocks!
4027+
}
4028+
do_primitives(scrollbuf, SPLAYER_PUSHBLOCK, this_screen, 0, playing_field_offset);
40144029
}
4015-
do_primitives(scrollbuf, SPLAYER_PUSHBLOCK, this_screen, 0, playing_field_offset);
4016-
40174030
//Show walkflags cheat
40184031
do_walkflags(this_screen,0,0,2);
40194032
do_effectflags(this_screen,0,0,2);
@@ -4164,9 +4177,11 @@ void draw_screen(mapscr* this_screen, bool showhero, bool runGeneric)
41644177

41654178
if(showhero && ((Hero.getAction()!=climbcovertop)&& (Hero.getAction()!=climbcoverbottom)))
41664179
{
4167-
mblock2.draw(framebuf);
4168-
do_primitives(framebuf, SPLAYER_MOVINGBLOCK, this_screen, 0, playing_field_offset);
4169-
4180+
if(get_qr(qr_PUSHBLOCK_SPRITE_LAYER))
4181+
{
4182+
mblock2.draw(framebuf,-1);
4183+
do_primitives(framebuf, SPLAYER_MOVINGBLOCK, this_screen, 0, playing_field_offset);
4184+
}
41704185
if(!Hero.isSwimming())
41714186
{
41724187
if((Hero.getZ()>0 || Hero.getFakeZ()>0) &&(!get_qr(qr_SHADOWSFLICKER)||frame&1))
@@ -6660,17 +6675,20 @@ void ViewMap()
66606675

66616676
if(XOR((tmpscr)->flags7&fLAYER3BG, DMaps[currdmap].flags&dmfLAYER3BG)) do_layer(scrollbuf, 0, 3, tmpscr, -256, playing_field_offset, 2);
66626677

6663-
if(layer_0_lenscheck(tmpscr)) putscr(scrollbuf,256,0,tmpscr);
6678+
if(lenscheck(tmpscr,0)) putscr(scrollbuf,256,0,tmpscr);
66646679
do_layer(scrollbuf, 0, 1, tmpscr, -256, playing_field_offset, 2);
66656680

66666681
if(!XOR(((tmpscr)->flags7&fLAYER2BG), DMaps[currdmap].flags&dmfLAYER2BG)) do_layer(scrollbuf, 0, 2, tmpscr, -256, playing_field_offset, 2);
66676682

66686683
putscrdoors(scrollbuf,256,0,tmpscr);
6669-
do_layer(scrollbuf,-2, 0, tmpscr, -256, playing_field_offset, 2);
6670-
if(get_qr(qr_PUSHBLOCK_LAYER_1_2))
6684+
if(get_qr(qr_PUSHBLOCK_SPRITE_LAYER))
66716685
{
6672-
do_layer(scrollbuf,-2, 1, tmpscr, -256, playing_field_offset, 2);
6673-
do_layer(scrollbuf,-2, 2, tmpscr, -256, playing_field_offset, 2);
6686+
do_layer(scrollbuf,-2, 0, tmpscr, -256, playing_field_offset, 2);
6687+
if(get_qr(qr_PUSHBLOCK_LAYER_1_2))
6688+
{
6689+
do_layer(scrollbuf,-2, 1, tmpscr, -256, playing_field_offset, 2);
6690+
do_layer(scrollbuf,-2, 2, tmpscr, -256, playing_field_offset, 2);
6691+
}
66746692
}
66756693
do_layer(scrollbuf,-3, 0, tmpscr, -256, playing_field_offset, 2); // Freeform combos!
66766694

src/zc/maps.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ bool hitflag(int32_t x, int32_t y, int32_t flagtype, byte layers = 0b0000001);
138138
int32_t nextscr(int32_t dir);
139139
void bombdoor(int32_t x,int32_t y);
140140
void do_scrolling_layer(BITMAP *bmp, int32_t type, int32_t layer, mapscr* basescr, int32_t x, int32_t y, bool scrolling, int32_t tempscreen);
141-
bool layer_0_lenscheck(mapscr* basescr);
141+
bool lenscheck(mapscr* basescr, int layer);
142142
void do_layer(BITMAP *bmp, int32_t type, int32_t layer, mapscr* basescr, int32_t x, int32_t y, int32_t tempscreen, bool scrolling = false, bool drawprimitives=false);
143143
void put_walkflags(BITMAP *dest,int32_t x,int32_t y,int32_t xofs,int32_t yofs, word cmbdat,int32_t lyr);
144144
void do_walkflags(mapscr* layer,int32_t x, int32_t y, int32_t tempscreen);

src/zc/zc_sys.cpp

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4052,17 +4052,20 @@ int32_t onSaveMapPic()
40524052

40534053
if(XOR((tmpscr+1)->flags7&fLAYER3BG, DMaps[currdmap].flags&dmfLAYER3BG)) do_layer(_screen_draw_buffer, 0, 3, tmpscr+1, -256, playing_field_offset, 2);
40544054

4055-
if(layer_0_lenscheck(tmpscr+1)) putscr(_screen_draw_buffer,256,0,tmpscr+1);
4055+
if(lenscheck(tmpscr+1,0)) putscr(_screen_draw_buffer,256,0,tmpscr+1);
40564056
do_layer(_screen_draw_buffer, 0, 1, tmpscr+1, -256, playing_field_offset, 2);
40574057

40584058
if(!XOR((tmpscr+1)->flags7&fLAYER2BG, DMaps[currdmap].flags&dmfLAYER2BG)) do_layer(_screen_draw_buffer, 0, 2, tmpscr+1, -256, playing_field_offset, 2);
40594059

40604060
putscrdoors(_screen_draw_buffer,256,0,tmpscr+1);
4061-
do_layer(_screen_draw_buffer, -2, 0, tmpscr+1, -256, playing_field_offset, 2);
4062-
if(get_qr(qr_PUSHBLOCK_LAYER_1_2))
4061+
if(get_qr(qr_PUSHBLOCK_SPRITE_LAYER))
40634062
{
4064-
do_layer(_screen_draw_buffer, -2, 1, tmpscr+1, -256, playing_field_offset, 2);
4065-
do_layer(_screen_draw_buffer, -2, 2, tmpscr+1, -256, playing_field_offset, 2);
4063+
do_layer(_screen_draw_buffer, -2, 0, tmpscr+1, -256, playing_field_offset, 2);
4064+
if(get_qr(qr_PUSHBLOCK_LAYER_1_2))
4065+
{
4066+
do_layer(_screen_draw_buffer, -2, 1, tmpscr+1, -256, playing_field_offset, 2);
4067+
do_layer(_screen_draw_buffer, -2, 2, tmpscr+1, -256, playing_field_offset, 2);
4068+
}
40664069
}
40674070
do_layer(_screen_draw_buffer, -3, 0, tmpscr+1, -256, playing_field_offset, 2); // Freeform combos!
40684071

0 commit comments

Comments
 (0)