Browse Source

Update behavior of 'L'

master
cancel 6 years ago
parent
commit
5f3d38cd5e
  1. 12
      sim.c

12
sim.c

@ -704,14 +704,10 @@ BEGIN_DUAL_PHASE_0(loop)
PORT(0, -1, IN | HASTE); PORT(0, -1, IN | HASTE);
END_PORTS END_PORTS
if (IS_AWAKE && DUAL_IS_ACTIVE) { if (IS_AWAKE && DUAL_IS_ACTIVE) {
Usz len = index_of(PEEK(0, -1)); Usz len = index_of(PEEK(0, -1)) + 1;
I32 len_data[1]; I32 len_data[1];
len_data[0] = (I32)len; len_data[0] = (I32)len;
STORE(len_data); STORE(len_data);
if (len == 0)
len = 1;
else if (len > 16)
len = 16;
if (len > width - x - 1) if (len > width - x - 1)
len = width - x - 1; len = width - x - 1;
Mark* m = mbuffer + y * width + x + 1; Mark* m = mbuffer + y * width + x + 1;
@ -731,9 +727,9 @@ BEGIN_DUAL_PHASE_1(loop)
len = width - x - 1; len = width - x - 1;
if (len == 0) if (len == 0)
return; return;
if (len > 16) if (len > 36)
len = 16; len = 36;
Glyph buff[16]; Glyph buff[36];
Glyph* gs = gbuffer + y * width + x + 1; Glyph* gs = gbuffer + y * width + x + 1;
Glyph hopped = *gs; Glyph hopped = *gs;
// ORCA_MEMCPY(buff, gs + 1, len - 1); // ORCA_MEMCPY(buff, gs + 1, len - 1);

Loading…
Cancel
Save