Browse Source

Add 'V'

master
cancel 6 years ago
parent
commit
376003a4b4
  1. 23
      sim.c

23
sim.c

@ -617,12 +617,29 @@ BEGIN_DUAL_PHASE_0(beam)
if (height < max_y) if (height < max_y)
max_y = height; max_y = height;
Glyph* col = gbuffer + x; Glyph* col = gbuffer + x;
for (Usz y0 = y + 1; y0 < max_y; ++y0) { Usz y0 = y;
Glyph g = col[width * y0]; for (;;) {
(void)g; if (y0 + 1 == max_y)
break;
Glyph g = col[width * (y0 + 1)];
if (g == '.' || g == '*')
break;
++y0;
} }
I32 val_y[1];
val_y[0] = (I32)(y - y0);
STORE(val_y);
REALIZE_DUAL;
BEGIN_DUAL_PORTS
PORT(val_y[0], 0, OUT | NONLOCKING);
END_PORTS
END_PHASE END_PHASE
BEGIN_DUAL_PHASE_1(beam) BEGIN_DUAL_PHASE_1(beam)
STOP_IF_NOT_BANGED;
I32 val_y[1];
if (!LOAD(val_y))
val_y[0] = 1;
POKE(val_y[0], 0, '.');
END_PHASE END_PHASE
BEGIN_DUAL_PHASE_0(teleport) BEGIN_DUAL_PHASE_0(teleport)

Loading…
Cancel
Save